Uses of Class
com.strobel.assembler.flowanalysis.ControlFlowNode
-
Packages that use ControlFlowNode Package Description com.strobel.assembler.flowanalysis com.strobel.assembler.metadata com.strobel.decompiler.ast -
-
Uses of ControlFlowNode in com.strobel.assembler.flowanalysis
Fields in com.strobel.assembler.flowanalysis declared as ControlFlowNode Modifier and Type Field Description private ControlFlowNode
ControlFlowNode. _copyFrom
private ControlFlowNode
ControlFlowNode. _endFinallyNode
private ControlFlowNode
ControlFlowGraphBuilder. _entryPoint
private ControlFlowNode
ControlFlowGraphBuilder. _exceptionalExit
private ControlFlowNode
ControlFlowNode. _immediateDominator
private ControlFlowNode
ControlFlowGraphBuilder. _regularExit
private ControlFlowNode
ControlFlowEdge. _source
private ControlFlowNode
ControlFlowEdge. _target
(package private) ControlFlowNode
ControlFlowGraphBuilder.CopyFinallySubGraphLogic. end
(package private) ControlFlowNode
ControlFlowGraphBuilder.CopyFinallySubGraphLogic. newEnd
(package private) ControlFlowNode
ControlFlowGraphBuilder.CopyFinallySubGraphLogic. start
Fields in com.strobel.assembler.flowanalysis with type parameters of type ControlFlowNode Modifier and Type Field Description private java.util.Set<ControlFlowNode>
ControlFlowNode. _dominanceFrontier
private java.util.List<ControlFlowNode>
ControlFlowNode. _dominatorTreeChildren
private java.util.List<ControlFlowNode>
ControlFlowGraph. _nodes
private java.util.List<ControlFlowNode>
ControlFlowGraphBuilder. _nodes
(package private) java.util.Map<ControlFlowNode,ControlFlowNode>
ControlFlowGraphBuilder.CopyFinallySubGraphLogic. oldToNew
(package private) java.util.Map<ControlFlowNode,ControlFlowNode>
ControlFlowGraphBuilder.CopyFinallySubGraphLogic. oldToNew
static Predicate<ControlFlowNode>
ControlFlowNode. REACHABLE_PREDICATE
Methods in com.strobel.assembler.flowanalysis that return ControlFlowNode Modifier and Type Method Description private ControlFlowNode
ControlFlowGraphBuilder. copyFinallySubGraph(ControlFlowNode start, ControlFlowNode end, ControlFlowNode newEnd)
(package private) 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)
ControlFlowNode
ControlFlowNode. getCopyFrom()
ControlFlowNode
ControlFlowNode. getEndFinallyNode()
ControlFlowNode
ControlFlowGraph. getEntryPoint()
ControlFlowNode
ControlFlowGraph. getExceptionalExit()
ControlFlowNode
ControlFlowNode. getImmediateDominator()
private ControlFlowNode
ControlFlowGraphBuilder.CopyFinallySubGraphLogic. getNew(ControlFlowNode oldNode)
ControlFlowNode
ControlFlowGraph. getRegularExit()
ControlFlowNode
ControlFlowEdge. getSource()
ControlFlowNode
ControlFlowEdge. getTarget()
ControlFlowNode
ControlFlowNode.PredecessorIterator. next()
ControlFlowNode
ControlFlowNode.SuccessorIterator. next()
Methods in com.strobel.assembler.flowanalysis that return types with arguments of type ControlFlowNode Modifier and Type Method Description java.util.Set<ControlFlowNode>
ControlFlowNode. getDominanceFrontier()
java.util.List<ControlFlowNode>
ControlFlowNode. getDominatorTreeChildren()
java.util.List<ControlFlowNode>
ControlFlowGraph. getNodes()
java.lang.Iterable<ControlFlowNode>
ControlFlowNode. getPredecessors()
java.lang.Iterable<ControlFlowNode>
ControlFlowNode. getSuccessors()
Methods in com.strobel.assembler.flowanalysis with parameters of type ControlFlowNode Modifier and Type Method Description private 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)
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 java.lang.String
ControlFlowGraph. nodeName(ControlFlowNode node)
boolean
ControlFlowNode. precedes(ControlFlowNode other)
private void
ControlFlowGraphBuilder.CopyFinallySubGraphLogic. reconstructEdges(ControlFlowNode oldNode, ControlFlowNode newNode)
void
ControlFlowNode. setCopyFrom(ControlFlowNode copyFrom)
void
ControlFlowNode. setImmediateDominator(ControlFlowNode immediateDominator)
boolean
ControlFlowNode. succeeds(ControlFlowNode other)
Method parameters in com.strobel.assembler.flowanalysis with type arguments of type ControlFlowNode Modifier and Type Method Description void
ControlFlowNode. traversePostOrder(Function<ControlFlowNode,java.lang.Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction)
void
ControlFlowNode. traversePostOrder(Function<ControlFlowNode,java.lang.Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction)
void
ControlFlowNode. traversePostOrder(Function<ControlFlowNode,java.lang.Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction)
void
ControlFlowNode. traversePreOrder(Function<ControlFlowNode,java.lang.Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction)
void
ControlFlowNode. traversePreOrder(Function<ControlFlowNode,java.lang.Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction)
void
ControlFlowNode. traversePreOrder(Function<ControlFlowNode,java.lang.Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction)
Constructors in com.strobel.assembler.flowanalysis with parameters of type ControlFlowNode Constructor Description ControlFlowEdge(ControlFlowNode source, ControlFlowNode target, JumpType type)
ControlFlowGraph(ControlFlowNode... nodes)
ControlFlowNode(int blockIndex, ExceptionHandler exceptionHandler, ControlFlowNode endFinallyNode)
CopyFinallySubGraphLogic(ControlFlowNode start, ControlFlowNode end, ControlFlowNode newEnd)
-
Uses of ControlFlowNode in com.strobel.assembler.metadata
Fields in com.strobel.assembler.metadata declared as ControlFlowNode Modifier and Type Field Description private ControlFlowNode
ExceptionHandlerMapper. _entryPoint
private ControlFlowNode
ExceptionHandlerMapper. _exceptionalExit
private ControlFlowNode
ExceptionHandlerMapper. _regularExit
Fields in com.strobel.assembler.metadata with type parameters of type ControlFlowNode Modifier and Type Field Description private java.util.List<ControlFlowNode>
ExceptionHandlerMapper. _nodes
Methods in com.strobel.assembler.metadata that return ControlFlowNode Modifier and Type Method Description private 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 ControlFlowNode Modifier and Type Method Description private static java.util.Set<ControlFlowNode>
ExceptionHandlerMapper. findDominatedNodes(ControlFlowGraph cfg, ControlFlowNode head)
Methods in com.strobel.assembler.metadata with parameters of type ControlFlowNode Modifier and Type Method Description private ControlFlowEdge
ExceptionHandlerMapper. createEdge(ControlFlowNode fromNode, ControlFlowNode toNode, JumpType type)
private ControlFlowEdge
ExceptionHandlerMapper. createEdge(ControlFlowNode fromNode, Instruction toInstruction, JumpType type)
private static java.util.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 ControlFlowNode Modifier and Type Field Description (package private) ControlFlowNode
AstBuilder.SubroutineInfo. entryNode
(package private) ControlFlowNode
AstBuilder.HandlerInfo. handlerNode
(package private) ControlFlowNode
AstBuilder.HandlerInfo. head
(package private) ControlFlowNode
AstBuilder.HandlerInfo. tail
Fields in com.strobel.decompiler.ast with type parameters of type ControlFlowNode Modifier and Type Field Description private java.util.Set<ControlFlowNode>
AstBuilder.FinallyInlining. _allFinallyNodes
private java.util.Map<Instruction,ControlFlowNode>
AstBuilder.FinallyInlining. _nodeMap
private java.util.Set<ControlFlowNode>
AstBuilder.FinallyInlining. _processedNodes
(package private) java.util.Set<ControlFlowNode>
LoopsAndConditions.LoopExitInfo. additionalNodes
(package private) java.util.List<ControlFlowNode>
AstBuilder.SubroutineInfo. contents
(package private) java.util.List<ControlFlowNode>
AstBuilder.SubroutineInfo. exitNodes
(package private) java.util.List<ControlFlowNode>
AstBuilder.HandlerInfo. handlerNodes
private java.util.Map<Label,ControlFlowNode>
LoopsAndConditions. labelsToNodes
(package private) java.util.List<ControlFlowNode>
AstBuilder.HandlerInfo. tryNodes
Methods in com.strobel.decompiler.ast that return ControlFlowNode Modifier and Type Method Description private 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 ControlFlowNode Modifier and Type Method Description private java.util.Set<ControlFlowNode>
AstBuilder.FinallyInlining. collectNodes(AstBuilder.HandlerInfo handlerInfo)
private static java.util.Map<Instruction,ControlFlowNode>
AstBuilder. createNodeMap(ControlFlowGraph cfg)
private static java.util.Set<ControlFlowNode>
AstBuilder. findDominatedNodes(ControlFlowGraph cfg, ControlFlowNode head, boolean diveIntoHandlers, java.util.Set<ControlFlowNode> terminals)
private static java.util.Set<ControlFlowNode>
LoopsAndConditions. findDominatedNodes(java.util.Set<ControlFlowNode> scope, ControlFlowNode head)
private static java.util.Set<ControlFlowNode>
LoopsAndConditions. findLoopContents(java.util.Set<ControlFlowNode> scope, ControlFlowNode head)
Methods in com.strobel.decompiler.ast with parameters of type ControlFlowNode Modifier and Type Method Description private java.util.List<Node>
LoopsAndConditions. findConditions(java.util.Set<ControlFlowNode> scopeNodes, ControlFlowNode entryNode)
private static java.util.Set<ControlFlowNode>
AstBuilder. findDominatedNodes(ControlFlowGraph cfg, ControlFlowNode head, boolean diveIntoHandlers, java.util.Set<ControlFlowNode> terminals)
private static java.util.Set<ControlFlowNode>
LoopsAndConditions. findDominatedNodes(java.util.Set<ControlFlowNode> scope, ControlFlowNode head)
private static java.util.Set<ControlFlowNode>
LoopsAndConditions. findLoopContents(java.util.Set<ControlFlowNode> scope, ControlFlowNode head)
private java.util.List<Node>
LoopsAndConditions. findLoops(java.util.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 ControlFlowNode Modifier and Type Method Description private int
LoopsAndConditions. countJumps(java.util.Set<ControlFlowNode> nodes, Label target, Expression ignore)
private static void
AstBuilder.FinallyInlining. dumpHandlerNodes(ExceptionHandler handler, java.util.List<ControlFlowNode> tryNodes, java.util.List<ControlFlowNode> handlerNodes)
private java.util.List<Node>
LoopsAndConditions. findConditions(java.util.Set<ControlFlowNode> scopeNodes, ControlFlowNode entryNode)
private static java.util.Set<ControlFlowNode>
AstBuilder. findDominatedNodes(ControlFlowGraph cfg, ControlFlowNode head, boolean diveIntoHandlers, java.util.Set<ControlFlowNode> terminals)
private static java.util.Set<ControlFlowNode>
LoopsAndConditions. findDominatedNodes(java.util.Set<ControlFlowNode> scope, ControlFlowNode head)
private static java.util.Set<ControlFlowNode>
LoopsAndConditions. findLoopContents(java.util.Set<ControlFlowNode> scope, ControlFlowNode head)
private LoopsAndConditions.LoopExitInfo
LoopsAndConditions. findLoopExitInfo(java.util.Set<ControlFlowNode> contents)
private java.util.List<Node>
LoopsAndConditions. findLoops(java.util.Set<ControlFlowNode> scopeNodes, ControlFlowNode entryPoint, boolean excludeEntryPoint)
private void
AstBuilder.FinallyInlining. processNodes(AstBuilder.HandlerInfo handlerInfo, Instruction first, Instruction last, int instructionCount, java.util.Set<ControlFlowNode> toProcess, java.util.Set<ControlFlowNode> forbiddenNodes)
Constructors in com.strobel.decompiler.ast with parameters of type ControlFlowNode Constructor Description HandlerInfo(ExceptionHandler handler, ControlFlowNode handlerNode, ControlFlowNode head, ControlFlowNode tail, java.util.List<ControlFlowNode> tryNodes, java.util.List<ControlFlowNode> handlerNodes)
SubroutineInfo(ControlFlowNode entryNode, java.util.List<ControlFlowNode> contents, ControlFlowGraph cfg)
Constructor parameters in com.strobel.decompiler.ast with type arguments of type ControlFlowNode Constructor Description HandlerInfo(ExceptionHandler handler, ControlFlowNode handlerNode, ControlFlowNode head, ControlFlowNode tail, java.util.List<ControlFlowNode> tryNodes, java.util.List<ControlFlowNode> handlerNodes)
SubroutineInfo(ControlFlowNode entryNode, java.util.List<ControlFlowNode> contents, ControlFlowGraph cfg)
-