final class DominatorTree extends AbstractDominatorTree
A (standard) dominator tree.
- Note
Int ⇒ ((Int ⇒ Unit) ⇒ Unit)is basically anIntFunction[Consumer[IntConsumer]].
- Alphabetic
- By Inheritance
- DominatorTree
- AbstractDominatorTree
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
dom(n: Int): Int
Returns the immediate dominator of the node with the given id.
Returns the immediate dominator of the node with the given id.
- n
The id of a valid node which is not the
startNode.- returns
The id of the node which immediately dominates the given node.
- Definition Classes
- AbstractDominatorTree
- Note
The root node does not have a(n immediate) dominator; in case
nis the root node anIllegalArgumentExceptionis thrown.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
foreachDom[U](n: Int, reflexive: Boolean = false)(f: (Int) ⇒ U): Unit
Iterates over all dominator nodes of the given node and calls the given function f for each dominator node.
Iterates over all dominator nodes of the given node and calls the given function f for each dominator node. Iteration starts with the immediate dominator of the given node if reflexive is
falseand starts with the node itself if reflexive istrue.- n
The id of a valid node.
- Definition Classes
- AbstractDominatorTree
-
val
foreachSuccessorOf: (Int) ⇒ ((Int) ⇒ Unit) ⇒ Unit
Executes the given function
ffor each successor instruction ofpc.Executes the given function
ffor each successor instruction ofpc.Defined w.r.t. the (implicitly) augmented CFG.
- Definition Classes
- DominatorTree → AbstractDominatorTree
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val hasVirtualStartNode: Boolean
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
immediateDominators: IntArray
The array which stores the immediate dominator for each node.
The array which stores the immediate dominator for each node.
- Definition Classes
- AbstractDominatorTree
-
def
isAugmented: Boolean
If
truethe underlying cfg was augmented.If
truethe underlying cfg was augmented. To determine in which way the dominator tree is augmented, a pattern match should be used. E.g., the DominatorTree may an additional node which replaces the underlying CFG's root node.- Definition Classes
- DominatorTree → AbstractDominatorTree
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
leaves(isIndexValid: (Int) ⇒ Boolean = _ ⇒ true): Chain[Int]
(Re-)computes the dominator tree's leaf nodes.
(Re-)computes the dominator tree's leaf nodes. Due to the way the graph is stored, this method has a complexity of O(2n). Hence, if the leaves are required more than once, storing/caching them should be considered.
- Definition Classes
- AbstractDominatorTree
-
final
def
maxNode: Int
- Definition Classes
- AbstractDominatorTree
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
val
startNode: Int
The unique start-node of the dominator tree.
The unique start-node of the dominator tree. If the graph is augmented, this maybe a virtual node.
- Definition Classes
- DominatorTree → AbstractDominatorTree
-
final
def
strictlyDominates(n: Int, w: Int): Boolean
- n
a valid node of the graph.
- w
a valid node of the graph.
- returns
trueifnstrictly dominatesw.
- Definition Classes
- AbstractDominatorTree
- Annotations
- @tailrec()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toDot(isIndexValid: (Int) ⇒ Boolean = _ ⇒ true): String
Returns a Graphviz based visualization of this dominator tree.
Returns a Graphviz based visualization of this dominator tree.
- isIndexValid
A function that returns
trueif an element in the iDom array with a specific index is actually identifying a node. This is particularly useful/ required if theidomarray given at initialization time is a sparse array.
- Definition Classes
- AbstractDominatorTree
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )