class AttributeClassNameResolver

Read the class name an attribute argument gives, as instantiating the attribute evaluates it.

Methods

__construct(InitializerExprTypeResolver $initializerExprTypeResolver, DeclarationDependencyTracker $declarationDependencyTracker)

Create an attribute class name resolver.

string|null
resolve(Expr|null $argument, ClassReflection $sourceReflection, ClassReflection $dependentReflection)

Resolve the class name that an argument of an attribute on the source class gives, such as Foo::class or a class constant holding one, for the class whose declarations depend on it.

Details

at line 29
__construct(InitializerExprTypeResolver $initializerExprTypeResolver, DeclarationDependencyTracker $declarationDependencyTracker)

Create an attribute class name resolver.

Parameters

InitializerExprTypeResolver $initializerExprTypeResolver
DeclarationDependencyTracker $declarationDependencyTracker

at line 39
string|null resolve(Expr|null $argument, ClassReflection $sourceReflection, ClassReflection $dependentReflection)

Resolve the class name that an argument of an attribute on the source class gives, such as Foo::class or a class constant holding one, for the class whose declarations depend on it.

Parameters

Expr|null $argument
ClassReflection $sourceReflection
ClassReflection $dependentReflection

Return Value

string|null