public class RegionNode extends Node<RegionNode,ControlFlowEdgeType>
| Modifier and Type | Class and Description |
|---|---|
static class |
RegionNode.BlockType |
static class |
RegionNode.ExceptionHandler |
| Modifier and Type | Field and Description |
|---|---|
static Predicate<Edge> |
ALL_SUCCCESSORS_REGULAR_FLOW_ONLY |
static Predicate<Edge> |
FORWARD_EDGE_FILTER_REGULAR_FLOW_ONLY |
static Comparator<RegionNode> |
NODE_COMPARATOR |
| Modifier | Constructor and Description |
|---|---|
protected |
RegionNode(ControlFlowGraph aOwningGraph,
RegionNode.BlockType aType,
Program aProgram,
BytecodeOpcodeAddress aStartAddress) |
addIncomingEdge, incomingEdges, incomingEdges, outgoingEdges, outgoingEdges, singleOutgoingNodeMatchingpublic static final Comparator<RegionNode> NODE_COMPARATOR
public static final Predicate<Edge> FORWARD_EDGE_FILTER_REGULAR_FLOW_ONLY
protected RegionNode(ControlFlowGraph aOwningGraph, RegionNode.BlockType aType, Program aProgram, BytecodeOpcodeAddress aStartAddress)
public long getStartAnalysisTime()
public void setStartAnalysisTime(long startAnalysisTime)
public long getFinishedAnalysisTime()
public void setFinishedAnalysisTime(long finishedAnalysisTime)
public ExpressionList getExpressions()
public RegionNode.BlockType getType()
public boolean hasBackEdgeTo(RegionNode aNode)
public boolean hasIncomingBackEdges()
public Set<RegionNode> getPredecessorsIgnoringBackEdges()
public Set<RegionNode> getPredecessors()
public BytecodeOpcodeAddress getStartAddress()
public Variable newVariable(BytecodeOpcodeAddress aAddress, TypeRef aType, Value aValue)
public void addToLiveIn(Value aValue, VariableDescription aDescription)
public void addToLiveOut(Value aValue, VariableDescription aDescription)
public BlockState liveIn()
public BlockState liveOut()
public boolean isImmediatelyDominatedBy(RegionNode aNode)
public boolean isDominatedBy(RegionNode aOtherNode)
public Set<RegionNode> dominatedNodes()
public <T extends Node> T addEdgeTo(ControlFlowEdgeType aType, T aTargetNode)
addEdgeTo in class Node<RegionNode,ControlFlowEdgeType>Copyright © 2020 Systemprogrammierung Mirko Sertic. All rights reserved.