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:----NDIoT/+0Y7h2L2Usn5DI8TZn0wsXO9Wy05v+0vF8L0dU3sIGd8ALrzn+bRta0IgTQCSzIuMz4oEbRs/PtvRbBlYhbkdUgMmI1abO31FGfIEr3d82OjSWc5113Dg5iz+KwzVcS6CDg0EmmltWz6LIjulVbDwVqbIvag/u+a01kxPpsezEOZT1hpg1hDY2ZSF63vVPn7OVL8msPZJpGKvXTirAyNv6SpV9qP1J+bymuJVQ3AwbkrOiBboeGxQf7nzblsBp+IHEcECv2eCKjqekC5Skx0ROChJ3o7kOUzT/8tuTrGRbKL0b71HXPNY/iF1KfXcA6QmhbcQcoWXAdawOw9de9ZU87UKKY4v5FcYBjTwRMueEz4L/0O7+LO9YO3gdDPZKFZQT/IZx+dJLoC85RwaxBXmJay6JNEm3PnRytwm7B5AGcwo5W0xVwxU5vVid0kDduCm/qZDOj9RMrHnuhcoZXGBy+Je95LAZ4OCD7L0I/IKxKXkGFZY/gwRtP0vNdGVJsdUDIMoKakv9JOyrTCRT1RAKpSW643TAV9rDBJDTV2j66S50wtJyGJm2mw1/YCEfZs89BbusOaHMIP8/p8BflqheU+oCKii8JecLgnQMGU8XvZZAWrT6LeFm9A01z8bCp2P4M3T4Ls+R+vI27361yeejKu/kGvBrO0rmP7U=----ATTACHMENT:----Njk2NjUzMDc5ODk5MzQ5IDM0NjQ3NzI0MTUzMDgwMzkgNDg3OTgwMjAxMzUzNjM1MQ==