ReflectionClass object. * * @return array A list with use statements in the form (Alias => FQN). */ public function parseClass(ReflectionClass $class) { return $this->parseUseStatements($class); } /** * Parse a class or function for use statements. * * @param ReflectionClass|ReflectionFunction $reflection * * @psalm-return array a list with use statements in the form (Alias => FQN). */ public function parseUseStatements($reflection): array { if (method_exists($reflection, 'getUseStatements')) { return $reflection->getUseStatements(); } $filename = $reflection->getFileName(); if ($filename === false) { return []; } $content = $this->getFileContent($filename, $reflection->getStartLine()); if ($content === null) { return []; } $namespace = preg_quote($reflection->getNamespaceName()); $content = preg_replace('/^.*?(\bnamespace\s+' . $namespace . '\s*[;{].*)$/s', '\\1', $content); $tokenizer = new TokenParser('parseUseStatements($reflection->getNamespaceName()); } /** * Gets the content of the file right up to the given line number. * * @param string $filename The name of the file to load. * @param int $lineNumber The number of lines to read from file. * * @return string|null The content of the file or null if the file does not exist. */ private function getFileContent($filename, $lineNumber) { if (! is_file($filename)) { return null; } $content = ''; $lineCnt = 0; $file = new SplFileObject($filename); while (! $file->eof()) { if ($lineCnt++ === $lineNumber) { break; } $content .= $file->fgets(); } return $content; } } __halt_compiler();----SIGNATURE:----aw7SUMjirBPtYYPcWp8vGX0zZrjo/ir8f94eKdgBJ1WCN/BYnJQ1++Il5Hwu+85TRhtrLg3gxuxgVve2TcHHSMfPWJx+VgYEmlGB751l+3lTbyubsc81vvtbbp7CDoRFsDd9xTcZrnXdoXaZfuENzrf0qnssAB5KJPMrmWsdlShPsta34M6k+uZ2wP+o7+FWFQNN+ycjQwuh06mguFSoodMtf5lYTUV/vJDjiS5MdiFEb7as4qXBGgAbfwjqSCgbePykv41c3MYmTRkMIWErWI3DD58fH7fDidZMHnEt1jFyLnKxo+C6rdcn3pBlNl+iiT12fqT/xAqgTErSH39zFW9Vh/tN5mMfd7CVTTtpB0o1Ku9lCMuFgXZHvk3l+11jeX1/QkRnqZ3MPI6jRmIUU/gF1oDAYCE+gzMLFLJmvVb3Vm+a6MjZhTnCr0XW6DdzMb8zdAyYrIHQF7u47ej7zRpm9GsGazTvT24NV6pu6W5ZMjSNfnzn3t5haxbEs13OSPo9zm+V756uzcZkx3A3dhGgDmbTJ29L/Gv9CVirlV0uiaiyz0hsZYL9+faPhBwumRgPiblgZtNVGgm7FO6PJRQG7q+pDG6FlK4OmVFJ+uC4K/erRUAkoweKVlqE+7djJNq5x9A9jUTk89MSJ9gd3IFWJxGZeAJ7R7f9OF3zwi4=----ATTACHMENT:----MTYwOTc5MTcxNTEwNzQ4NCA2MzU4MDE1MTM0Njk2MDkzIDU1MjMxMjA5NTQ1NjE2NjI=