|
||||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||
| Packages that use MethodCFGWorkData | |
|---|---|
| de.unisaarland.cs.st.jerify.verifier.alias | Provides classes to handle the alias analysis. |
| de.unisaarland.cs.st.jerify.verifier.typestate | Provides classes to create, handle and runtime-store the typestate analysis. |
| Uses of MethodCFGWorkData in de.unisaarland.cs.st.jerify.verifier.alias |
|---|
| Methods in de.unisaarland.cs.st.jerify.verifier.alias with parameters of type MethodCFGWorkData | |
|---|---|
TSFlowNode |
ClassCFGAliasAnalysis.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 |
ClassCFGAliasAnalysis.assignment(com.sun.source.tree.AssignmentTree assignmentTree,
MethodCFGWorkData tsinfo)
Analyse a variable assignment. |
Pair<TSAliasAnalysisAssignmentFlowNode,AliasAnalysisVarHandle> |
ClassCFGAliasAnalysis.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. |
TSAliasAnalysisAssignmentFlowNode |
ClassCFGAliasAnalysis.newVar(com.sun.source.tree.VariableTree varTree,
MethodCFGWorkData tsinfo)
Analyse a variable declaration, add the variable to the alias information. |
| Uses of MethodCFGWorkData in de.unisaarland.cs.st.jerify.verifier.typestate |
|---|
| Methods in de.unisaarland.cs.st.jerify.verifier.typestate that return MethodCFGWorkData | |
|---|---|
MethodCFGWorkData |
MethodCFGWorkData.copy()
Create a copy. |
| Methods in de.unisaarland.cs.st.jerify.verifier.typestate with parameters of type MethodCFGWorkData | |
|---|---|
MethodCFGData |
ClassCFG.scanMethod(com.sun.source.tree.MethodTree tree,
MethodCFGWorkData tsinfo)
For each method, create the flow data structure relations TSFlowNode
and return it in the MethodCFGData. |
ClassCFGData |
ClassCFG.visitAnnotation(com.sun.source.tree.AnnotationTree arg0,
MethodCFGWorkData arg1)
Skip analysis of annotations, so we do not have to case about @annotaion( is="bla") assignments in visitAssingment |
ClassCFGData |
ClassCFG.visitAssignment(com.sun.source.tree.AssignmentTree tree,
MethodCFGWorkData tsinfo)
Visit assignments and create FlowNodes that update alias information accordingly |
ClassCFGData |
ClassCFG.visitBlock(com.sun.source.tree.BlockTree tree,
MethodCFGWorkData tsinfo)
Create a new work-data aliasAnalysis for each block, so the variables that with scope of a block will be removed after each block |
ClassCFGData |
ClassCFG.visitBreak(com.sun.source.tree.BreakTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow changes caused by break |
ClassCFGData |
ClassCFG.visitClass(com.sun.source.tree.ClassTree node,
MethodCFGWorkData tsinfo)
Create the ClassCFGData from the node that is passed. |
ClassCFGData |
ClassCFG.visitConditionalExpression(com.sun.source.tree.ConditionalExpressionTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow implications for the analysis caused by conditional expressions |
ClassCFGData |
ClassCFG.visitContinue(com.sun.source.tree.ContinueTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow changes caused by continue |
ClassCFGData |
ClassCFG.visitDoWhileLoop(com.sun.source.tree.DoWhileLoopTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow changes caused by a do-while loop |
ClassCFGData |
ClassCFG.visitEnhancedForLoop(com.sun.source.tree.EnhancedForLoopTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow changes caused by a enhanced for loop Actually currently the checker needs a @SetState annotation on the loop variable, the rational being that one can more easily annotate the loop variable but may have a hard time annotating the iterator. |
ClassCFGData |
ClassCFG.visitForLoop(com.sun.source.tree.ForLoopTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow changes caused by a for loop |
ClassCFGData |
ClassCFG.visitIf(com.sun.source.tree.IfTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow implications for the analysis caused by if statements |
ClassCFGData |
ClassCFG.visitLabeledStatement(com.sun.source.tree.LabeledStatementTree tree,
MethodCFGWorkData tsinfo)
Analyse the body of the the label statement with the knowledge about that label. |
ClassCFGData |
ClassCFG.visitMethodInvocation(com.sun.source.tree.MethodInvocationTree tree,
MethodCFGWorkData tsinfo)
Analyse method invocations and create FlowNodes that track typestate changes. |
ClassCFGData |
ClassCFG.visitNewClass(com.sun.source.tree.NewClassTree node,
MethodCFGWorkData tsinfo)
|
ClassCFGData |
ClassCFG.visitReturn(com.sun.source.tree.ReturnTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow implications for the analysis caused by return statements |
ClassCFGData |
ClassCFG.visitSwitch(com.sun.source.tree.SwitchTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow implications for the analysis caused by switch statements |
ClassCFGData |
ClassCFG.visitThrow(com.sun.source.tree.ThrowTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow implications for the analysis caused by throw statements |
ClassCFGData |
ClassCFG.visitTry(com.sun.source.tree.TryTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow implications for the analysis caused by try-catch-finally statements |
ClassCFGData |
ClassCFG.visitVariable(com.sun.source.tree.VariableTree tree,
MethodCFGWorkData tsinfo)
Parse variable / fields and create alias information / flownodes accordingly |
ClassCFGData |
ClassCFG.visitWhileLoop(com.sun.source.tree.WhileLoopTree tree,
MethodCFGWorkData tsinfo)
Create FlowNodes that handle the control flow changes caused by a while loop |
| Constructors in de.unisaarland.cs.st.jerify.verifier.typestate with parameters of type MethodCFGWorkData | |
|---|---|
MethodCFGWorkData(MethodCFGWorkData infos)
Copy constructor that only copies those elements that are always needed to be copied Does not copy methodThrows, because the branches dont need to know what is thrown outside their scode. |
|
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||