Uses of Class
com.strobel.assembler.flowanalysis.ControlFlowNode
Packages that use ControlFlowNode
Package
Description
-
Uses of ControlFlowNode in com.strobel.assembler.flowanalysis
Fields in com.strobel.assembler.flowanalysis declared as ControlFlowNodeModifier and TypeFieldDescriptionprivate ControlFlowNode
ControlFlowNode._copyFrom
private final ControlFlowNode
ControlFlowNode._endFinallyNode
private final ControlFlowNode
ControlFlowGraphBuilder._entryPoint
private final ControlFlowNode
ControlFlowGraphBuilder._exceptionalExit
private ControlFlowNode
ControlFlowNode._immediateDominator
private final ControlFlowNode
ControlFlowGraphBuilder._regularExit
private final ControlFlowNode
ControlFlowEdge._source
private final ControlFlowNode
ControlFlowEdge._target
(package private) final ControlFlowNode
ControlFlowGraphBuilder.CopyFinallySubGraphLogic.end
(package private) final ControlFlowNode
ControlFlowGraphBuilder.CopyFinallySubGraphLogic.newEnd
(package private) final ControlFlowNode
ControlFlowGraphBuilder.CopyFinallySubGraphLogic.start
Fields in com.strobel.assembler.flowanalysis with type parameters of type ControlFlowNodeModifier and TypeFieldDescriptionprivate final Set
<ControlFlowNode> ControlFlowNode._dominanceFrontier
private final List
<ControlFlowNode> ControlFlowNode._dominatorTreeChildren
private final List
<ControlFlowNode> ControlFlowGraph._nodes
private final List
<ControlFlowNode> ControlFlowGraphBuilder._nodes
(package private) final Map
<ControlFlowNode, ControlFlowNode> ControlFlowGraphBuilder.CopyFinallySubGraphLogic.oldToNew
(package private) final Map
<ControlFlowNode, ControlFlowNode> ControlFlowGraphBuilder.CopyFinallySubGraphLogic.oldToNew
static final Predicate
<ControlFlowNode> ControlFlowNode.REACHABLE_PREDICATE
Methods in com.strobel.assembler.flowanalysis that return ControlFlowNodeModifier and TypeMethodDescriptionprivate ControlFlowNode
ControlFlowGraphBuilder.copyFinallySubGraph
(ControlFlowNode start, ControlFlowNode end, ControlFlowNode newEnd) (package private) final ControlFlowNode
ControlFlowGraphBuilder.CopyFinallySubGraphLogic.copyFinallySubGraph()
static ControlFlowNode
ControlFlowGraph.findCommonDominator
(ControlFlowNode a, ControlFlowNode b) private ControlFlowNode
ControlFlowGraphBuilder.findInnermostExceptionHandlerNode
(int offset) private ControlFlowNode
ControlFlowGraphBuilder.findInnermostFinallyBlock
(int instructionOffset) private ControlFlowNode
ControlFlowGraphBuilder.findInnermostFinallyHandlerNode
(int offset) private ControlFlowNode
ControlFlowGraphBuilder.findInnermostHandlerBlock
(int instructionOffset) private ControlFlowNode
ControlFlowGraphBuilder.findInnermostHandlerBlock
(int instructionOffset, boolean finallyOnly) private ControlFlowNode
ControlFlowGraphBuilder.findNode
(Instruction instruction) private ControlFlowNode
ControlFlowGraphBuilder.findParentExceptionHandlerNode
(ControlFlowNode node) final ControlFlowNode
ControlFlowNode.getCopyFrom()
final ControlFlowNode
ControlFlowNode.getEndFinallyNode()
final ControlFlowNode
ControlFlowGraph.getEntryPoint()
final ControlFlowNode
ControlFlowGraph.getExceptionalExit()
final ControlFlowNode
ControlFlowNode.getImmediateDominator()
private ControlFlowNode
ControlFlowGraphBuilder.CopyFinallySubGraphLogic.getNew
(ControlFlowNode oldNode) final ControlFlowNode
ControlFlowGraph.getRegularExit()
final ControlFlowNode
ControlFlowEdge.getSource()
final ControlFlowNode
ControlFlowEdge.getTarget()
final ControlFlowNode
ControlFlowNode.PredecessorIterator.next()
final ControlFlowNode
ControlFlowNode.SuccessorIterator.next()
Methods in com.strobel.assembler.flowanalysis that return types with arguments of type ControlFlowNodeModifier and TypeMethodDescriptionfinal Set
<ControlFlowNode> ControlFlowNode.getDominanceFrontier()
final List
<ControlFlowNode> ControlFlowNode.getDominatorTreeChildren()
final List
<ControlFlowNode> ControlFlowGraph.getNodes()
final Iterable
<ControlFlowNode> ControlFlowNode.getPredecessors()
final Iterable
<ControlFlowNode> ControlFlowNode.getSuccessors()
Methods in com.strobel.assembler.flowanalysis with parameters of type ControlFlowNodeModifier and TypeMethodDescriptionprivate void
ControlFlowGraphBuilder.CopyFinallySubGraphLogic.collectNodes
(ControlFlowNode node) int
ControlFlowNode.compareTo
(ControlFlowNode o) private ControlFlowNode
ControlFlowGraphBuilder.copyFinallySubGraph
(ControlFlowNode start, ControlFlowNode end, ControlFlowNode newEnd) private void
ControlFlowGraphBuilder.createBranchControlFlow
(ControlFlowNode node, Instruction jump, Instruction target) private ControlFlowEdge
ControlFlowGraphBuilder.createEdge
(ControlFlowNode fromNode, ControlFlowNode toNode, JumpType type) private ControlFlowEdge
ControlFlowGraphBuilder.createEdge
(ControlFlowNode fromNode, Instruction toInstruction, JumpType type) private void
ControlFlowGraphBuilder.createReturnControlFlow
(ControlFlowNode node, Instruction end) final boolean
ControlFlowNode.dominates
(ControlFlowNode node) static ControlFlowNode
ControlFlowGraph.findCommonDominator
(ControlFlowNode a, ControlFlowNode b) private ControlFlowNode
ControlFlowGraphBuilder.findParentExceptionHandlerNode
(ControlFlowNode node) private ControlFlowNode
ControlFlowGraphBuilder.CopyFinallySubGraphLogic.getNew
(ControlFlowNode oldNode) private static String
ControlFlowGraph.nodeName
(ControlFlowNode node) final boolean
ControlFlowNode.precedes
(ControlFlowNode other) private void
ControlFlowGraphBuilder.CopyFinallySubGraphLogic.reconstructEdges
(ControlFlowNode oldNode, ControlFlowNode newNode) final void
ControlFlowNode.setCopyFrom
(ControlFlowNode copyFrom) final void
ControlFlowNode.setImmediateDominator
(ControlFlowNode immediateDominator) final boolean
ControlFlowNode.succeeds
(ControlFlowNode other) Method parameters in com.strobel.assembler.flowanalysis with type arguments of type ControlFlowNodeModifier and TypeMethodDescriptionfinal void
ControlFlowNode.traversePostOrder
(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction) final void
ControlFlowNode.traversePostOrder
(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction) final void
ControlFlowNode.traversePostOrder
(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction) final void
ControlFlowNode.traversePreOrder
(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction) final void
ControlFlowNode.traversePreOrder
(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction) final void
ControlFlowNode.traversePreOrder
(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction) Constructors in com.strobel.assembler.flowanalysis with parameters of type ControlFlowNodeModifierConstructorDescriptionControlFlowEdge
(ControlFlowNode source, ControlFlowNode target, JumpType type) ControlFlowGraph
(ControlFlowNode... nodes) ControlFlowNode
(int blockIndex, ExceptionHandler exceptionHandler, ControlFlowNode endFinallyNode) (package private)
CopyFinallySubGraphLogic
(ControlFlowNode start, ControlFlowNode end, ControlFlowNode newEnd) -
Uses of ControlFlowNode in com.strobel.assembler.metadata
Fields in com.strobel.assembler.metadata declared as ControlFlowNodeModifier and TypeFieldDescriptionprivate final ControlFlowNode
ExceptionHandlerMapper._entryPoint
private final ControlFlowNode
ExceptionHandlerMapper._exceptionalExit
private final ControlFlowNode
ExceptionHandlerMapper._regularExit
Fields in com.strobel.assembler.metadata with type parameters of type ControlFlowNodeModifier and TypeFieldDescriptionprivate final List
<ControlFlowNode> ExceptionHandlerMapper._nodes
Methods in com.strobel.assembler.metadata that return ControlFlowNodeModifier and TypeMethodDescriptionprivate static ControlFlowNode
ExceptionHandlerMapper.findInnermostExceptionHandlerNode
(ControlFlowGraph cfg, int offsetInTryBlock) private ControlFlowNode
ExceptionHandlerMapper.findNode
(Instruction instruction) private ControlFlowNode
ExceptionHandlerMapper.findParentExceptionHandlerNode
(ControlFlowNode node) Methods in com.strobel.assembler.metadata that return types with arguments of type ControlFlowNodeModifier and TypeMethodDescriptionprivate static Set
<ControlFlowNode> ExceptionHandlerMapper.findDominatedNodes
(ControlFlowGraph cfg, ControlFlowNode head) Methods in com.strobel.assembler.metadata with parameters of type ControlFlowNodeModifier and TypeMethodDescriptionprivate ControlFlowEdge
ExceptionHandlerMapper.createEdge
(ControlFlowNode fromNode, ControlFlowNode toNode, JumpType type) private ControlFlowEdge
ExceptionHandlerMapper.createEdge
(ControlFlowNode fromNode, Instruction toInstruction, JumpType type) private static Set
<ControlFlowNode> ExceptionHandlerMapper.findDominatedNodes
(ControlFlowGraph cfg, ControlFlowNode head) private ControlFlowNode
ExceptionHandlerMapper.findParentExceptionHandlerNode
(ControlFlowNode node) private static boolean
ExceptionHandlerMapper.shouldIncludeExceptionalExit
(ControlFlowGraph cfg, ControlFlowNode head, ControlFlowNode node) -
Uses of ControlFlowNode in com.strobel.decompiler.ast
Fields in com.strobel.decompiler.ast declared as ControlFlowNodeModifier and TypeFieldDescription(package private) final ControlFlowNode
AstBuilder.SubroutineInfo.entryNode
(package private) final ControlFlowNode
AstBuilder.HandlerInfo.handlerNode
(package private) final ControlFlowNode
AstBuilder.HandlerInfo.head
(package private) final ControlFlowNode
AstBuilder.HandlerInfo.tail
Fields in com.strobel.decompiler.ast with type parameters of type ControlFlowNodeModifier and TypeFieldDescriptionprivate final Set
<ControlFlowNode> AstBuilder.FinallyInlining._allFinallyNodes
private final Map
<Instruction, ControlFlowNode> AstBuilder.FinallyInlining._nodeMap
private final Set
<ControlFlowNode> AstBuilder.FinallyInlining._processedNodes
(package private) final Set
<ControlFlowNode> LoopsAndConditions.LoopExitInfo.additionalNodes
(package private) final List
<ControlFlowNode> AstBuilder.SubroutineInfo.contents
(package private) final List
<ControlFlowNode> AstBuilder.SubroutineInfo.exitNodes
(package private) final List
<ControlFlowNode> AstBuilder.HandlerInfo.handlerNodes
private final Map
<Label, ControlFlowNode> LoopsAndConditions.labelsToNodes
(package private) final List
<ControlFlowNode> AstBuilder.HandlerInfo.tryNodes
Methods in com.strobel.decompiler.ast that return ControlFlowNodeModifier and TypeMethodDescriptionprivate static ControlFlowNode
AstBuilder.findHandlerNode
(ControlFlowGraph cfg, ExceptionHandler handler) private static ControlFlowNode
AstBuilder.findInnermostExceptionHandlerNode
(ControlFlowGraph cfg, int offsetInTryBlock, boolean finallyOnly) private static ControlFlowNode
AstBuilder.findNode
(ControlFlowGraph cfg, Instruction instruction) Methods in com.strobel.decompiler.ast that return types with arguments of type ControlFlowNodeModifier and TypeMethodDescriptionprivate Set
<ControlFlowNode> AstBuilder.FinallyInlining.collectNodes
(AstBuilder.HandlerInfo handlerInfo) private static Map
<Instruction, ControlFlowNode> AstBuilder.createNodeMap
(ControlFlowGraph cfg) private static Set
<ControlFlowNode> AstBuilder.findDominatedNodes
(ControlFlowGraph cfg, ControlFlowNode head, boolean diveIntoHandlers, Set<ControlFlowNode> terminals) private static Set
<ControlFlowNode> LoopsAndConditions.findDominatedNodes
(Set<ControlFlowNode> scope, ControlFlowNode head) private static Set
<ControlFlowNode> LoopsAndConditions.findLoopContents
(Set<ControlFlowNode> scope, ControlFlowNode head) Methods in com.strobel.decompiler.ast with parameters of type ControlFlowNodeModifier and TypeMethodDescriptionLoopsAndConditions.findConditions
(Set<ControlFlowNode> scopeNodes, ControlFlowNode entryNode) private static Set
<ControlFlowNode> AstBuilder.findDominatedNodes
(ControlFlowGraph cfg, ControlFlowNode head, boolean diveIntoHandlers, Set<ControlFlowNode> terminals) private static Set
<ControlFlowNode> LoopsAndConditions.findDominatedNodes
(Set<ControlFlowNode> scope, ControlFlowNode head) private static Set
<ControlFlowNode> LoopsAndConditions.findLoopContents
(Set<ControlFlowNode> scope, ControlFlowNode head) LoopsAndConditions.findLoops
(Set<ControlFlowNode> scopeNodes, ControlFlowNode entryPoint, boolean excludeEntryPoint) private static boolean
LoopsAndConditions.hasSingleEdgeEnteringBlock
(ControlFlowNode node) private static boolean
AstBuilder.shouldIncludeExceptionalExit
(ControlFlowGraph cfg, ControlFlowNode head, ControlFlowNode node) Method parameters in com.strobel.decompiler.ast with type arguments of type ControlFlowNodeModifier and TypeMethodDescriptionprivate int
LoopsAndConditions.countJumps
(Set<ControlFlowNode> nodes, Label target, Expression ignore) private static void
AstBuilder.FinallyInlining.dumpHandlerNodes
(ExceptionHandler handler, List<ControlFlowNode> tryNodes, List<ControlFlowNode> handlerNodes) LoopsAndConditions.findConditions
(Set<ControlFlowNode> scopeNodes, ControlFlowNode entryNode) private static Set
<ControlFlowNode> AstBuilder.findDominatedNodes
(ControlFlowGraph cfg, ControlFlowNode head, boolean diveIntoHandlers, Set<ControlFlowNode> terminals) private static Set
<ControlFlowNode> LoopsAndConditions.findDominatedNodes
(Set<ControlFlowNode> scope, ControlFlowNode head) private static Set
<ControlFlowNode> LoopsAndConditions.findLoopContents
(Set<ControlFlowNode> scope, ControlFlowNode head) private LoopsAndConditions.LoopExitInfo
LoopsAndConditions.findLoopExitInfo
(Set<ControlFlowNode> contents) LoopsAndConditions.findLoops
(Set<ControlFlowNode> scopeNodes, ControlFlowNode entryPoint, boolean excludeEntryPoint) private void
AstBuilder.FinallyInlining.processNodes
(AstBuilder.HandlerInfo handlerInfo, Instruction first, Instruction last, int instructionCount, Set<ControlFlowNode> toProcess, Set<ControlFlowNode> forbiddenNodes) Constructors in com.strobel.decompiler.ast with parameters of type ControlFlowNodeModifierConstructorDescription(package private)
HandlerInfo
(ExceptionHandler handler, ControlFlowNode handlerNode, ControlFlowNode head, ControlFlowNode tail, List<ControlFlowNode> tryNodes, List<ControlFlowNode> handlerNodes) SubroutineInfo
(ControlFlowNode entryNode, List<ControlFlowNode> contents, ControlFlowGraph cfg) Constructor parameters in com.strobel.decompiler.ast with type arguments of type ControlFlowNodeModifierConstructorDescription(package private)
HandlerInfo
(ExceptionHandler handler, ControlFlowNode handlerNode, ControlFlowNode head, ControlFlowNode tail, List<ControlFlowNode> tryNodes, List<ControlFlowNode> handlerNodes) SubroutineInfo
(ControlFlowNode entryNode, List<ControlFlowNode> contents, ControlFlowGraph cfg)