Modifier and Type | Class and Description |
---|---|
class |
CfgBinaryConditionalOperationNode
Conditional node generated for short-circuiting binary operations (||, &&).
|
class |
CfgBlockNode
Node corresponding to code blocks.
|
class |
CfgBreakNode
Node corresponding to break statements.
|
class |
CfgCaseNode
Node corresponding to if statement.
|
class |
CfgConditionalExpressionNode
Node corresponding to conditional expressions.
|
class |
CfgConditionalNode<JNodeType extends JNode>
Base class for all conditional execution nodes.
|
class |
CfgContinueNode
Node corresponding to continue statement.
|
class |
CfgDoNode
Node corresponding to while statement.
|
class |
CfgEndNode
End node in CFG graph.
|
class |
CfgForNode
Node corresponding to for statement.
|
class |
CfgGotoNode<JNodeType extends JNode>
Unconditional control transfer node.
|
class |
CfgIfNode
Node corresponding to if statement.
|
class |
CfgMethodCallNode
Node corresponding to method calls.
|
class |
CfgNopNode
Artificial no-operatation node.
|
class |
CfgOptionalThrowNode
Node which might throw exception.
|
class |
CfgReadNode
Node corresponding to any variable read.
|
class |
CfgReadWriteNode
A node corresponding to simultaneous read and write operation (e.g.
|
class |
CfgReturnNode
Node corresponding to return statement.
|
class |
CfgSimpleNode<JNodeType extends JNode>
A node which doesn't transfer control flow after normal completion.
|
class |
CfgStatementNode<JNodeType extends JStatement>
A statement wrapper node.
|
class |
CfgSwitchGotoNode
Goto to first switch case statement.
|
class |
CfgThrowNode
Node corresponding to throw statement.
|
class |
CfgTryNode
Node corresponding to try statement.
|
class |
CfgWhileNode
Node corresponding to while statement.
|
class |
CfgWriteNode
Node corresponding to write operation.
|
Modifier and Type | Method and Description |
---|---|
<N extends CfgNode<?>> |
Cfg.addNode(N node)
Add new node to the graph.
|
Modifier and Type | Method and Description |
---|---|
CfgNode<?> |
CfgNode.clone() |
protected CfgNode<?> |
CfgSwitchGotoNode.cloneImpl() |
protected CfgNode<?> |
CfgReadWriteNode.cloneImpl() |
protected CfgNode<?> |
CfgReadNode.cloneImpl() |
protected CfgNode<?> |
CfgThrowNode.cloneImpl() |
protected CfgNode<?> |
CfgReturnNode.cloneImpl() |
protected CfgNode<?> |
CfgBreakNode.cloneImpl() |
protected CfgNode<?> |
CfgStatementNode.cloneImpl() |
protected CfgNode<?> |
CfgOptionalThrowNode.cloneImpl() |
protected CfgNode<?> |
CfgBinaryConditionalOperationNode.cloneImpl() |
protected CfgNode<?> |
CfgDoNode.cloneImpl() |
protected CfgNode<?> |
CfgForNode.cloneImpl() |
protected CfgNode<?> |
CfgIfNode.cloneImpl() |
protected CfgNode<?> |
CfgTryNode.cloneImpl() |
protected CfgNode<?> |
CfgMethodCallNode.cloneImpl() |
protected CfgNode<?> |
CfgNopNode.cloneImpl() |
protected CfgNode<?> |
CfgWriteNode.cloneImpl() |
protected CfgNode<?> |
CfgCaseNode.cloneImpl() |
protected CfgNode<?> |
CfgConditionalExpressionNode.cloneImpl() |
protected CfgNode<?> |
CfgBlockNode.cloneImpl() |
protected abstract CfgNode<?> |
CfgNode.cloneImpl() |
protected CfgNode<?> |
CfgContinueNode.cloneImpl() |
protected CfgNode<?> |
CfgWhileNode.cloneImpl() |
static CfgNode<?> |
CfgUtil.findContainingStatement(CfgNode<?> node)
Find CFG node corresponding to the nearest statement, containing the AST
node of the passed node.
|
static CfgNode<?> |
CfgUtil.findParentOfContainingStatement(CfgNode<?> node)
Find parent of containing statement.
|
CfgNode<?> |
CfgEdge.getEnd()
Get edge end node.
|
CfgNode<?> |
Cfg.getEnd(CfgEdge e)
Returns edge end node.
|
CfgNode<?> |
CfgNode.getParent() |
CfgNode<?> |
CfgEdge.getStart()
Get edge start node.
|
CfgNode<?> |
Cfg.getStart(CfgEdge e)
Returns edge start node.
|
Modifier and Type | Method and Description |
---|---|
ArrayList<CfgNode<?>> |
Cfg.getNodes()
Returns all nodes in the graph.
|
Modifier and Type | Method and Description |
---|---|
static void |
CfgUtil.addGraphEdges(Cfg originalGraph,
CfgNode<?> originalNode,
CfgNode<?> newStartNode,
CfgNode<?> newEndNode,
Cfg newSubgraph) |
static void |
CfgUtil.addGraphEdges(Cfg originalGraph,
CfgNode<?> originalNode,
CfgNode<?> newStartNode,
CfgNode<?> newEndNode,
Cfg newSubgraph) |
static void |
CfgUtil.addGraphEdges(Cfg originalGraph,
CfgNode<?> originalNode,
CfgNode<?> newStartNode,
CfgNode<?> newEndNode,
Cfg newSubgraph) |
void |
Cfg.addIn(CfgNode<?> node,
CfgEdge edge)
Add incoming edge to the node.
|
void |
Cfg.addOut(CfgNode<?> node,
CfgEdge edge)
Add outgoing edge from the node.
|
static Cfg |
CfgUtil.createSingleNodeReplacementGraph(Cfg originalGraph,
CfgNode<?> originalNode,
CfgNode<?> newNode)
Create a graph with single node.
|
static Cfg |
CfgUtil.createSingleNodeReplacementGraph(Cfg originalGraph,
CfgNode<?> originalNode,
CfgNode<?> newNode)
Create a graph with single node.
|
static CfgNode<?> |
CfgUtil.findContainingStatement(CfgNode<?> node)
Find CFG node corresponding to the nearest statement, containing the AST
node of the passed node.
|
static CfgNode<?> |
CfgUtil.findParentOfContainingStatement(CfgNode<?> node)
Find parent of containing statement.
|
List<CfgEdge> |
Cfg.getInEdges(CfgNode<?> cfgNode)
Returns edges coming into node.
|
List<CfgEdge> |
Cfg.getOutEdges(CfgNode<?> cfgNode)
Returns edges originating from the node.
|
boolean |
CfgTransformer.transform(CfgNode<?> node,
Cfg cfgGraph)
Transform specified node.
|
boolean |
Cfg.transform(CfgNode<?> node,
CfgTransformer actualizer)
Transforms the node with transformer.
|
void |
CfgVisitor.visitNode(CfgNode<?> node) |
Modifier and Type | Method and Description |
---|---|
void |
ConstantsFlowFunction.interpret(CfgNode<?> node,
Cfg graph,
AssumptionMap<CfgEdge,ConstantsAssumption> assumptionMap) |
TransformationFunction.Transformation<CfgTransformer,Cfg> |
ConstantsIntegratedFlowFunction.interpretOrReplace(CfgNode<?> node,
Cfg graph,
AssumptionMap<CfgEdge,ConstantsAssumption> assumptionMap) |
TransformationFunction.Transformation<CfgTransformer,Cfg> |
ConstantsTransformationFunction.transform(CfgNode<?> node,
Cfg graph,
AssumptionMap<CfgEdge,ConstantsAssumption> assumptionMap) |
Modifier and Type | Method and Description |
---|---|
FlowFunction<CfgNode<?>,CfgEdge,Cfg,CopyAssumption> |
CopyAnalysis.getFlowFunction() |
IntegratedFlowFunction<CfgNode<?>,CfgEdge,CfgTransformer,Cfg,CopyAssumption> |
CopyAnalysis.getIntegratedFlowFunction() |
Modifier and Type | Method and Description |
---|---|
void |
CopyFlowFunction.interpret(CfgNode<?> node,
Cfg g,
AssumptionMap<CfgEdge,CopyAssumption> assumptionMap) |
TransformationFunction.Transformation<CfgTransformer,Cfg> |
CopyIntegratedFlowFunction.interpretOrReplace(CfgNode<?> node,
Cfg graph,
AssumptionMap<CfgEdge,CopyAssumption> assumptionMap) |
Modifier and Type | Method and Description |
---|---|
FlowFunction<CfgNode<?>,CfgEdge,Cfg,LivenessAssumption> |
LivenessAnalysis.getFlowFunction() |
IntegratedFlowFunction<CfgNode<?>,CfgEdge,CfgTransformer,Cfg,LivenessAssumption> |
LivenessAnalysis.getIntegratedFlowFunction() |
Modifier and Type | Method and Description |
---|---|
void |
LivenessFlowFunction.interpret(CfgNode<?> node,
Cfg g,
AssumptionMap<CfgEdge,LivenessAssumption> assumptionMap) |
TransformationFunction.Transformation<CfgTransformer,Cfg> |
LivenessIntegratedFlowFunction.interpretOrReplace(CfgNode<?> node,
Cfg graph,
AssumptionMap<CfgEdge,LivenessAssumption> assumptionMap) |
Modifier and Type | Method and Description |
---|---|
IntegratedFlowFunction<CfgNode<?>,CfgEdge,CfgTransformer,Cfg,UnreachableAssumptions> |
UnreachableAnalysis.getIntegratedFlowFunction() |
Modifier and Type | Method and Description |
---|---|
TransformationFunction.Transformation<CfgTransformer,Cfg> |
UnreachabeIntegratedTransformationFunction.interpretOrReplace(CfgNode<?> node,
Cfg graph,
AssumptionMap<CfgEdge,UnreachableAssumptions> assumptionMap) |
Copyright © 2018. All rights reserved.