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:----X6dDMczstP97b3RsEy1T74HM1+wsoUcbMAp9soVRe2IGPFakcFwsWRJCfoCxg3yQpHu7jGRfY7U1QOzDV0BIrKnx06yMv2nsEpPMuGogj0D1TNupd2sQeoaaDZhSFU2T8KWu3jHCbYKRsDBgT+751/KLmU/A9IAdzp4LmUvfEW3PIkJyifJ6sxCD7LPu2nkngi1jWMm/pRBvt+juhxG/LW6WXbd8qo6iRmACeQ67dxQ84wPIPZqR+gEsQ65CIamK/qSsOIBeOC25en+fJ+/DEuu+Wac/hHNUaTimknHyoGJ5/3UNhNrtRzlozO8Jmhq/W93BHaA0I20P3yENmk9W7q0rX05qLYRTu/+SWr87ENjU7S43P3uTNbRMG2Dv1ezD8JccL4ABJ68rwvMjgHaD/kv2jyU6h/yBjZF/D5u1EQmkmQCmfuJeGXoYw00W1nb3wYra6KbxuDOrZtlpF1bkraj6Yq9w6b2ASgU6jmQ7kkcydwqOvjhy0b5aR9+LXRUwIxJ5bcpMM4Lzcd8DgoZo2JOBGG8U78Zm633hh0ecK3APP0imOikg3CflbTC66bFA581AzdfFXuSxID0E0TAfbTxmaXBlur54UxN6Ko8ixzU/LgDC1SFRsv6Mqv02/n6DXenefRDWjqr+ZQofCzsQDnT4cGfd5GdIFw5QCv/vyWM=----ATTACHMENT:----MjQxNjg5Mjc2OTI3MzExNCA3MTYxMDM5ODAxNTA3ODY0IDYxNzI3MjI2Nzg1OTk0OQ==