PHP Interface Pinq\Analysis\IAnalysisContext

Author: Elliot Levin ([email protected])
Inheritance: extends Pinq\Analysis\ITyped
Show file Open project: timetoogo/pinq Interface Usage Examples

Public Methods

Method Description
createReference ( Expression $expression, Expression $referencedExpression ) : void Creates a reference between the supplied expressions.
getEvaluationContext ( ) : Pinq\Expressions\IEvaluationContext Gets the evaluation context.
getExpressionType ( Expression $expression ) : Pinq\Analysis\IType | null Gets the type of the expression.
inNewScope ( ) : Pinq\Analysis\IAnalysisContext Creates a new analysis context with an empty expression type list.
removeExpressionType ( Expression $expression ) : void Removes the type of the expression.
setExpressionType ( Expression $expression, Pinq\Analysis\IType $type ) : void Sets the type of the expression.

Method Details

createReference() public method

Creates a reference between the supplied expressions.
public createReference ( Expression $expression, Expression $referencedExpression ) : void
$expression Pinq\Expressions\Expression
$referencedExpression Pinq\Expressions\Expression
return void

getEvaluationContext() public method

Gets the evaluation context.
public getEvaluationContext ( ) : Pinq\Expressions\IEvaluationContext
return Pinq\Expressions\IEvaluationContext

getExpressionType() public method

Null if no type has been set. The expression is compared using value equality (same code).
public getExpressionType ( Expression $expression ) : Pinq\Analysis\IType | null
$expression Pinq\Expressions\Expression
return Pinq\Analysis\IType | null

inNewScope() public method

Creates a new analysis context with an empty expression type list.
public inNewScope ( ) : Pinq\Analysis\IAnalysisContext
return Pinq\Analysis\IAnalysisContext

removeExpressionType() public method

Removes the type of the expression.
public removeExpressionType ( Expression $expression ) : void
$expression Pinq\Expressions\Expression
return void

setExpressionType() public method

Sets the type of the expression.
public setExpressionType ( Expression $expression, Pinq\Analysis\IType $type ) : void
$expression Pinq\Expressions\Expression
$type Pinq\Analysis\IType
return void