Namespace PHPStan\Reflection

Classes
Assertions
AttributeReflection
ClassReflection
EnumCaseReflection
ExtendedFunctionVariant
FunctionVariant
GenericParametersAcceptorResolver
InitializerExprContext
InitializerExprTypeResolver
ParametersAcceptorSelector
PassedByReference
TrivialParametersAcceptor
Interfaces
AdditionalConstructorsExtension

This is the extension interface to implement if you want to dynamically mark methods as constructor. As opposed to simply list them in the configuration file. To register it in the configuration file use the phpstan.additionalConstructorsExtension service tag: ``` services: - class: App\PHPStan\MyExtension tags: - phpstan.additionalConstructorsExtension

AllowedSubTypesClassReflectionExtension

This is the extension interface to implement if you want to described allowed subtypes - to limit which classes can implement a certain interface or extend a certain parent class. To register it in the configuration file use the phpstan.broker.allowedSubTypesClassReflectionExtension service tag: ``` services: - class: App\PHPStan\MyExtension tags: - phpstan.broker.allowedSubTypesClassReflectionExtension

ClassConstantReflection
ClassMemberAccessAnswerer
ClassMemberReflection
ConstantReflection
ExtendedMethodReflection

The purpose of this interface is to be able to answer more questions about methods without breaking backward compatibility with existing MethodsClassReflectionExtension. Developers are meant to only implement MethodReflection and its methods in their code. New methods on ExtendedMethodReflection will be added in minor versions.

ExtendedParameterReflection
ExtendedParametersAcceptor
ExtendedPropertyReflection

The purpose of this interface is to be able to answer more questions about properties without breaking backward compatibility with existing PropertiesClassReflectionExtension. Developers are meant to only implement PropertyReflection and its methods in their code. New methods on ExtendedPropertyReflection will be added in minor versions.

FunctionReflection
MethodReflection
MethodsClassReflectionExtension

This is the interface custom methods class reflection extensions implement. To register it in the configuration file use the phpstan.broker.methodsClassReflectionExtension service tag: ``` services: - class: App\PHPStan\MyMethodsClassReflectionExtension tags: - phpstan.broker.methodsClassReflectionExtension

NamespaceAnswerer
ParameterReflection
ParametersAcceptor
PropertiesClassReflectionExtension

This is the interface custom properties class reflection extensions implement. To register it in the configuration file use the phpstan.broker.propertiesClassReflectionExtension service tag: ``` services: - class: App\PHPStan\MyPropertiesClassReflectionExtension tags: - phpstan.broker.propertiesClassReflectionExtension

PropertyReflection
ReflectionProvider
Namespaces
PHPStan\Reflection\Callables
PHPStan\Reflection\Deprecation
PHPStan\Reflection\Php