PHP Class Pinq\Analysis\ExpressionAnalyser

Author: Elliot Levin ([email protected])
Inheritance: extends Pinq\Expressions\ExpressionVisitor, implements Pinq\Analysis\IExpressionAnalyser
Afficher le fichier Open project: timetoogo/pinq Class Usage Examples

Protected Properties

Свойство Type Description
$analysis SplObjectStorage | Pinq\Analysis\IType[]
$analysisContext Pinq\Analysis\IAnalysisContext
$metadata SplObjectStorage
$typeSystem Pinq\Analysis\ITypeSystem

Méthodes publiques

Méthode Description
__construct ( Pinq\Analysis\ITypeSystem $typeSystem )
analyse ( Pinq\Analysis\IAnalysisContext $analysisContext, Expression $expression )
createAnalysisContext ( Pinq\Expressions\IEvaluationContext $evaluationContext )
getTypeSystem ( )
visitArgument ( ArgumentExpression $expression )
visitArray ( ArrayExpression $expression )
visitArrayItem ( ArrayItemExpression $expression )
visitAssignment ( AssignmentExpression $expression )
visitBinaryOperation ( BinaryOperationExpression $expression )
visitCast ( CastExpression $expression )
visitClassConstant ( ClassConstantExpression $expression )
visitClosure ( ClosureExpression $expression )
visitConstant ( ConstantExpression $expression )
visitEmpty ( EmptyExpression $expression )
visitField ( FieldExpression $expression )
visitFunctionCall ( FunctionCallExpression $expression )
visitIndex ( IndexExpression $expression )
visitInvocation ( InvocationExpression $expression )
visitIsset ( IssetExpression $expression )
visitMethodCall ( MethodCallExpression $expression )
visitNew ( NewExpression $expression )
visitParameter ( ParameterExpression $expression )
visitReturn ( ReturnExpression $expression )
visitStaticField ( StaticFieldExpression $expression )
visitStaticMethodCall ( StaticMethodCallExpression $expression )
visitTernary ( TernaryExpression $expression )
visitThrow ( Pinq\Expressions\ThrowExpression $expression )
visitUnaryOperation ( UnaryOperationExpression $expression )
visitUnset ( UnsetExpression $expression )
visitValue ( ValueExpression $expression )
visitVariable ( VariableExpression $expression )

Méthodes protégées

Méthode Description
addTypeOperation ( Expression $expression, Pinq\Analysis\ITypeOperation $typeOperation )
validateStaticClassName ( Expression $expression, $type )

Private Methods

Méthode Description
verifyConstantDefined ( $constantName )

Method Details

__construct() public méthode

public __construct ( Pinq\Analysis\ITypeSystem $typeSystem )
$typeSystem Pinq\Analysis\ITypeSystem

addTypeOperation() protected méthode

protected addTypeOperation ( Expression $expression, Pinq\Analysis\ITypeOperation $typeOperation )
$expression Pinq\Expressions\Expression
$typeOperation Pinq\Analysis\ITypeOperation

analyse() public méthode

public analyse ( Pinq\Analysis\IAnalysisContext $analysisContext, Expression $expression )
$analysisContext Pinq\Analysis\IAnalysisContext
$expression Pinq\Expressions\Expression

createAnalysisContext() public méthode

public createAnalysisContext ( Pinq\Expressions\IEvaluationContext $evaluationContext )
$evaluationContext Pinq\Expressions\IEvaluationContext

getTypeSystem() public méthode

public getTypeSystem ( )

validateStaticClassName() protected méthode

protected validateStaticClassName ( Expression $expression, $type )
$expression Pinq\Expressions\Expression

visitArgument() public méthode

public visitArgument ( ArgumentExpression $expression )
$expression Pinq\Expressions\ArgumentExpression

visitArray() public méthode

public visitArray ( ArrayExpression $expression )
$expression Pinq\Expressions\ArrayExpression

visitArrayItem() public méthode

