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:----DmD7gHoiPfA5Lwl2eUAZ//lzLXgYgt6UAgI3YEHbKp2gC0uDxFUiTZx35nYdx9ocF/fhpASQqfI/x7WKhYXMQn7HPSM6Qi52OQc54kq6qTTuMmx143rBR9wazTMJhFFW67Ade5IrvsQtSsKTU7uZXhT/JMdMR4InFSwvH+K5O0dB3OY5uIdd9QaWFn71z48HQ1XAsTsp64X4L3oq7/xLn39ggqdXq2Y1xsqk6eOK62NOuZSgwTvQas9N3d9MldsjMu51oQ/V9AtLrkZ5ZNfQgl9IJTJKniRLUhDPChH5Uduh4p+XK0FtwSHDXex8MAuEb/Q1BuGvWqw/U4hnUQHODVRdf6uhFSCuJWNGhARffyJSmKnau/3R294S5CcGD5/Glc4RZxnQm4M4EDkIoCPruJXSXg8I8qf7g0LaEx0TyATq5glm9D8IItkJldv5hG3jPeiy1MeSdP1P/jTqe0dcEM1t68748ElxOWQY7zy9SAPhIc0+SLRNGPuy/j0jwbGILoQ91Bc+ffLgG3MkEzveJwkE6FaW5J9/1Iybkylf0F/wHk3LXF66GWdkKW4g8SCwE+t2+TYqIMBbuIyQUV9h/MIiidoZ0E9ctfEtZvJ6zpsTtcjLU3CHgrkBhElwYW4fizwen4Z4aEd39T0ySMMnJKI/1ktUFXhG1XBfU0n8iCo=----ATTACHMENT:----NDMzMDQzMjQ3ODQxNTM1NyA1Njc1NjczMjE4MTM4ODg0IDgyNTkzMDcxNTg4Mzc2NA==