class PhpDocTypeNameResolver

Properties

protected array<string, array{imports: array<string, array<string, class-string>>, namespaces: array<int, string>}> $sources

Methods

string
resolve(string $name, ReflectionClass $class)

Resolve a PHPDoc type name in its declaring class context.

string
namespaceFor(ReflectionClass $class)

Get the namespace a class is declared in.

array
importsFor(ReflectionClass $class, string $namespace)

Get the class imports declared for a namespace by the source file.

array
source(string $file)

Get the parsed imports and namespace declarations of a source file.

array
parseSource(string $file)

Parse class imports and namespace declaration lines from a PHP source file.

array
parseNamespace(array $tokens, int $index)

Parse a namespace declaration.

array
collectUseStatement(array $tokens, int $index)

Collect the tokens belonging to one use statement.

array
parseUseStatement(array $tokens)

Parse one normal or grouped use statement.

array
parseImportEntries(array $tokens, string $prefix = '')

Parse comma-separated import entries.

PhpToken|null
nextSignificantToken(array $tokens, int $index)

Find the next non-ignorable token.

string
joinTokenText(array $tokens)

Join token text without whitespace or comments.

static bool
isBuiltIn(string $type)

Determine if the type is built into PHP or PHPDoc.

Details

at line 21
string resolve(string $name, ReflectionClass $class)

Resolve a PHPDoc type name in its declaring class context.

Parameters

string $name
ReflectionClass $class

Return Value

string

at line 51
protected string namespaceFor(ReflectionClass $class)

Get the namespace a class is declared in.

An anonymous class is named after its parent, so its namespace comes from its position in the source file.

Parameters

ReflectionClass $class

Return Value

string

at line 78
protected array importsFor(ReflectionClass $class, string $namespace)

Get the class imports declared for a namespace by the source file.

Parameters

ReflectionClass $class
string $namespace

Return Value

array

at line 94
protected array source(string $file)

Get the parsed imports and namespace declarations of a source file.

Parameters

string $file

Return Value

array

at line 104
protected array parseSource(string $file)

Parse class imports and namespace declaration lines from a PHP source file.

Parameters

string $file

Return Value

array

at line 170
protected array parseNamespace(array $tokens, int $index)

Parse a namespace declaration.

Parameters

array $tokens
int $index

Return Value

array

at line 195
protected array collectUseStatement(array $tokens, int $index)

Collect the tokens belonging to one use statement.

Parameters

array $tokens
int $index

Return Value

array

at line 218
protected array parseUseStatement(array $tokens)

Parse one normal or grouped use statement.

Parameters

array $tokens

Return Value

array

at line 238
protected array parseImportEntries(array $tokens, string $prefix = '')

Parse comma-separated import entries.

Parameters

array $tokens
string $prefix

Return Value

array

at line 274
protected PhpToken|null nextSignificantToken(array $tokens, int $index)

Find the next non-ignorable token.

Parameters

array $tokens
int $index

Return Value

PhpToken|null

at line 290
protected string joinTokenText(array $tokens)

Join token text without whitespace or comments.

Parameters

array $tokens

Return Value

string

at line 306
static protected bool isBuiltIn(string $type)

Determine if the type is built into PHP or PHPDoc.

Parameters

string $type

Return Value

bool