public visitArrayItem ( ArrayItemExpression $expression )
$expression Pinq\Expressions\ArrayItemExpression

visitAssignment() public méthode

public visitAssignment ( AssignmentExpression $expression )
$expression Pinq\Expressions\AssignmentExpression

visitBinaryOperation() public méthode

public visitBinaryOperation ( BinaryOperationExpression $expression )
$expression Pinq\Expressions\BinaryOperationExpression

visitCast() public méthode

public visitCast ( CastExpression $expression )
$expression Pinq\Expressions\CastExpression

visitClassConstant() public méthode

public visitClassConstant ( ClassConstantExpression $expression )
$expression Pinq\Expressions\ClassConstantExpression

visitClosure() public méthode

public visitClosure ( ClosureExpression $expression )
$expression Pinq\Expressions\ClosureExpression

visitConstant() public méthode

public visitConstant ( ConstantExpression $expression )
$expression Pinq\Expressions\ConstantExpression

visitEmpty() public méthode

public visitEmpty ( EmptyExpression $expression )
$expression Pinq\Expressions\EmptyExpression

visitField() public méthode

public visitField ( FieldExpression $expression )
$expression Pinq\Expressions\FieldExpression

visitFunctionCall() public méthode

public visitFunctionCall ( FunctionCallExpression $expression )
$expression Pinq\Expressions\FunctionCallExpression

visitIndex() public méthode

public visitIndex ( IndexExpression $expression )
$expression Pinq\Expressions\IndexExpression

visitInvocation() public méthode

public visitInvocation ( InvocationExpression $expression )
$expression Pinq\Expressions\InvocationExpression

visitIsset() public méthode

public visitIsset ( IssetExpression $expression )
$expression Pinq\Expressions\IssetExpression

visitMethodCall() public méthode

public visitMethodCall ( MethodCallExpression $expression )
$expression Pinq\Expressions\MethodCallExpression

visitNew() public méthode

public visitNew ( NewExpression $expression )
$expression Pinq\Expressions\NewExpression

visitParameter() public méthode

public visitParameter ( ParameterExpression $expression )
$expression Pinq\Expressions\ParameterExpression

visitReturn() public méthode

public visitReturn ( ReturnExpression $expression )
$expression Pinq\Expressions\ReturnExpression

visitStaticField() public méthode

public visitStaticField ( StaticFieldExpression $expression )
$expression Pinq\Expressions\StaticFieldExpression

visitStaticMethodCall() public méthode

public visitStaticMethodCall ( StaticMethodCallExpression $expression )
$expression Pinq\Expressions\StaticMethodCallExpression

visitTernary() public méthode

public visitTernary ( TernaryExpression $expression )
$expression Pinq\Expressions\TernaryExpression

visitThrow() public méthode

public visitThrow ( Pinq\Expressions\ThrowExpression $expression )
$expression Pinq\Expressions\ThrowExpression

visitUnaryOperation() public méthode

public visitUnaryOperation ( UnaryOperationExpression $expression )
$expression Pinq\Expressions\UnaryOperationExpression

visitUnset() public méthode

public visitUnset ( UnsetExpression $expression )
$expression Pinq\Expressions\UnsetExpression

visitValue() public méthode

public visitValue ( ValueExpression $expression )
$expression Pinq\Expressions\ValueExpression

visitVariable() public méthode

public visitVariable ( VariableExpression $expression )
$expression Pinq\Expressions\VariableExpression

Property Details

$analysis protected_oe property

protected SplObjectStorage|IType[],Pinq\Analysis $analysis
Résultat SplObjectStorage | Pinq\Analysis\IType[]

$analysisContext protected_oe property

protected IAnalysisContext,Pinq\Analysis $analysisContext
Résultat Pinq\Analysis\IAnalysisContext

$metadata protected_oe property

protected SplObjectStorage $metadata
Résultat SplObjectStorage

$typeSystem protected_oe property

protected ITypeSystem,Pinq\Analysis $typeSystem
Résultat Pinq\Analysis\ITypeSystem