Class ControlFlowGraphBuilder
java.lang.Object
com.strobel.decompiler.languages.java.analysis.ControlFlowGraphBuilder
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildControlFlowGraph(Statement statement, Function<AstNode, ResolveResult> resolver) protected ControlFlowEdgecreateEdge(ControlFlowNode from, ControlFlowNode to, ControlFlowEdgeType type) protected ControlFlowNodecreateEndNode(Statement statement) protected ControlFlowNodecreateEndNode(Statement statement, boolean addNodeToList) protected ControlFlowNodecreateNode(Statement previousStatement, Statement nextStatement, ControlFlowNodeType type) protected ControlFlowNodecreateSpecialNode(Statement statement, ControlFlowNodeType type) protected ControlFlowNodecreateSpecialNode(Statement statement, ControlFlowNodeType type, boolean addNodeToList) protected ControlFlowNodecreateStartNode(Statement statement) protected Booleanprotected ResolveResultfinal booleanfinal voidsetEvaluateOnlyPrimitiveConstants(boolean evaluateOnlyPrimitiveConstants)
-
Constructor Details
-
ControlFlowGraphBuilder
public ControlFlowGraphBuilder()
-
-
Method Details
-
createNode
protected ControlFlowNode createNode(Statement previousStatement, Statement nextStatement, ControlFlowNodeType type) -
createStartNode
-
createSpecialNode
-
createSpecialNode
protected ControlFlowNode createSpecialNode(Statement statement, ControlFlowNodeType type, boolean addNodeToList) -
createEndNode
-
createEndNode
-
createEdge
protected ControlFlowEdge createEdge(ControlFlowNode from, ControlFlowNode to, ControlFlowEdgeType type) -
buildControlFlowGraph
public List<ControlFlowNode> buildControlFlowGraph(Statement statement, Function<AstNode, ResolveResult> resolver) -
isEvaluateOnlyPrimitiveConstants
public final boolean isEvaluateOnlyPrimitiveConstants() -
setEvaluateOnlyPrimitiveConstants
public final void setEvaluateOnlyPrimitiveConstants(boolean evaluateOnlyPrimitiveConstants) -
evaluateConstant
-
evaluateCondition
-