Property | Type | Description | |
---|---|---|---|
AnalysisVisitor | Pchp.CodeAnalysis.Semantics.Graph | ||
AssertState | void | ||
TraverseToBlock | void | ||
VisitCondition | void |
Method | Description | |
---|---|---|
VisitBinaryExpression ( |
||
VisitCFG ( |
||
VisitCFGBlock ( |
||
VisitCFGCaseBlock ( CaseBlock x ) : void | ||
VisitCFGCatchBlock ( CatchBlock x ) : void | ||
VisitCFGConditionalEdge ( |
||
VisitCFGExitBlock ( |
||
VisitCFGForeachEnumereeEdge ( |
||
VisitCFGForeachMoveNextEdge ( |
||
VisitCFGSimpleEdge ( |
||
VisitCFGSwitchEdge ( |
||
VisitCFGTryCatchEdge ( |
||
VisitInstanceOf ( |
||
VisitUnaryExpression ( |
Method | Description | |
---|---|---|
HandleTraversableUse ( |
Handles use of variable as foreach iterator value.
|
|
SetVar ( string name, TypeRefMask typemask ) : TypeRefMask |
Sets type of local variable in current state.
|
|
Visit ( |
||
Visit ( |
||
Visit ( |
||
VisitCFGBlockInit ( |
Called to initialize VisitCFGBlock call. Sets _state to known initial block state.
|
Method | Description | |
---|---|---|
AnalysisVisitor ( Worklist |
Creates an instance of AnalysisVisitor that can analyse a block.
|
|
AssertState ( ) : void |
Debug assert the state is initialized therefore we are in the middle on a block analysis.
|
|
TraverseToBlock ( FlowState state, |
Helper method that merges state with the target block and determines whether to continue by visiting the target block. Only for traversing into blocks within the same routine (same type context). |
|
VisitCondition ( |
Visits condition used to branch execution to true or false branch. Because of minimal evaluation there is different FlowState for true and false branches, AND and OR operators have to take this into account. Also some other constructs may have side-effect for known branch, eg. |
protected HandleTraversableUse ( |
||
varuse | ||
return | TypeRefMask |
protected SetVar ( string name, TypeRefMask typemask ) : TypeRefMask | ||
name | string | |
typemask | TypeRefMask | |
return | TypeRefMask |
protected Visit ( |
||
x | ||
branch | ConditionBranch | |
return | void |
protected Visit ( |
||
x | ||
branch | ConditionBranch | |
return | void |
protected Visit ( |
||
x | ||
branch | ConditionBranch | |
return | void |
public final VisitBinaryExpression ( |
||
x | ||
return | void |
public VisitCFG ( |
||
x | ||
return | void |
public VisitCFGBlock ( |
||
x | ||
return | void |
protected VisitCFGBlockInit ( |
||
x | ||
return | void |
public VisitCFGCaseBlock ( CaseBlock x ) : void | ||
x | CaseBlock | |
return | void |
public VisitCFGCatchBlock ( CatchBlock x ) : void | ||
x | CatchBlock | |
return | void |
public VisitCFGConditionalEdge ( |
||
x | ||
return | void |
public VisitCFGExitBlock ( |
||
x | ||
return | void |
public VisitCFGForeachEnumereeEdge ( |
||
x | ||
return | void |
public VisitCFGForeachMoveNextEdge ( |
||
x | ||
return | void |
public VisitCFGSimpleEdge ( |
||
x | ||
return | void |
public VisitCFGSwitchEdge ( |
||
x | ||
return | void |
public VisitCFGTryCatchEdge ( |
||
x | ||
return | void |
public final VisitInstanceOf ( |
||
x | ||
return | void |
public final VisitUnaryExpression ( |
||
x | ||
return | void |