Uses of Class
de.unisaarland.cs.st.jerify.verifier.typestate.MethodCFGWorkData

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.