Uses of Class
com.strobel.decompiler.ast.Expression
-
Packages that use Expression Package Description com.strobel.decompiler.ast com.strobel.decompiler.languages.java.ast -
-
Uses of Expression in com.strobel.decompiler.ast
Fields in com.strobel.decompiler.ast declared as Expression Modifier and Type Field Description private ExpressionCondition. _conditionprivate ExpressionLoop. _conditionprivate ExpressionSwitch. _conditionprivate ExpressionBlock. _entryGoto(package private) ExpressionTypeAnalysis.ExpressionToInfer. expressionExpressionLockInfo. lockAcquireExpressionLockInfo. lockInitExpressionLockInfo. lockStoreExpressionLockInfo. lockStoreCopyFields in com.strobel.decompiler.ast with type parameters of type Expression Modifier and Type Field Description private SmartList<Expression>Expression. _argumentsprivate java.util.Stack<Expression>TypeAnalysis. _stack(package private) StrongBox<Expression>Inlining. _tempExpressionprotected StrongBox<Expression>AstOptimizer.AbstractBranchBlockOptimization. expression(package private) java.util.Map<Variable,java.util.List<Expression>>Inlining. loadsstatic Key<Expression>AstKeys. PARENT_LAMBDA_BINDINGMethods in com.strobel.decompiler.ast that return Expression Modifier and Type Method Description ExpressionExpression. clone()ExpressionCondition. getCondition()ExpressionLoop. getCondition()ExpressionSwitch. getCondition()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 Expression Modifier and Type Method Description java.util.List<Expression>Expression. getArguments()private static java.lang.Iterable<Expression>Inlining. getParents(Expression scope, java.util.Map<Expression,Expression> parentLookup, Expression node)Methods in com.strobel.decompiler.ast with parameters of type Expression Modifier and Type Method Description (package private) static booleanInlining. canBeExpressionStatement(Expression expression)private booleanLoopsAndConditions. canBeSelfContainedLoop(BasicBlock node, Expression branch, Label target)(package private) booleanInlining. canPerformCopyPropagation(Expression expr, Variable copyVariable)private static booleanAstOptimizer. canSimplifyLogicalNotArgument(Expression e)private static booleanAstOptimizer. containsMatch(Node node, Expression pattern)private intLoopsAndConditions. countJumps(java.util.Set<ControlFlowNode> nodes, Label target, Expression ignore)private TypeReferenceTypeAnalysis. doInferTypeForExpression(Expression expression, TypeReference expectedType, boolean forceInferChildren, int flags)(package private) java.lang.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<java.lang.Number> incrementAmount)private static java.lang.Iterable<Expression>Inlining. getParents(Expression scope, java.util.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, java.util.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) booleanInlining. inlineIfPossible(Variable variable, Expression inlinedExpression, Node next, boolean aggressive)private ExpressionAstOptimizer.IntroducePostIncrementOptimization. introducePostIncrementForInstanceFields(Expression e, Node previous)private booleanAstOptimizer.IntroducePostIncrementOptimization. introducePostIncrementForVariables(java.util.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(java.util.List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, boolean negate)booleanAstOptimizer.ExpressionOptimization. run(java.util.List<Node> body, Expression head, int position)booleanAstOptimizer.InlineLambdasOptimization. run(java.util.List<Node> body, Expression head, int position)booleanAstOptimizer.IntroducePostIncrementOptimization. run(java.util.List<Node> body, Expression head, int position)protected booleanAstOptimizer.JoinBranchConditionsOptimization. run(java.util.List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, boolean negate)booleanAstOptimizer.MakeAssignmentExpressionsOptimization. run(java.util.List<Node> body, Expression head, int position)booleanAstOptimizer.RemoveInnerClassAccessNullChecksOptimization. run(java.util.List<Node> body, Expression head, int position)booleanAstOptimizer.SimplifyLogicalNotOptimization. run(java.util.List<Node> body, Expression head, int position)booleanAstOptimizer.SimplifyTernaryOperatorRoundTwoOptimization. run(java.util.List<Node> body, Expression head, int position)booleanAstOptimizer.TransformArrayInitializersOptimization. run(java.util.List<Node> body, Expression head, int position)booleanAstOptimizer.TransformObjectInitializersOptimization. run(java.util.List<Node> body, Expression head, int position)private booleanAstOptimizer.JoinBranchConditionsOptimization. runCore(java.util.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)voidCondition. setCondition(Expression condition)voidLoop. setCondition(Expression condition)voidSwitch. setCondition(Expression condition)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(java.util.List<Node> body, Expression head, int position)private booleanGotoRemoval. trySimplifyGoto(Expression gotoExpression)Method parameters in com.strobel.decompiler.ast with type arguments of type Expression Modifier and Type Method Description (package private) java.lang.BooleanInlining. findLoadInNext(Expression expression, Variable variable, Expression expressionBeingMoved, StrongBox<Expression> parent, MutableInteger position)private static java.lang.Iterable<Expression>Inlining. getParents(Expression scope, java.util.Map<Expression,Expression> parentLookup, Expression node)private static java.lang.Iterable<Expression>Inlining. getParents(Expression scope, java.util.Map<Expression,Expression> parentLookup, Expression node)private TypeReferenceTypeAnalysis. inferBinaryExpression(AstCode code, java.util.List<Expression> arguments, int flags)private TypeReferenceTypeAnalysis. inferInitObject(Expression expression, TypeReference expectedType, boolean forceInferChildren, MethodReference operand, java.util.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<java.lang.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, java.util.List<Expression> arguments)static booleanPatternMatching. matchGetArguments(Node node, AstCode code, java.util.List<Expression> arguments)static booleanPatternMatching. matchLoad(Node node, Variable expectedVariable, StrongBox<Expression> argument)static booleanPatternMatching. matchStore(Node node, StrongBox<Variable> variable, java.util.List<Expression> argument)static booleanPatternMatching. matchStore(Node node, Variable expectedVariable, StrongBox<Expression> value)Constructors in com.strobel.decompiler.ast with parameters of type Expression Constructor Description Expression(AstCode code, java.lang.Object operand, int offset, Expression... arguments)LockInfo(Label leadingLabel, Expression lockAcquire)LockInfo(Label leadingLabel, Expression lockInit, Expression lockStore, Expression lockStoreCopy, Expression lockAcquire)Constructor parameters in com.strobel.decompiler.ast with type arguments of type Expression Constructor Description Expression(AstCode code, java.lang.Object operand, int offset, java.util.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 Expression Modifier and Type Method Description private static java.lang.StringNameVariables. getNameForArgument(Expression parent, int i)private static java.lang.StringNameVariables. getNameFromExpression(Expression e)private static ExpressionAstMethodBodyBuilder. inlineAssembly(Expression byteCode, java.util.List<Expression> arguments)private AstNodeAstMethodBodyBuilder. transformByteCode(Expression byteCode, boolean isTopLevel)private ExpressionAstMethodBodyBuilder. transformCall(boolean isVirtual, Expression byteCode, java.util.List<Expression> arguments)private AstNodeAstMethodBodyBuilder. transformExpression(Expression e, boolean isTopLevel)private SynchronizedStatementAstMethodBodyBuilder. transformSynchronized(Expression expression, TryCatchBlock tryCatch)
-