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 classclassfinal classfinal classfinal classfinal classclassclassfinal classfinal classfinal classFields 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._bodyprivate final Collection<Node> Block._bodyGotoRemoval.labelLookupGotoRemoval.labelsGotoRemoval.nextSiblingGotoRemoval.nextSiblingAstBuilder.NOT_A_LABEL_OR_NOPGotoRemoval.parentLookupGotoRemoval.parentLookupMethods 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 voidInlining.analyzeNode(Node node) private booleanAstOptimizer.MakeAssignmentExpressionsOptimization.canConvertStoreToAssignment(Node store, Variable variable) private Labelprivate static booleanAstOptimizer.containsMatch(Node node, Expression pattern) private voidTypeAnalysis.createDependencyGraph(Node node) private Nodeprivate Nodestatic RuntimeExceptionError.expressionLinkedFromMultipleLocations(Node node) private static booleanAstOptimizer.flattenBasicBlocks(Node node) GotoRemoval.getParents(Node node) GotoRemoval.getParents(Node node, Class<T> parentType) (package private) final booleanInlining.inlineIfPossible(Variable variable, Expression inlinedExpression, Node next, boolean aggressive) private static voidAstOptimizer.inlineLockAccess(Node owner, List<Node> body, LockInfo lockInfo) private ExpressionAstOptimizer.IntroducePostIncrementOptimization.introducePostIncrementForInstanceFields(Expression e, Node previous) static booleanstatic booleanPatternMatching.matchAssignment(Node node, StrongBox<Expression> assignedValue) static booleanPatternMatching.matchAssignment(Node node, StrongBox<Expression> assignedValue, StrongBox<Expression> equivalentLoad) static booleanPatternMatching.matchBooleanComparison(Node node, StrongBox<Expression> argument, StrongBox<Boolean> comparand) static BooleanPatternMatching.matchBooleanConstant(Node node) static booleanPatternMatching.matchBooleanConstant(Node node, Consumer<? super Boolean> value) static CharacterPatternMatching.matchCharacterConstant(Node node) static booleanPatternMatching.matchCharacterConstant(Node node, Consumer<? super Character> value) static booleanPatternMatching.matchComparison(Node node, StrongBox<Expression> left, StrongBox<Expression> right) private static booleanPatternMatching.matchElementAssignment(Node node, StrongBox<Expression> assignedValue, StrongBox<Expression> equivalentLoad) static booleanPatternMatching.matchEmptyBlockOrLeave(Node node) static booleanPatternMatching.matchEmptyReturn(Node node) static BooleanPatternMatching.matchFalse(Node node) static <T> booleanPatternMatching.matchGetArgument(Node node, AstCode code, StrongBox<? super T> operand, StrongBox<Expression> argument) static booleanPatternMatching.matchGetArgument(Node node, AstCode code, StrongBox<Expression> argument) static <T> booleanPatternMatching.matchGetArguments(Node node, AstCode code, StrongBox<? super T> operand, StrongBox<Expression> argument1, StrongBox<Expression> argument2) static <T> booleanPatternMatching.matchGetArguments(Node node, AstCode code, StrongBox<? super T> operand, List<Expression> arguments) static booleanPatternMatching.matchGetArguments(Node node, AstCode code, List<Expression> arguments) static <T> booleanPatternMatching.matchGetOperand(Node node, AstCode code, Consumer<? super T> operand) static <T> booleanPatternMatching.matchGetOperand(Node node, AstCode code, Class<T> operandType, StrongBox<? super T> operand) static booleanPatternMatching.matchIntegralConstant(Node node, Consumer<? super Long> constant) static booleanPatternMatching.matchLeaveHandler(Node node) static booleanstatic booleanPatternMatching.matchLoad(Node node, StrongBox<? super Object> temp, Predicate<? super Variable> condition) static booleanstatic booleanPatternMatching.matchLoad(Node node, Variable expectedVariable, StrongBox<Expression> argument) static booleanstatic booleanPatternMatching.matchLoadAny(Node node, Iterable<Variable> expectedVariables) static booleanPatternMatching.matchLoadOrRet(Node node, StrongBox<Variable> variable) static booleanPatternMatching.matchLoadStore(Node node, Variable expectedVariable, StrongBox<Variable> targetVariable) static booleanPatternMatching.matchLoadStoreAny(Node node, Iterable<Variable> expectedVariables, StrongBox<Variable> targetVariable) static booleanPatternMatching.matchNumericConstant(Node node, Consumer<? super Number> constant) static booleanPatternMatching.matchNumericLdC(Node node, StrongBox<? super Number> value) static booleanPatternMatching.matchReturnOrThrow(Node node) static booleanPatternMatching.matchReversibleComparison(Node node) static booleanPatternMatching.matchSimplifiableComparison(Node node) static booleanPatternMatching.matchStore(Node node, StrongBox<Variable> variable, StrongBox<Expression> argument) static booleanPatternMatching.matchStore(Node node, StrongBox<Variable> variable, List<Expression> argument) static booleanPatternMatching.matchStore(Node node, Variable expectedVariable) static booleanPatternMatching.matchStore(Node node, Variable expectedVariable, StrongBox<Expression> value) static booleanstatic Booleanstatic booleanPatternMatching.matchUnconditionalBranch(Node node) static booleanPatternMatching.matchUnlock(Node e, LockInfo lockInfo) static booleanPatternMatching.matchVariableIncDec(Node node, StrongBox<Variable> variable) static booleanPatternMatching.matchVariableIncDec(Node node, StrongBox<Variable> variable, StrongBox<Number> amount) static booleanPatternMatching.matchVariableMutation(Node node, Variable variable) private static voidAstOptimizer.reduceIfNesting(Node node) (package private) static booleanAstOptimizer.references(Node node, Variable v) static voidAstOptimizer.replaceVariables(Node node, Function<Variable, Variable> mapping) private booleanGotoRemoval.tryInlineReturn(Expression gotoExpression, Node target, AstCode code) static RuntimeExceptionError.unsupportedNode(Node node) Method parameters in com.strobel.decompiler.ast with type arguments of type NodeModifier and TypeMethodDescriptionprivate ControlFlowGraphLoopsAndConditions.buildGraph(List<Node> nodes, Label entryLabel) private Nodeprivate NodeNode.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 booleanInlining.inlineIfPossible(List<Node> body, MutableInteger position) (package private) final intInlining.inlineInto(List<Node> body, int position, boolean aggressive) private static voidAstOptimizer.inlineLockAccess(Node owner, List<Node> body, LockInfo lockInfo) (package private) final booleanInlining.inlineOneIfPossible(List<Node> body, int position, boolean aggressive) private booleanAstOptimizer.IntroducePostIncrementOptimization.introducePostIncrementForVariables(List<Node> body, Expression e, int position) private static booleanAstOptimizer.introducePreIncrementForInstanceFields(List<Node> body, MutableInteger position, Inlining inlining) private static booleanAstOptimizer.introducePreIncrementForStaticFields(List<Node> body, MutableInteger position, Inlining inlining) private static booleanAstOptimizer.introducePreIncrementForVariables(List<Node> body, MutableInteger position) private static <T> booleanPatternMatching.matchLast(List<Node> body, AstCode code, StrongBox<? super T> operand, StrongBox<Expression> argument) static boolean(package private) static voidAstOptimizer.removeTail(List<Node> body, AstCode... codes) final booleanAstOptimizer.AbstractBranchBlockOptimization.run(List<Node> body, BasicBlock head, int position) protected abstract booleanAstOptimizer.AbstractBranchBlockOptimization.run(List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, boolean negate) booleanAstOptimizer.BasicBlockOptimization.run(List<Node> body, BasicBlock head, int position) booleanAstOptimizer.ExpressionOptimization.run(List<Node> body, Expression head, int position) final booleanAstOptimizer.InlineConditionalAssignmentsOptimization.run(List<Node> body, BasicBlock head, int position) booleanAstOptimizer.InlineLambdasOptimization.run(List<Node> body, Expression head, int position) booleanAstOptimizer.IntroducePostIncrementOptimization.run(List<Node> body, Expression head, int position) final booleanAstOptimizer.JoinBasicBlocksOptimization.run(List<Node> body, BasicBlock head, int position) protected booleanAstOptimizer.JoinBranchConditionsOptimization.run(List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, boolean negate) booleanAstOptimizer.MakeAssignmentExpressionsOptimization.run(List<Node> body, Expression head, int position) final booleanAstOptimizer.PreProcessShortCircuitAssignmentsOptimization.run(List<Node> body, BasicBlock head, int position) booleanAstOptimizer.RemoveInnerClassAccessNullChecksOptimization.run(List<Node> body, Expression head, int position) final booleanAstOptimizer.SimplifyLogicalNotOptimization.run(List<Node> body, Expression head, int position) final booleanAstOptimizer.SimplifyShortCircuitOptimization.run(List<Node> body, BasicBlock head, int position) final booleanAstOptimizer.SimplifyTernaryOperatorOptimization.run(List<Node> body, BasicBlock head, int position) booleanAstOptimizer.SimplifyTernaryOperatorRoundTwoOptimization.run(List<Node> body, Expression head, int position) booleanAstOptimizer.TransformArrayInitializersOptimization.run(List<Node> body, Expression head, int position) booleanAstOptimizer.TransformObjectInitializersOptimization.run(List<Node> body, Expression head, int position) private booleanAstOptimizer.JoinBranchConditionsOptimization.runCore(List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, Expression elseCondition, boolean negateFirst, Label elseThenLabel, Label elseElseLabel, boolean negateSecond) private booleanAstOptimizer.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 StatementAstMethodBodyBuilder.transformNode(Node node, Node next)