PHP Класс Pinq\Analysis\ExpressionAnalyser

Автор: Elliot Levin ([email protected])
Наследование: extends Pinq\Expressions\ExpressionVisitor, implements Pinq\Analysis\IExpressionAnalyser
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
$analysis SplObjectStorage | Pinq\Analysis\IType[]
$analysisContext Pinq\Analysis\IAnalysisContext
$metadata SplObjectStorage
$typeSystem Pinq\Analysis\ITypeSystem

Открытые методы

Метод Описание
__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 )

Защищенные методы

Метод Описание
addTypeOperation ( Expression $expression, Pinq\Analysis\ITypeOperation $typeOperation )
validateStaticClassName ( Expression $expression, $type )

Приватные методы

Метод Описание
verifyConstantDefined ( $constantName )

Описание методов

__construct() публичный Метод

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

addTypeOperation() защищенный Метод

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

analyse() публичный Метод

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

createAnalysisContext() публичный Метод

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

getTypeSystem() публичный Метод

public getTypeSystem ( )

validateStaticClassName() защищенный Метод

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

visitArgument() публичный Метод

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

visitArray() публичный Метод

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

visitArrayItem() публичный Метод

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

visitAssignment() публичный Метод

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

visitBinaryOperation() публичный Метод

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

visitCast() публичный Метод

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

visitClassConstant() публичный Метод

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

visitClosure() публичный Метод

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

visitConstant() публичный Метод

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

visitEmpty() публичный Метод

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

visitField() публичный Метод

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

visitFunctionCall() публичный Метод

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

visitIndex() публичный Метод

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

visitInvocation() публичный Метод

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

visitIsset() публичный Метод

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

visitMethodCall() публичный Метод

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

visitNew() публичный Метод

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

visitParameter() публичный Метод

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

visitReturn() публичный Метод

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

visitStaticField() публичный Метод

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

visitStaticMethodCall() публичный Метод

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

visitTernary() публичный Метод

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

visitThrow() публичный Метод

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

visitUnaryOperation() публичный Метод

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

visitUnset() публичный Метод

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

visitValue() публичный Метод

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

visitVariable() публичный Метод

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

Описание свойств

$analysis защищенное свойство

protected SplObjectStorage|IType[],Pinq\Analysis $analysis
Результат SplObjectStorage | Pinq\Analysis\IType[]

$analysisContext защищенное свойство

protected IAnalysisContext,Pinq\Analysis $analysisContext
Результат Pinq\Analysis\IAnalysisContext

$metadata защищенное свойство

protected SplObjectStorage $metadata
Результат SplObjectStorage

$typeSystem защищенное свойство

protected ITypeSystem,Pinq\Analysis $typeSystem
Результат Pinq\Analysis\ITypeSystem