|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectde.unisaarland.cs.st.jerify.verifier.alias.ClassCFGAliasAnalysis
public class ClassCFGAliasAnalysis
Manages the creation process of AliasAnalysisVarHandle and alias FlowNodes.
| Constructor Summary | |
|---|---|
ClassCFGAliasAnalysis()
|
|
ClassCFGAliasAnalysis(ClassCFGAliasAnalysis copyFrom)
|
|
| Method Summary | |
|---|---|
TSFlowNode |
assignment(AliasAnalysisVarHandle handle,
com.sun.source.tree.ExpressionTree initTree,
MethodCFGWorkData tsinfo)
//TODO improve Returns a flow node that assigns the init tree value to the variable in handle |
TSFlowNode |
assignment(com.sun.source.tree.AssignmentTree assignmentTree,
MethodCFGWorkData tsinfo)
Analyse a variable assignment. |
ClassCFGAliasAnalysis |
copy()
Creates a deep Copy. |
Pair<TSAliasAnalysisAssignmentFlowNode,AliasAnalysisVarHandle> |
expression(com.sun.source.tree.ExpressionTree exprTree,
MethodCFGWorkData tsinfo)
Create a new variable handle which is initialized with the result of the analysis of the expression. |
void |
field(com.sun.source.tree.AssignmentTree assignTree)
Analyse and add a field. |
void |
field(javax.lang.model.element.Name name)
|
void |
field(com.sun.source.tree.VariableTree varTree)
Analyse and add a field. |
Pair<TSAliasAnalysisAssignmentFlowNode,java.lang.Integer> |
foreachVar(com.sun.source.tree.VariableTree varTree)
Add a for each variable (for var : ... ) to the alias information. |
AliasAnalysisVarHandle |
getHandle(javax.lang.model.element.Name varName)
Return the handle for the passed Name. |
AliasAnalysisVarHandle |
getHandle(java.lang.String varName)
Return the handle for the passed Name. |
com.sun.source.tree.VariableTree |
getTree(javax.lang.model.element.Name varName)
Return the handle for the passed Name. |
com.sun.source.tree.VariableTree |
getTree(java.lang.String varName)
Return the handle for the passed Name. |
boolean |
isField(javax.lang.model.element.Name name)
|
TSAliasAnalysisAssignmentFlowNode |
newVar(com.sun.source.tree.VariableTree varTree,
MethodCFGWorkData tsinfo)
Analyse a variable declaration, add the variable to the alias information. |
Pair<TSAliasAnalysisAssignmentFlowNode,AliasAnalysisVarHandle> |
parameter(com.sun.source.tree.VariableTree varTree)
Add a parameter to the alias information. |
Pair<TSAliasAnalysisAssignmentFlowNode,AliasAnalysisVarHandle> |
parameter(com.sun.source.tree.VariableTree varTree,
AliasAnalysisVarHandle aliasedTo)
Add a parameter to the alias information. |
java.util.Set<java.lang.String> |
without(ClassCFGAliasAnalysis other)
Returns all names (of variables) that are contained in this AliasAnalysis but not in the passed one and all names that are contained in both but with different AliasVarHandles (which mean that they represent different variables). |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ClassCFGAliasAnalysis()
public ClassCFGAliasAnalysis(ClassCFGAliasAnalysis copyFrom)
| Method Detail |
|---|
public void field(com.sun.source.tree.VariableTree varTree)
varTree - the field to analyse.public boolean isField(javax.lang.model.element.Name name)
public void field(com.sun.source.tree.AssignmentTree assignTree)
varTree - the field to analyse.public void field(javax.lang.model.element.Name name)
public Pair<TSAliasAnalysisAssignmentFlowNode,java.lang.Integer> foreachVar(com.sun.source.tree.VariableTree varTree)
varTree - the VariableTree that is representing the variable
public Pair<TSAliasAnalysisAssignmentFlowNode,AliasAnalysisVarHandle> parameter(com.sun.source.tree.VariableTree varTree)
varTree - the VariableTree that is representing the parameter
public Pair<TSAliasAnalysisAssignmentFlowNode,AliasAnalysisVarHandle> parameter(com.sun.source.tree.VariableTree varTree,
AliasAnalysisVarHandle aliasedTo)
varTree - the VariableTree that is representing the parameteraliasedTo - the variable handle that initializes this parameter
public TSAliasAnalysisAssignmentFlowNode newVar(com.sun.source.tree.VariableTree varTree,
MethodCFGWorkData tsinfo)
varTree - The variable declaration to be analysed.
public TSFlowNode assignment(com.sun.source.tree.AssignmentTree assignmentTree,
MethodCFGWorkData tsinfo)
assignmentTree - The assignment to analyse.
public TSFlowNode assignment(AliasAnalysisVarHandle handle,
com.sun.source.tree.ExpressionTree initTree,
MethodCFGWorkData tsinfo)
handle - initTree -
public Pair<TSAliasAnalysisAssignmentFlowNode,AliasAnalysisVarHandle> expression(com.sun.source.tree.ExpressionTree exprTree,
MethodCFGWorkData tsinfo)
exprTree - The expression to analyse.
public AliasAnalysisVarHandle getHandle(javax.lang.model.element.Name varName)
varName - the Name of the handle
public AliasAnalysisVarHandle getHandle(java.lang.String varName)
varName - the Name of the handle
public com.sun.source.tree.VariableTree getTree(javax.lang.model.element.Name varName)
varName - the Name of the handle
public com.sun.source.tree.VariableTree getTree(java.lang.String varName)
varName - the Name of the handle
public ClassCFGAliasAnalysis copy()
public java.util.Set<java.lang.String> without(ClassCFGAliasAnalysis other)
other - The analysis to compare with
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||