Uses of Class
com.strobel.decompiler.languages.java.ast.Expression
-
-
Uses of Expression in com.strobel.decompiler.languages.java
Method parameters in com.strobel.decompiler.languages.java with type arguments of type Expression Modifier and Type Method Description private void
JavaOutputVisitor. writeInitializerElements(AstNodeCollection<Expression> elements)
-
Uses of Expression in com.strobel.decompiler.languages.java.analysis
Methods in com.strobel.decompiler.languages.java.analysis with parameters of type Expression Modifier and Type Method Description static boolean
Correlator. areCorrelated(Expression readExpression, Statement writeStatement)
protected java.lang.Boolean
ControlFlowGraphBuilder. evaluateCondition(Expression e)
protected ResolveResult
ControlFlowGraphBuilder. evaluateConstant(Expression e)
static UsageType
UsageClassifier. getUsageType(Expression expression)
-
Uses of Expression in com.strobel.decompiler.languages.java.ast
Fields in com.strobel.decompiler.languages.java.ast declared as Expression Modifier and Type Field Description static Expression[]
Expression. EMPTY_EXPESSIONS
static Expression
Expression. NULL
Fields in com.strobel.decompiler.languages.java.ast with type parameters of type Expression Modifier and Type Field Description private java.util.Map<java.lang.String,Expression>
LocalClassHelper.ClosureRewriterPhaseOneVisitor. _initializers
private java.util.Map<java.lang.String,Expression>
LocalClassHelper.ClosureRewriterPhaseTwoVisitor. _initializers
private java.util.List<Expression>
LocalClassHelper.ClosureRewriterPhaseOneVisitor. _originalArguments
private java.util.Map<java.lang.String,Expression>
LocalClassHelper.ClosureRewriterPhaseOneVisitor. _replacements
private java.util.Map<java.lang.String,Expression>
LocalClassHelper.ClosureRewriterPhaseTwoVisitor. _replacements
static Role<Expression>
Roles. ARGUMENT
static Role<Expression>
MethodGroupExpression. CLOSURE_ARGUMENT_RULE
static Role<Expression>
Roles. CONDITION
static Role<Expression>
ConditionalExpression. CONDITION_ROLE
static Role<Expression>
IfElseStatement. CONDITION_ROLE
static Role<Expression>
MethodDeclaration. DEFAULT_VALUE_ROLE
static Role<Expression>
Roles. EXPRESSION
static Role<Expression>
ConditionalExpression. FALSE_ROLE
static Role<Expression>
SwitchExpression. GOVERNING_EXPRESSION_ROLE
static Role<Expression>
AssignmentExpression. LEFT_ROLE
static Role<Expression>
BinaryOperatorExpression. LEFT_ROLE
static Role<Expression>
InlinedBytecodeExpression. OPERAND_ROLE
static Role<Expression>
AssignmentExpression. RIGHT_ROLE
static Role<Expression>
BinaryOperatorExpression. RIGHT_ROLE
static Role<Expression>
Roles. TARGET_EXPRESSION
static Role<Expression>
ConditionalExpression. TRUE_ROLE
static Role<Expression>
SwitchExpressionArm. VALUE_ROLE
Methods in com.strobel.decompiler.languages.java.ast that return Expression Modifier and Type Method Description Expression
Expression. clone()
Expression
AstBuilder. createAnnotationElement(AnnotationElement element)
static Expression
Expression. forPattern(Pattern pattern)
Expression
IndexerExpression. getArgument()
Expression
AssertStatement. getCondition()
Expression
ConditionalExpression. getCondition()
Expression
DoWhileStatement. getCondition()
Expression
ForStatement. getCondition()
Expression
IfElseStatement. getCondition()
Expression
WhileStatement. getCondition()
Expression
MethodDeclaration. getDefaultValue()
Expression
CaseLabel. getExpression()
Expression
CastExpression. getExpression()
Expression
ExpressionStatement. getExpression()
Expression
InstanceOfExpression. getExpression()
Expression
ParenthesizedExpression. getExpression()
Expression
ReturnStatement. getExpression()
Expression
SwitchStatement. getExpression()
Expression
SynchronizedStatement. getExpression()
Expression
ThrowStatement. getExpression()
Expression
UnaryOperatorExpression. getExpression()
Expression
ConditionalExpression. getFalseExpression()
Expression
SwitchExpression. getGoverningExpression()
Expression
ForEachStatement. getInExpression()
Expression
VariableInitializer. getInitializer()
Expression
AssignmentExpression. getLeft()
Expression
BinaryOperatorExpression. getLeft()
Expression
AssertStatement. getMessage()
Expression
AssignmentExpression. getRight()
Expression
BinaryOperatorExpression. getRight()
Expression
IndexerExpression. getTarget()
Expression
InvocationExpression. getTarget()
Expression
MemberReferenceExpression. getTarget()
Expression
MethodGroupExpression. getTarget()
Expression
ObjectCreationExpression. getTarget()
Expression
SuperReferenceExpression. getTarget()
Expression
ThisReferenceExpression. getTarget()
Expression
ConditionalExpression. getTrueExpression()
Expression
BreakStatement. getValue()
private static Expression
AstMethodBodyBuilder. inlineAssembly(Expression byteCode, java.util.List<Expression> arguments)
static Expression
AstBuilder. makeDefaultValue(TypeReference type)
static Expression
AstBuilder. makePrimitive(long val, TypeReference type)
private Expression
AstMethodBodyBuilder. transformCall(boolean isVirtual, Expression byteCode, java.util.List<Expression> arguments)
Methods in com.strobel.decompiler.languages.java.ast with parameters of type Expression Modifier and Type Method Description void
BlockStatement. add(Expression expression)
protected java.lang.Boolean
DefiniteAssignmentAnalysis. evaluateCondition(Expression e)
protected ResolveResult
DefiniteAssignmentAnalysis. evaluateConstant(Expression e)
private static BinaryOperatorType
InsertParenthesesVisitor. getBinaryOperatorType(Expression e)
private static int
InsertParenthesesVisitor. getPrecedence(Expression e)
(package private) DefiniteAssignmentStatus
DefiniteAssignmentAnalysis.DefiniteAssignmentVisitor. handleAssignment(Expression left, Expression right, DefiniteAssignmentStatus initialStatus)
private static boolean
LocalClassHelper. hasSideEffects(Expression e)
InvocationExpression
AstType. invoke(MethodReference methodReference, Expression... arguments)
InvocationExpression
AstType. invoke(MethodReference methodReference, java.lang.Iterable<AstType> typeArguments, Expression... arguments)
InvocationExpression
AstType. invoke(java.lang.String methodName, Expression... arguments)
InvocationExpression
AstType. invoke(java.lang.String methodName, java.lang.Iterable<AstType> typeArguments, Expression... arguments)
InvocationExpression
Expression. invoke(MethodReference methodReference, Expression... arguments)
InvocationExpression
Expression. invoke(MethodReference methodReference, java.lang.Iterable<AstType> typeArguments, Expression... arguments)
InvocationExpression
Expression. invoke(Expression... arguments)
InvocationExpression
Expression. invoke(java.lang.String methodName, Expression... arguments)
InvocationExpression
Expression. invoke(java.lang.String methodName, java.lang.Iterable<AstType> typeArguments, Expression... arguments)
ObjectCreationExpression
AstType. makeNew(Expression... arguments)
private static void
InsertParenthesesVisitor. parenthesize(Expression expression)
private static void
InsertParenthesesVisitor. parenthesizeIfRequired(Expression expression, int minimumPrecedence)
void
IndexerExpression. setArgument(Expression value)
void
AssertStatement. setCondition(Expression value)
void
ConditionalExpression. setCondition(Expression value)
void
DoWhileStatement. setCondition(Expression value)
void
ForStatement. setCondition(Expression value)
void
IfElseStatement. setCondition(Expression value)
void
WhileStatement. setCondition(Expression value)
void
MethodDeclaration. setDefaultValue(Expression value)
void
CaseLabel. setExpression(Expression value)
void
CastExpression. setExpression(Expression value)
void
ExpressionStatement. setExpression(Expression value)
void
InstanceOfExpression. setExpression(Expression value)
void
ParenthesizedExpression. setExpression(Expression value)
void
ReturnStatement. setExpression(Expression value)
void
SwitchStatement. setExpression(Expression value)
void
SynchronizedStatement. setExpression(Expression value)
void
ThrowStatement. setExpression(Expression value)
void
UnaryOperatorExpression. setExpression(Expression value)
void
ConditionalExpression. setFalseExpression(Expression value)
void
SwitchExpression. setGoverningExpression(Expression value)
void
ForEachStatement. setInExpression(Expression value)
void
VariableInitializer. setInitializer(Expression value)
void
AssignmentExpression. setLeft(Expression value)
void
BinaryOperatorExpression. setLeft(Expression value)
void
AssertStatement. setMessage(Expression message)
void
AssignmentExpression. setRight(Expression value)
void
BinaryOperatorExpression. setRight(Expression value)
void
IndexerExpression. setTarget(Expression value)
void
InvocationExpression. setTarget(Expression value)
void
MemberReferenceExpression. setTarget(Expression value)
void
MethodGroupExpression. setTarget(Expression value)
void
ObjectCreationExpression. setTarget(Expression value)
void
SuperReferenceExpression. setTarget(Expression value)
void
ThisReferenceExpression. setTarget(Expression value)
void
ConditionalExpression. setTrueExpression(Expression value)
void
BreakStatement. setValue(Expression value)
Method parameters in com.strobel.decompiler.languages.java.ast with type arguments of type Expression Modifier and Type Method Description private java.util.List<Expression>
AstMethodBodyBuilder. adjustArgumentsForMethodCall(MethodReference method, java.util.List<Expression> arguments)
private static Expression
AstMethodBodyBuilder. inlineAssembly(Expression byteCode, java.util.List<Expression> arguments)
InvocationExpression
AstType. invoke(MethodReference methodReference, java.lang.Iterable<Expression> arguments)
InvocationExpression
AstType. invoke(java.lang.String methodName, java.lang.Iterable<Expression> arguments)
InvocationExpression
Expression. invoke(MethodReference methodReference, java.lang.Iterable<Expression> arguments)
InvocationExpression
Expression. invoke(java.lang.Iterable<Expression> arguments)
InvocationExpression
Expression. invoke(java.lang.String methodName, java.lang.Iterable<Expression> arguments)
ObjectCreationExpression
AstType. makeNew(java.lang.Iterable<Expression> arguments)
private static void
LocalClassHelper. rewriteThisReferences(DecompilerContext context, TypeDeclaration declaration, java.util.Map<java.lang.String,Expression> initializers)
private Expression
AstMethodBodyBuilder. transformCall(boolean isVirtual, Expression byteCode, java.util.List<Expression> arguments)
Constructor parameters in com.strobel.decompiler.languages.java.ast with type arguments of type Expression Constructor Description AnonymousObjectCreationExpression(int offset, TypeDeclaration typeDeclaration, AstType type, java.lang.Iterable<Expression> arguments)
ArrayInitializerExpression(java.lang.Iterable<Expression> elements)
ClosureRewriterPhaseOneVisitor(DecompilerContext context, java.util.List<Expression> originalArguments, java.util.Map<java.lang.String,Expression> replacements, java.util.Map<java.lang.String,Expression> initializers, java.util.List<ParameterDefinition> parametersToRemove, java.util.List<AstNode> nodesToRemove)
ClosureRewriterPhaseOneVisitor(DecompilerContext context, java.util.List<Expression> originalArguments, java.util.Map<java.lang.String,Expression> replacements, java.util.Map<java.lang.String,Expression> initializers, java.util.List<ParameterDefinition> parametersToRemove, java.util.List<AstNode> nodesToRemove)
ClosureRewriterPhaseTwoVisitor(DecompilerContext context, java.util.Map<java.lang.String,Expression> replacements, java.util.Map<java.lang.String,Expression> initializers)
InvocationExpression(int offset, Expression target, java.lang.Iterable<Expression> arguments)
InvocationExpression(Expression target, java.lang.Iterable<Expression> arguments)
ObjectCreationExpression(int offset, AstType type, java.lang.Iterable<Expression> arguments)
ObjectCreationExpression(AstType type, java.lang.Iterable<Expression> arguments)
-
Uses of Expression in com.strobel.decompiler.languages.java.ast.transforms
Fields in com.strobel.decompiler.languages.java.ast.transforms with type parameters of type Expression Modifier and Type Field Description private StrongBox<Expression>
EnumSwitchRewriterTransform.Visitor. _scratch
(package private) java.util.Map<java.lang.Integer,Expression>
EclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo. mappings
(package private) java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,Expression>>
EnumSwitchRewriterTransform.Visitor.SwitchMapInfo. mappings
private java.util.List<Expression>
RewriteSwitchExpressionsTransform.SwitchExpressionInlining. references
(package private) java.util.Map<BreakStatement,Expression>
RewriteSwitchExpressionsTransform.CaseInfo. yieldedValues
Methods in com.strobel.decompiler.languages.java.ast.transforms that return Expression Modifier and Type Method Description private Expression
InsertNecessaryConversionsTransform. convertBooleanToNumeric(Expression operand)
private Expression
InsertNecessaryConversionsTransform. convertNumericToBoolean(Expression node, TypeReference type)
protected Expression
AbstractHelperClassTransform. tryConvertArgument(Variable lookupVariable, AstType methodHandles, ParameterDefinition p, DynamicCallSite callSite, int argumentIndex, boolean isVarArgs)
Methods in com.strobel.decompiler.languages.java.ast.transforms with parameters of type Expression Modifier and Type Method Description private boolean
InsertNecessaryConversionsTransform. addCastForAssignment(AstNode left, Expression right)
private Expression
InsertNecessaryConversionsTransform. convertBooleanToNumeric(Expression operand)
private Expression
InsertNecessaryConversionsTransform. convertNumericToBoolean(Expression node, TypeReference type)
private void
IntroduceStringConcatenationTransform. convertStringBuilderToConcatenation(ObjectCreationExpression node, Expression firstArgument)
protected FieldDeclaration
AbstractHelperClassTransform. declareField(FieldDefinition fd, Expression initializer, int extraFlags)
private boolean
EnumSwitchRewriterTransform.Visitor. isSwitchMapLookup(Expression e, StrongBox<Expression> enumValue)
private static boolean
EliminateSyntheticAccessorsTransform. isThisOrOuterThisReference(Expression e)
protected InvocationExpression
AbstractHelperClassTransform. makeMethodHandle(Expression lookup, MethodHandle handle)
protected InvocationExpression
AbstractHelperClassTransform. makeMethodHandle(Expression lookup, MethodHandle handle, Expression methodType)
protected InvocationExpression
AbstractHelperClassTransform. makeMethodHandle(Expression lookup, MethodHandle handle, Expression methodType, TypeReference optionalSpecialCaller)
private boolean
DeclareVariablesTransform. tryConvertAssignmentExpressionIntoVariableDeclaration(BlockStatement block, Expression expression, AstType type, java.lang.String variableName)
private void
InlineEscapingAssignmentsTransform. tryInlineValue(Statement previous, Expression value)
private boolean
SimplifyAssignmentsTransform. tryRewriteBinaryAsAssignment(AssignmentExpression node, Expression left, Expression right)
private boolean
SimplifyAssignmentsTransform. tryRewriteBinaryAsUnary(AssignmentExpression node, Expression left, Expression right)
Method parameters in com.strobel.decompiler.languages.java.ast.transforms with type arguments of type Expression Modifier and Type Method Description private boolean
IntroduceStringConcatenationTransform. anyIsString(java.util.List<Expression> expressions)
private boolean
IntroduceStringConcatenationTransform. anyIsString(java.util.List<Expression> expressions, int start, int end)
private void
IntroduceStringConcatenationTransform. handleIndyConcat(InvocationExpression parent, AstNodeCollection<Expression> arguments)
private void
IntroduceStringConcatenationTransform. handleIndyConcatWithConstants(InvocationExpression parent, DynamicCallSite callSite, AstNodeCollection<Expression> arguments)
private boolean
EnumSwitchRewriterTransform.Visitor. isSwitchMapLookup(Expression e, StrongBox<Expression> enumValue)
private boolean
EclipseEnumSwitchRewriterTransform.Visitor. rewriteSwitch(SwitchStatement s, java.util.Map<java.lang.Integer,Expression> mappings)
private boolean
EnumSwitchRewriterTransform.Visitor. rewriteSwitch(SwitchStatement s, java.util.Map<java.lang.Integer,Expression> mappings)
-
Uses of Expression in com.strobel.decompiler.languages.java.utilities
Methods in com.strobel.decompiler.languages.java.utilities that return Expression Modifier and Type Method Description private static Expression
RedundantCastUtility. removeParentheses(Expression e)
static Expression
TypeUtilities. skipParenthesesDown(Expression e)
Methods in com.strobel.decompiler.languages.java.utilities with parameters of type Expression Modifier and Type Method Description private boolean
RedundantCastUtility.IsRedundantVisitor. castChangesBinarySemantics(Expression operand, Expression otherOperand, Expression toCast, BinaryOperatorType operator)
private static boolean
TypeUtilities. checkSameExpression(Expression template, Expression expression)
private ConversionType
RedundantCastUtility.IsRedundantVisitor. getConversion(TypeReference target, TypeReference source, Expression value)
Determines the conversion type, taking lossiness into consideration for numeric conversions.static TypeReference
TypeUtilities. getExpectedTypeByParent(Function<AstNode,ResolveResult> resolver, Expression expression)
private static IMethodSignature
TypeUtilities. getLambdaSignatureCore(Expression node)
private ConversionType
RedundantCastUtility.IsRedundantVisitor. getNumericConversion(TypeReference target, TypeReference source, Expression value)
Determines the numeric conversion type, taking lossiness into consideration.protected boolean
RedundantCastUtility.IsRedundantVisitor. isCastRedundantInReferenceExpression(TypeReference type, Expression operand)
protected void
RedundantCastUtility.IsRedundantVisitor. processBinaryExpressionOperand(Expression operand, Expression other, BinaryOperatorType op, TypeReference resultType)
protected void
RedundantCastUtility.IsRedundantVisitor. processCall(Expression e)
protected void
RedundantCastUtility.IsRedundantVisitor. processPossibleTypeCast(Expression rightExpression, TypeReference leftType)
private static Expression
RedundantCastUtility. removeParentheses(Expression e)
static Expression
TypeUtilities. skipParenthesesDown(Expression e)
-
Uses of Expression in com.strobel.decompiler.patterns
Methods in com.strobel.decompiler.patterns that return Expression Modifier and Type Method Description Expression
Pattern. toExpression()
-