Package com.strobel.decompiler.ast
Class Node
- java.lang.Object
-
- com.strobel.decompiler.ast.Node
-
- Direct Known Subclasses:
BasicBlock
,Block
,Condition
,Expression
,Label
,Lambda
,Loop
,Switch
,TryCatchBlock
public abstract class Node extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Node()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private <T extends Node>
voidaccumulateSelfAndChildrenRecursive(java.util.List<T> list, java.lang.Class<T> type, Predicate<? super T> predicate, boolean childrenFirst, boolean skipChildrenOfFilteredNodes)
java.util.List<Node>
getChildren()
java.util.List<Node>
getChildrenAndSelfRecursive()
java.util.List<Node>
getChildrenAndSelfRecursive(Predicate<Node> predicate)
java.util.List<Node>
getChildrenAndSelfRecursive(Predicate<Node> predicate, boolean skipChildrenOfFilteredNodes)
<T extends Node>
java.util.List<T>getChildrenAndSelfRecursive(java.lang.Class<T> type)
<T extends Node>
java.util.List<T>getChildrenAndSelfRecursive(java.lang.Class<T> type, Predicate<? super T> predicate)
java.util.List<Node>
getSelfAndChildrenRecursive()
java.util.List<Node>
getSelfAndChildrenRecursive(Predicate<Node> predicate)
java.util.List<Node>
getSelfAndChildrenRecursive(Predicate<Node> predicate, boolean skipChildrenOfFilteredNodes)
<T extends Node>
java.util.List<T>getSelfAndChildrenRecursive(java.lang.Class<T> type)
<T extends Node>
java.util.List<T>getSelfAndChildrenRecursive(java.lang.Class<T> type, Predicate<? super T> predicate)
boolean
isConditionalControlFlow()
boolean
isUnconditionalControlFlow()
java.lang.String
toString()
abstract void
writeTo(ITextOutput output)
-
-
-
Field Detail
-
NULL
public static final Node NULL
-
-
Method Detail
-
writeTo
public abstract void writeTo(ITextOutput output)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
isConditionalControlFlow
public final boolean isConditionalControlFlow()
-
isUnconditionalControlFlow
public final boolean isUnconditionalControlFlow()
-
getChildren
public java.util.List<Node> getChildren()
-
getSelfAndChildrenRecursive
public final java.util.List<Node> getSelfAndChildrenRecursive()
-
getSelfAndChildrenRecursive
public final java.util.List<Node> getSelfAndChildrenRecursive(Predicate<Node> predicate)
-
getSelfAndChildrenRecursive
public final java.util.List<Node> getSelfAndChildrenRecursive(Predicate<Node> predicate, boolean skipChildrenOfFilteredNodes)
-
getSelfAndChildrenRecursive
public final <T extends Node> java.util.List<T> getSelfAndChildrenRecursive(java.lang.Class<T> type)
-
getSelfAndChildrenRecursive
public final <T extends Node> java.util.List<T> getSelfAndChildrenRecursive(java.lang.Class<T> type, Predicate<? super T> predicate)
-
getChildrenAndSelfRecursive
public final java.util.List<Node> getChildrenAndSelfRecursive()
-
getChildrenAndSelfRecursive
public final java.util.List<Node> getChildrenAndSelfRecursive(Predicate<Node> predicate)
-
getChildrenAndSelfRecursive
public final java.util.List<Node> getChildrenAndSelfRecursive(Predicate<Node> predicate, boolean skipChildrenOfFilteredNodes)
-
getChildrenAndSelfRecursive
public final <T extends Node> java.util.List<T> getChildrenAndSelfRecursive(java.lang.Class<T> type)
-
getChildrenAndSelfRecursive
public final <T extends Node> java.util.List<T> getChildrenAndSelfRecursive(java.lang.Class<T> type, Predicate<? super T> predicate)
-
-