Namespace PHPStan\Analyser

Classes
ArgumentsNormalizer
EndStatementResult
Error
ImpurePoint
InternalError
MutatingScope
NameScope
NodeCallbackScope
NodeScopeResolver
OutOfClassScope
ScopeContext
ScopeFactory
SpecifiedTypes
StatementContext

Object of this class is one of the parameters of NodeScopeResolver::processStmtNodes().

StatementExitPoint
StatementResult
ThrowPoint
TypeSpecifier
TypeSpecifierContext
Interfaces
CollectedDataEmitter

The interface CollectedDataEmitter can be typehinted in 2nd parameter of Rule::processNode():

DeclarationDependencyTracker

DependencyTracker for extensions that get no Scope because they describe a class rather than analyse code - class reflection extensions adding magic methods and properties, for example. Inject it into the extension's constructor.

DependencyTracker

The interface DependencyTracker can be typehinted in 2nd parameter of Rule::processNode() and Collector::processNode(), and in the Scope parameter of dynamic return type extensions, dynamic throw type extensions, expression type resolver extensions, parameter out type extensions, parameter closure type extensions, parameter closure this extensions and type-specifying extensions:

IgnoreErrorExtension

This is the extension interface to implement if you want to ignore errors based on the node and scope.

NodeCallbackInvoker

The interface NodeCallbackInvoker can be typehinted in 2nd parameter of Rule::processNode():

Scope

Represents the state of the analyser at a specific position in the AST.

TypeSpecifierAwareExtension
Exceptions
UndefinedVariableException
Namespaces
PHPStan\Analyser\ResultCache