Uses of Class
com.strobel.decompiler.ast.Expression
Packages that use Expression
-
Uses of Expression in com.strobel.decompiler.ast
Fields in com.strobel.decompiler.ast declared as ExpressionModifier and TypeFieldDescriptionprivate ExpressionCondition._conditionprivate ExpressionLoop._conditionprivate ExpressionSwitch._conditionprivate ExpressionBlock._entryGoto(package private) ExpressionTypeAnalysis.ExpressionToInfer.expressionfinal ExpressionLockInfo.lockAcquirefinal ExpressionLockInfo.lockInitfinal ExpressionLockInfo.lockStorefinal ExpressionLockInfo.lockStoreCopyFields in com.strobel.decompiler.ast with type parameters of type ExpressionModifier and TypeFieldDescriptionprivate final SmartList<Expression> Expression._argumentsprivate final Stack<Expression> TypeAnalysis._stack(package private) final StrongBox<Expression> Inlining._tempExpressionprotected final StrongBox<Expression> AstOptimizer.AbstractBranchBlockOptimization.expression(package private) final Map<Variable, List<Expression>> Inlining.loadsstatic final Key<Expression> AstKeys.PARENT_LAMBDA_BINDINGMethods in com.strobel.decompiler.ast that return ExpressionModifier and TypeMethodDescriptionfinal ExpressionExpression.clone()final ExpressionCondition.getCondition()final ExpressionLoop.getCondition()final ExpressionSwitch.getCondition()final ExpressionBlock.getEntryGoto()private ExpressionAstOptimizer.IntroducePostIncrementOptimization.introducePostIncrementForInstanceFields(Expression e, Node previous) (package private) static ExpressionAstOptimizer.makeLeftAssociativeShortCircuit(AstCode code, Expression left, Expression right) private static ExpressionAstOptimizer.SimplifyTernaryOperatorRoundTwoOptimization.simplify(Expression head, BooleanBox modified) (package private) static ExpressionAstOptimizer.simplifyLogicalNot(Expression expression) (package private) static ExpressionAstOptimizer.simplifyLogicalNot(Expression expression, BooleanBox modified) private static ExpressionAstOptimizer.SimplifyTernaryOperatorRoundTwoOptimization.simplifyTernaryDirect(Expression head) Methods in com.strobel.decompiler.ast that return types with arguments of type ExpressionModifier and TypeMethodDescriptionfinal List<Expression> Expression.getArguments()private static Iterable<Expression> Inlining.getParents(Expression scope, Map<Expression, Expression> parentLookup, Expression node) Methods in com.strobel.decompiler.ast with parameters of type ExpressionModifier and TypeMethodDescription(package private) static booleanInlining.canBeExpressionStatement(Expression expression) private booleanLoopsAndConditions.canBeSelfContainedLoop(BasicBlock node, Expression branch, Label target) (package private) final booleanInlining.canPerformCopyPropagation(Expression expr, Variable copyVariable) private static booleanAstOptimizer.canSimplifyLogicalNotArgument(Expression e) private static booleanAstOptimizer.containsMatch(Node node, Expression pattern) private intLoopsAndConditions.countJumps(Set<ControlFlowNode> nodes, Label target, Expression ignore) private TypeReferenceTypeAnalysis.doInferTypeForExpression(Expression expression, TypeReference expectedType, boolean forceInferChildren, int flags) (package private) final BooleanInlining.findLoadInNext(Expression expression, Variable variable, Expression expressionBeingMoved, StrongBox<Expression> parent, MutableInteger position) private voidTypeAnalysis.findNestedAssignments(Expression expression, TypeAnalysis.ExpressionToInfer parent) private AstCodeAstOptimizer.IntroducePostIncrementOptimization.getIncrementCode(Expression add, StrongBox<Number> incrementAmount) private static Iterable<Expression> Inlining.getParents(Expression scope, Map<Expression, Expression> parentLookup, Expression node) (package private) static booleanInlining.hasNoSideEffect(Expression expression) private TypeReferenceTypeAnalysis.inferBinaryArguments(Expression left, Expression right, TypeReference expectedType, boolean forceInferChildren, TypeReference leftPreferred, TypeReference rightPreferred, int operandFlags) private TypeReferenceTypeAnalysis.inferCall(Expression expression, TypeReference expectedType, boolean forceInferChildren) private TypeReferenceTypeAnalysis.inferDynamicCall(Expression expression, TypeReference expectedType, boolean forceInferChildren) private TypeReferenceTypeAnalysis.inferInitObject(Expression expression, TypeReference expectedType, boolean forceInferChildren, MethodReference operand, List<Expression> arguments) private TypeReferenceTypeAnalysis.inferTypeForExpression(Expression expression, TypeReference expectedType) private TypeReferenceTypeAnalysis.inferTypeForExpression(Expression expression, TypeReference expectedType, boolean forceInferChildren) private TypeReferenceTypeAnalysis.inferTypeForExpression(Expression expression, TypeReference expectedType, boolean forceInferChildren, int flags) private TypeReferenceTypeAnalysis.inferTypeForExpression(Expression expression, TypeReference expectedType, int flags) (package private) final booleanInlining.inlineIfPossible(Variable variable, Expression inlinedExpression, Node next, boolean aggressive) private ExpressionAstOptimizer.IntroducePostIncrementOptimization.introducePostIncrementForInstanceFields(Expression e, Node previous) private booleanAstOptimizer.IntroducePostIncrementOptimization.introducePostIncrementForVariables(List<Node> body, Expression e, int position) private voidTypeAnalysis.invalidateDependentExpressions(Expression expression, Variable variable) booleanExpression.isEquivalentTo(Expression e) (package private) static booleanInlining.isSafeForInlineOver(Expression expression, Expression expressionBeingMoved) (package private) static ExpressionAstOptimizer.makeLeftAssociativeShortCircuit(AstCode code, Expression left, Expression right) private static booleanAstOptimizer.negate(Expression e) private booleanInlining.nonAggressiveInlineInto(Expression next, Expression parent, Expression inlinedExpression) private static voidAstOptimizer.reduceComparisonInstructionSet(Expression expression) protected abstract booleanAstOptimizer.AbstractBranchBlockOptimization.run(List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, boolean negate) booleanAstOptimizer.ExpressionOptimization.run(List<Node> body, Expression head, int position) booleanAstOptimizer.InlineLambdasOptimization.run(List<Node> body, Expression head, int position) booleanAstOptimizer.IntroducePostIncrementOptimization.run(List<Node> body, Expression 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) booleanAstOptimizer.RemoveInnerClassAccessNullChecksOptimization.run(List<Node> body, Expression head, int position) final booleanAstOptimizer.SimplifyLogicalNotOptimization.run(List<Node> body, Expression 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 voidTypeAnalysis.runInference(Expression expression) private voidTypeAnalysis.runInference(Expression expression, int flags) final voidCondition.setCondition(Expression condition) final voidLoop.setCondition(Expression condition) final voidSwitch.setCondition(Expression condition) final voidBlock.setEntryGoto(Expression entryGoto) private static ExpressionAstOptimizer.SimplifyTernaryOperatorRoundTwoOptimization.simplify(Expression head, BooleanBox modified) (package private) static ExpressionAstOptimizer.simplifyLogicalNot(Expression expression) (package private) static ExpressionAstOptimizer.simplifyLogicalNot(Expression expression, BooleanBox modified) (package private) static booleanAstOptimizer.simplifyLogicalNotArgument(Expression e) private static ExpressionAstOptimizer.SimplifyTernaryOperatorRoundTwoOptimization.simplifyTernaryDirect(Expression head) private LambdaAstOptimizer.InlineLambdasOptimization.tryInlineLambda(Expression site, DynamicCallSite callSite) private booleanGotoRemoval.tryInlineReturn(Expression gotoExpression, Node target, AstCode code) private booleanAstOptimizer.TransformArrayInitializersOptimization.tryRefineArrayInitialization(List<Node> body, Expression head, int position) private booleanGotoRemoval.trySimplifyGoto(Expression gotoExpression) Method parameters in com.strobel.decompiler.ast with type arguments of type ExpressionModifier and TypeMethodDescription(package private) final BooleanInlining.findLoadInNext(Expression expression, Variable variable, Expression expressionBeingMoved, StrongBox<Expression> parent, MutableInteger position) private static Iterable<Expression> Inlining.getParents(Expression scope, Map<Expression, Expression> parentLookup, Expression node) private static Iterable<Expression> Inlining.getParents(Expression scope, Map<Expression, Expression> parentLookup, Expression node) private TypeReferenceTypeAnalysis.inferBinaryExpression(AstCode code, List<Expression> arguments, int flags) private TypeReferenceTypeAnalysis.inferInitObject(Expression expression, TypeReference expectedType, boolean forceInferChildren, MethodReference operand, List<Expression> arguments) static booleanPatternMatching.matchAssignment(Node node, StrongBox<Expression> assignedValue) static booleanPatternMatching.matchAssignment(Node node, StrongBox<Expression> assignedValue, StrongBox<Expression> equivalentLoad) static booleanPatternMatching.matchAssignmentAndConditionalBreak(BasicBlock block, StrongBox<Expression> assignedValue, StrongBox<Expression> condition, StrongBox<Label> trueLabel, StrongBox<Label> falseLabel, StrongBox<Expression> equivalentLoad) static booleanPatternMatching.matchBooleanComparison(Node node, StrongBox<Expression> argument, StrongBox<Boolean> comparand) 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.matchGetArgument(Node node, AstCode code, StrongBox<Expression> argument) 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 booleanPatternMatching.matchLoad(Node node, Variable expectedVariable, StrongBox<Expression> argument) static booleanPatternMatching.matchStore(Node node, StrongBox<Variable> variable, List<Expression> argument) static booleanPatternMatching.matchStore(Node node, Variable expectedVariable, StrongBox<Expression> value) Constructors in com.strobel.decompiler.ast with parameters of type ExpressionModifierConstructorDescriptionExpression(AstCode code, Object operand, int offset, Expression... arguments) (package private)LockInfo(Label leadingLabel, Expression lockAcquire) (package private)LockInfo(Label leadingLabel, Expression lockInit, Expression lockStore, Expression lockStoreCopy, Expression lockAcquire) Constructor parameters in com.strobel.decompiler.ast with type arguments of type ExpressionModifierConstructorDescriptionExpression(AstCode code, Object operand, int offset, List<Expression> arguments) -
Uses of Expression in com.strobel.decompiler.languages.java.ast
Methods in com.strobel.decompiler.languages.java.ast with parameters of type ExpressionModifier and TypeMethodDescriptionprivate static StringNameVariables.getNameForArgument(Expression parent, int i) private static StringNameVariables.getNameFromExpression(Expression e) private static ExpressionAstMethodBodyBuilder.inlineAssembly(Expression byteCode, List<Expression> arguments) private AstNodeAstMethodBodyBuilder.transformByteCode(Expression byteCode, boolean isTopLevel) private ExpressionAstMethodBodyBuilder.transformCall(boolean isVirtual, Expression byteCode, List<Expression> arguments) private AstNodeAstMethodBodyBuilder.transformExpression(Expression e, boolean isTopLevel) private SynchronizedStatementAstMethodBodyBuilder.transformSynchronized(Expression expression, TryCatchBlock tryCatch)