DescriptorRepository

in package

Properties

private$elementList  : \phpDocumentor\Descriptor\DescriptorAbstract[]                

Methods

Attempts to find a Descriptor object alias with the FQSEN of the element it represents.

publicfindAlias(string $fqsen[, DescriptorAbstract|null $container = null ]) : DescriptorAbstract|string|null

This method will try to fetch an element after normalizing the provided FQSEN. The FQSEN may contain references (bindings) that can only be resolved during linking (such as self) or it may contain a context marker \phpDocumentor\Compiler\Linker\CONTEXT_MARKER.

If there is a context marker then this method will see if a child of the given container exists that matches the element following the marker. If such a child does not exist in the current container then the namespace is queried if a child exists there that matches.

For example:

Given the Fqsen `@context::myFunction()` and the lastContainer `\My\Class` will this method first check
to see if `\My\Class::myFunction()` exists; if it doesn't it will then check if `\My\myFunction()` exists.

If neither element exists then this method assumes it is an undocumented class/trait/interface and change the given FQSEN by returning the namespaced element name (thus in the example above that would be \My\myFunction()). The calling method \phpDocumentor\Compiler\Linker\substitute() will then replace the value of the field containing the context marker with this normalized string.

Parameters

$fqsen : string
$container : DescriptorAbstract|null = null

Returns

DescriptorAbstract|string|null

Sets the list of object aliases to resolve the FQSENs with.

publicsetObjectAliasesList(\phpDocumentor\Descriptor\DescriptorAbstract[] $elementList) : void

Parameters

$elementList : \phpDocumentor\Descriptor\DescriptorAbstract[]

Replaces pseudo-types, such as `self`, into a normalized version based on the last container that was encountered.

privatereplacePseudoTypes(string $fqsen, DescriptorAbstract $container) : string

Parameters

$fqsen : string
$container : DescriptorAbstract

Returns

string

Returns true if the context marker is found in the given FQSEN.

privateisContextMarkerInFqsen(string $fqsen) : bool

Parameters

$fqsen : string

Returns

bool

Normalizes the given FQSEN as if the context marker represents a class/interface/trait as parent.

privategetTypeWithClassAsContext(string $fqsen, DescriptorAbstract $container) : string

Parameters

$fqsen : string
$container : DescriptorAbstract

Returns

string

Normalizes the given FQSEN as if the context marker represents a class/interface/trait as parent.

privategetTypeWithNamespaceAsContext(string $fqsen, DescriptorAbstract $container) : string

Parameters

$fqsen : string
$container : DescriptorAbstract

Returns

string

Normalizes the given FQSEN as if the context marker represents the global namespace as parent.

privategetTypeWithGlobalNamespaceAsContext(string $fqsen) : string

Parameters

$fqsen : string

Returns

string

Attempts to find an element with the given Fqsen in the list of elements for this project and returns null if it cannot find it.

privatefetchElementByFqsen(string $fqsen) : DescriptorAbstract|null

Parameters

$fqsen : string

Returns

DescriptorAbstract|null