Uses of Class
com.strobel.decompiler.ast.Node
Packages that use Node
-
Uses of Node in com.strobel.decompiler.ast
Subclasses of Node in com.strobel.decompiler.astModifier and TypeClassDescriptionfinal class
class
final class
final class
final class
final class
class
class
final class
final class
final class
Fields in com.strobel.decompiler.ast declared as NodeFields in com.strobel.decompiler.ast with type parameters of type NodeModifier and TypeFieldDescriptionprivate final Collection
<Node> BasicBlock._body
private final Collection
<Node> Block._body
GotoRemoval.labelLookup
GotoRemoval.labels
GotoRemoval.nextSibling
GotoRemoval.nextSibling
AstBuilder.NOT_A_LABEL_OR_NOP
GotoRemoval.parentLookup
GotoRemoval.parentLookup
Methods in com.strobel.decompiler.ast with type parameters of type NodeModifier and TypeMethodDescriptionprivate <T extends Node>
voidNode.accumulateSelfAndChildrenRecursive
(List<T> list, Class<T> type, Predicate<? super T> predicate, boolean childrenFirst, boolean skipChildrenOfFilteredNodes) Node.getChildrenAndSelfRecursive
(Class<T> type) Node.getChildrenAndSelfRecursive
(Class<T> type, Predicate<? super T> predicate) GotoRemoval.getParents
(Node node, Class<T> parentType) Node.getSelfAndChildrenRecursive
(Class<T> type) Node.getSelfAndChildrenRecursive
(Class<T> type, Predicate<? super T> predicate) Methods in com.strobel.decompiler.ast that return NodeMethods in com.strobel.decompiler.ast that return types with arguments of type NodeModifier and TypeMethodDescriptionAstBuilder.build
(MethodBody body, boolean optimize, DecompilerContext context) AstBuilder.convertToAst
(List<AstBuilder.ByteCode> body) AstBuilder.convertToAst
(List<AstBuilder.ByteCode> body, Set<ExceptionHandler> exceptionHandlers, int startIndex, MutableInteger endIndex) LoopsAndConditions.findConditions
(Set<ControlFlowNode> scopeNodes, ControlFlowNode entryNode) LoopsAndConditions.findLoops
(Set<ControlFlowNode> scopeNodes, ControlFlowNode entryPoint, boolean excludeEntryPoint) BasicBlock.getBody()
Block.getBody()
BasicBlock.getChildren()
Block.getChildren()
Condition.getChildren()
Expression.getChildren()
Lambda.getChildren()
Loop.getChildren()
Node.getChildren()
Switch.getChildren()
TryCatchBlock.getChildren()
Node.getChildrenAndSelfRecursive()
Node.getChildrenAndSelfRecursive
(Predicate<Node> predicate) Node.getChildrenAndSelfRecursive
(Predicate<Node> predicate, boolean skipChildrenOfFilteredNodes) GotoRemoval.getParents
(Node node) Node.getSelfAndChildrenRecursive()
Node.getSelfAndChildrenRecursive
(Predicate<Node> predicate) Node.getSelfAndChildrenRecursive
(Predicate<Node> predicate, boolean skipChildrenOfFilteredNodes) Methods in com.strobel.decompiler.ast with parameters of type NodeModifier and TypeMethodDescription(package private) final void
Inlining.analyzeNode
(Node node) private boolean
AstOptimizer.MakeAssignmentExpressionsOptimization.canConvertStoreToAssignment
(Node store, Variable variable) private Label
private static boolean
AstOptimizer.containsMatch
(Node node, Expression pattern) private void
TypeAnalysis.createDependencyGraph
(Node node) private Node
private Node
static RuntimeException
Error.expressionLinkedFromMultipleLocations
(Node node) private static boolean
AstOptimizer.flattenBasicBlocks
(Node node) GotoRemoval.getParents
(Node node) GotoRemoval.getParents
(Node node, Class<T> parentType) (package private) final boolean
Inlining.inlineIfPossible
(Variable variable, Expression inlinedExpression, Node next, boolean aggressive) private static void
AstOptimizer.inlineLockAccess
(Node owner, List<Node> body, LockInfo lockInfo) private Expression
AstOptimizer.IntroducePostIncrementOptimization.introducePostIncrementForInstanceFields
(Expression e, Node previous) static boolean
static boolean
PatternMatching.matchAssignment
(Node node, StrongBox<Expression> assignedValue) static boolean
PatternMatching.matchAssignment
(Node node, StrongBox<Expression> assignedValue, StrongBox<Expression> equivalentLoad) static boolean
PatternMatching.matchBooleanComparison
(Node node, StrongBox<Expression> argument, StrongBox<Boolean> comparand) static Boolean
PatternMatching.matchBooleanConstant
(Node node) static boolean
PatternMatching.matchBooleanConstant
(Node node, Consumer<? super Boolean> value) static Character
PatternMatching.matchCharacterConstant
(Node node) static boolean
PatternMatching.matchCharacterConstant
(Node node, Consumer<? super Character> value) static boolean
PatternMatching.matchComparison
(Node node, StrongBox<Expression> left, StrongBox<Expression> right) private static boolean
PatternMatching.matchElementAssignment
(Node node, StrongBox<Expression> assignedValue, StrongBox<Expression> equivalentLoad) static boolean
PatternMatching.matchEmptyBlockOrLeave
(Node node) static boolean
PatternMatching.matchEmptyReturn
(Node node) static Boolean
PatternMatching.matchFalse
(Node node) static <T> boolean
PatternMatching.matchGetArgument
(Node node, AstCode code, StrongBox<? super T> operand, StrongBox<Expression> argument) static boolean
PatternMatching.matchGetArgument
(Node node, AstCode code, StrongBox<Expression> argument) static <T> boolean
PatternMatching.matchGetArguments
(Node node, AstCode code, StrongBox<? super T> operand, StrongBox<Expression> argument1, StrongBox<Expression> argument2) static <T> boolean
PatternMatching.matchGetArguments
(Node node, AstCode code, StrongBox<? super T> operand, List<Expression> arguments) static boolean
PatternMatching.matchGetArguments
(Node node, AstCode code, List<Expression> arguments) static <T> boolean
PatternMatching.matchGetOperand
(Node node, AstCode code, Consumer<? super T> operand) static <T> boolean
PatternMatching.matchGetOperand
(Node node, AstCode code, Class<T> operandType, StrongBox<? super T> operand) static boolean
PatternMatching.matchIntegralConstant
(Node node, Consumer<? super Long> constant) static boolean
PatternMatching.matchLeaveHandler
(Node node) static boolean
static boolean
PatternMatching.matchLoad
(Node node, StrongBox<? super Object> temp, Predicate<? super Variable> condition) static boolean
static boolean
PatternMatching.matchLoad
(Node node, Variable expectedVariable, StrongBox<Expression> argument) static boolean
static boolean
PatternMatching.matchLoadAny
(Node node, Iterable<Variable> expectedVariables) static boolean
PatternMatching.matchLoadOrRet
(Node node, StrongBox<Variable> variable) static boolean
PatternMatching.matchLoadStore
(Node node, Variable expectedVariable, StrongBox<Variable> targetVariable) static boolean
PatternMatching.matchLoadStoreAny
(Node node, Iterable<Variable> expectedVariables, StrongBox<Variable> targetVariable) static boolean
PatternMatching.matchNumericConstant
(Node node, Consumer<? super Number> constant) static boolean
PatternMatching.matchNumericLdC
(Node node, StrongBox<? super Number> value) static boolean
PatternMatching.matchReturnOrThrow
(Node node) static boolean
PatternMatching.matchReversibleComparison
(Node node) static boolean
PatternMatching.matchSimplifiableComparison
(Node node) static boolean
PatternMatching.matchStore
(Node node, StrongBox<Variable> variable, StrongBox<Expression> argument) static boolean
PatternMatching.matchStore
(Node node, StrongBox<Variable> variable, List<Expression> argument) static boolean
PatternMatching.matchStore
(Node node, Variable expectedVariable) static boolean
PatternMatching.matchStore
(Node node, Variable expectedVariable, StrongBox<Expression> value) static boolean
static Boolean
static boolean
PatternMatching.matchUnconditionalBranch
(Node node) static boolean
PatternMatching.matchUnlock
(Node e, LockInfo lockInfo) static boolean
PatternMatching.matchVariableIncDec
(Node node, StrongBox<Variable> variable) static boolean
PatternMatching.matchVariableIncDec
(Node node, StrongBox<Variable> variable, StrongBox<Number> amount) static boolean
PatternMatching.matchVariableMutation
(Node node, Variable variable) private static void
AstOptimizer.reduceIfNesting
(Node node) (package private) static boolean
AstOptimizer.references
(Node node, Variable v) static void
AstOptimizer.replaceVariables
(Node node, Function<Variable, Variable> mapping) private boolean
GotoRemoval.tryInlineReturn
(Expression gotoExpression, Node target, AstCode code) static RuntimeException
Error.unsupportedNode
(Node node) Method parameters in com.strobel.decompiler.ast with type arguments of type NodeModifier and TypeMethodDescriptionprivate ControlFlowGraph
LoopsAndConditions.buildGraph
(List<Node> nodes, Label entryLabel) private Node
private Node
Node.getChildrenAndSelfRecursive
(Predicate<Node> predicate) Node.getChildrenAndSelfRecursive
(Predicate<Node> predicate, boolean skipChildrenOfFilteredNodes) Node.getSelfAndChildrenRecursive
(Predicate<Node> predicate) Node.getSelfAndChildrenRecursive
(Predicate<Node> predicate, boolean skipChildrenOfFilteredNodes) (package private) final boolean
Inlining.inlineIfPossible
(List<Node> body, MutableInteger position) (package private) final int
Inlining.inlineInto
(List<Node> body, int position, boolean aggressive) private static void
AstOptimizer.inlineLockAccess
(Node owner, List<Node> body, LockInfo lockInfo) (package private) final boolean
Inlining.inlineOneIfPossible
(List<Node> body, int position, boolean aggressive) private boolean
AstOptimizer.IntroducePostIncrementOptimization.introducePostIncrementForVariables
(List<Node> body, Expression e, int position) private static boolean
AstOptimizer.introducePreIncrementForInstanceFields
(List<Node> body, MutableInteger position, Inlining inlining) private static boolean
AstOptimizer.introducePreIncrementForStaticFields
(List<Node> body, MutableInteger position, Inlining inlining) private static boolean
AstOptimizer.introducePreIncrementForVariables
(List<Node> body, MutableInteger position) private static <T> boolean
PatternMatching.matchLast
(List<Node> body, AstCode code, StrongBox<? super T> operand, StrongBox<Expression> argument) static boolean
(package private) static void
AstOptimizer.removeTail
(List<Node> body, AstCode... codes) final boolean
AstOptimizer.AbstractBranchBlockOptimization.run
(List<Node> body, BasicBlock head, int position) protected abstract boolean
AstOptimizer.AbstractBranchBlockOptimization.run
(List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, boolean negate) boolean
AstOptimizer.BasicBlockOptimization.run
(List<Node> body, BasicBlock head, int position) boolean
AstOptimizer.ExpressionOptimization.run
(List<Node> body, Expression head, int position) final boolean
AstOptimizer.InlineConditionalAssignmentsOptimization.run
(List<Node> body, BasicBlock head, int position) boolean
AstOptimizer.InlineLambdasOptimization.run
(List<Node> body, Expression head, int position) boolean
AstOptimizer.IntroducePostIncrementOptimization.run
(List<Node> body, Expression head, int position) final boolean
AstOptimizer.JoinBasicBlocksOptimization.run
(List<Node> body, BasicBlock head, int position) protected boolean
AstOptimizer.JoinBranchConditionsOptimization.run
(List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, boolean negate) boolean
AstOptimizer.MakeAssignmentExpressionsOptimization.run
(List<Node> body, Expression head, int position) final boolean
AstOptimizer.PreProcessShortCircuitAssignmentsOptimization.run
(List<Node> body, BasicBlock head, int position) boolean
AstOptimizer.RemoveInnerClassAccessNullChecksOptimization.run
(List<Node> body, Expression head, int position) final boolean
AstOptimizer.SimplifyLogicalNotOptimization.run
(List<Node> body, Expression head, int position) final boolean
AstOptimizer.SimplifyShortCircuitOptimization.run
(List<Node> body, BasicBlock head, int position) final boolean
AstOptimizer.SimplifyTernaryOperatorOptimization.run
(List<Node> body, BasicBlock head, int position) boolean
AstOptimizer.SimplifyTernaryOperatorRoundTwoOptimization.run
(List<Node> body, Expression head, int position) boolean
AstOptimizer.TransformArrayInitializersOptimization.run
(List<Node> body, Expression head, int position) boolean
AstOptimizer.TransformObjectInitializersOptimization.run
(List<Node> body, Expression head, int position) private boolean
AstOptimizer.JoinBranchConditionsOptimization.runCore
(List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, Expression elseCondition, boolean negateFirst, Label elseThenLabel, Label elseElseLabel, boolean negateSecond) private boolean
AstOptimizer.TransformArrayInitializersOptimization.tryRefineArrayInitialization
(List<Node> body, Expression head, int position) Constructors in com.strobel.decompiler.ast with parameters of type NodeConstructor parameters in com.strobel.decompiler.ast with type arguments of type Node -
Uses of Node in com.strobel.decompiler.languages.java.ast
Methods in com.strobel.decompiler.languages.java.ast with parameters of type NodeModifier and TypeMethodDescriptionprivate Statement
AstMethodBodyBuilder.transformNode
(Node node, Node next)