Uses of Class
com.strobel.decompiler.languages.java.ast.Expression
Packages that use Expression
Package
Description
-
Uses of Expression in com.strobel.decompiler.languages.java
Method parameters in com.strobel.decompiler.languages.java with type arguments of type ExpressionModifier and TypeMethodDescriptionprivate 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 ExpressionModifier and TypeMethodDescriptionstatic boolean
Correlator.areCorrelated
(Expression readExpression, Statement writeStatement) protected 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
Subclasses of Expression in com.strobel.decompiler.languages.java.astModifier and TypeClassDescriptionclass
class
class
class
private static final class
class
class
class
private static final class
class
final class
class
private static final class
private static final class
class
class
class
private static final class
class
class
class
class
class
final class
final class
class
class
class
class
final class
class
private static final class
final class
class
class
Fields in com.strobel.decompiler.languages.java.ast declared as ExpressionModifier and TypeFieldDescriptionstatic final Expression[]
Expression.EMPTY_EXPESSIONS
static final Expression
Expression.NULL
Fields in com.strobel.decompiler.languages.java.ast with type parameters of type ExpressionModifier and TypeFieldDescriptionprivate final Map
<String, Expression> LocalClassHelper.ClosureRewriterPhaseOneVisitor._initializers
private final Map
<String, Expression> LocalClassHelper.ClosureRewriterPhaseTwoVisitor._initializers
private final List
<Expression> LocalClassHelper.ClosureRewriterPhaseOneVisitor._originalArguments
private final Map
<String, Expression> LocalClassHelper.ClosureRewriterPhaseOneVisitor._replacements
private final Map
<String, Expression> LocalClassHelper.ClosureRewriterPhaseTwoVisitor._replacements
static final Role
<Expression> Roles.ARGUMENT
static final Role
<Expression> MethodGroupExpression.CLOSURE_ARGUMENT_RULE
static final Role
<Expression> Roles.CONDITION
static final Role
<Expression> ConditionalExpression.CONDITION_ROLE
static final Role
<Expression> IfElseStatement.CONDITION_ROLE
static final Role
<Expression> MethodDeclaration.DEFAULT_VALUE_ROLE
static final Role
<Expression> Roles.EXPRESSION
static final Role
<Expression> ConditionalExpression.FALSE_ROLE
static final Role
<Expression> SwitchExpression.GOVERNING_EXPRESSION_ROLE
static final Role
<Expression> AssignmentExpression.LEFT_ROLE
static final Role
<Expression> BinaryOperatorExpression.LEFT_ROLE
static final Role
<Expression> InlinedBytecodeExpression.OPERAND_ROLE
static final Role
<Expression> AssignmentExpression.RIGHT_ROLE
static final Role
<Expression> BinaryOperatorExpression.RIGHT_ROLE
static final Role
<Expression> Roles.TARGET_EXPRESSION
static final Role
<Expression> ConditionalExpression.TRUE_ROLE
static final Role
<Expression> SwitchExpressionArm.VALUE_ROLE
Methods in com.strobel.decompiler.languages.java.ast that return ExpressionModifier and TypeMethodDescriptionExpression.clone()
AstBuilder.createAnnotationElement
(AnnotationElement element) static Expression
Expression.forPattern
(Pattern pattern) final Expression
IndexerExpression.getArgument()
final Expression
AssertStatement.getCondition()
final Expression
ConditionalExpression.getCondition()
final Expression
DoWhileStatement.getCondition()
final Expression
ForStatement.getCondition()
final Expression
IfElseStatement.getCondition()
final Expression
WhileStatement.getCondition()
final Expression
MethodDeclaration.getDefaultValue()
final Expression
CaseLabel.getExpression()
final Expression
CastExpression.getExpression()
final Expression
ExpressionStatement.getExpression()
final Expression
InstanceOfExpression.getExpression()
final Expression
ParenthesizedExpression.getExpression()
final Expression
ReturnStatement.getExpression()
final Expression
SwitchStatement.getExpression()
final Expression
SynchronizedStatement.getExpression()
final Expression
ThrowStatement.getExpression()
final Expression
UnaryOperatorExpression.getExpression()
final Expression
ConditionalExpression.getFalseExpression()
final Expression
SwitchExpression.getGoverningExpression()
final Expression
ForEachStatement.getInExpression()
final Expression
VariableInitializer.getInitializer()
final Expression
AssignmentExpression.getLeft()
final Expression
BinaryOperatorExpression.getLeft()
final Expression
AssertStatement.getMessage()
final Expression
AssignmentExpression.getRight()
final Expression
BinaryOperatorExpression.getRight()
final Expression
IndexerExpression.getTarget()
final Expression
InvocationExpression.getTarget()
final Expression
MemberReferenceExpression.getTarget()
final Expression
MethodGroupExpression.getTarget()
final Expression
ObjectCreationExpression.getTarget()
final Expression
SuperReferenceExpression.getTarget()
final Expression
ThisReferenceExpression.getTarget()
final Expression
ConditionalExpression.getTrueExpression()
final Expression
BreakStatement.getValue()
private static Expression
AstMethodBodyBuilder.inlineAssembly
(Expression byteCode, 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, List<Expression> arguments) Methods in com.strobel.decompiler.languages.java.ast that return types with arguments of type ExpressionModifier and TypeMethodDescriptionprivate List
<Expression> AstMethodBodyBuilder.adjustArgumentsForMethodCall
(MethodReference method, List<Expression> arguments) private List
<Expression> AstMethodBodyBuilder.adjustArgumentsForMethodCallCore
(List<ParameterDefinition> parameters, List<Expression> arguments) final AstNodeCollection
<Expression> Annotation.getArguments()
final AstNodeCollection
<Expression> EnumValueDeclaration.getArguments()
final AstNodeCollection
<Expression> InvocationExpression.getArguments()
final AstNodeCollection
<Expression> ObjectCreationExpression.getArguments()
final AstNodeCollection
<Expression> MethodGroupExpression.getClosureArguments()
final AstNodeCollection
<Expression> ArrayCreationExpression.getDimensions()
final AstNodeCollection
<Expression> ArrayInitializerExpression.getElements()
final AstNodeCollection
<Expression> InlinedBytecodeExpression.getOperands()
Role
<? extends Expression> Expression.getRole()
final AstNodeCollection
<Expression> SwitchExpressionArm.getValues()
Methods in com.strobel.decompiler.languages.java.ast with parameters of type ExpressionModifier and TypeMethodDescriptionfinal void
BlockStatement.add
(Expression expression) protected 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) final DefiniteAssignmentStatus
DefiniteAssignmentAnalysis.DefiniteAssignmentVisitor.handleAssignment
(Expression left, Expression right, DefiniteAssignmentStatus initialStatus) private static boolean
LocalClassHelper.hasSideEffects
(Expression e) AstType.invoke
(MethodReference methodReference, Expression... arguments) AstType.invoke
(MethodReference methodReference, Iterable<AstType> typeArguments, Expression... arguments) AstType.invoke
(String methodName, Expression... arguments) AstType.invoke
(String methodName, Iterable<AstType> typeArguments, Expression... arguments) Expression.invoke
(MethodReference methodReference, Expression... arguments) Expression.invoke
(MethodReference methodReference, Iterable<AstType> typeArguments, Expression... arguments) Expression.invoke
(Expression... arguments) Expression.invoke
(String methodName, Expression... arguments) Expression.invoke
(String methodName, Iterable<AstType> typeArguments, Expression... arguments) AstType.makeNew
(Expression... arguments) private static void
InsertParenthesesVisitor.parenthesize
(Expression expression) private static void
InsertParenthesesVisitor.parenthesizeIfRequired
(Expression expression, int minimumPrecedence) final void
IndexerExpression.setArgument
(Expression value) final void
AssertStatement.setCondition
(Expression value) final void
ConditionalExpression.setCondition
(Expression value) final void
DoWhileStatement.setCondition
(Expression value) final void
ForStatement.setCondition
(Expression value) final void
IfElseStatement.setCondition
(Expression value) final void
WhileStatement.setCondition
(Expression value) final void
MethodDeclaration.setDefaultValue
(Expression value) final void
CaseLabel.setExpression
(Expression value) final void
CastExpression.setExpression
(Expression value) final void
ExpressionStatement.setExpression
(Expression value) final void
InstanceOfExpression.setExpression
(Expression value) final void
ParenthesizedExpression.setExpression
(Expression value) final void
ReturnStatement.setExpression
(Expression value) final void
SwitchStatement.setExpression
(Expression value) final void
SynchronizedStatement.setExpression
(Expression value) final void
ThrowStatement.setExpression
(Expression value) final void
UnaryOperatorExpression.setExpression
(Expression value) final void
ConditionalExpression.setFalseExpression
(Expression value) final void
SwitchExpression.setGoverningExpression
(Expression value) final void
ForEachStatement.setInExpression
(Expression value) final void
VariableInitializer.setInitializer
(Expression value) final void
AssignmentExpression.setLeft
(Expression value) final void
BinaryOperatorExpression.setLeft
(Expression value) final void
AssertStatement.setMessage
(Expression message) final void
AssignmentExpression.setRight
(Expression value) final void
BinaryOperatorExpression.setRight
(Expression value) final void
IndexerExpression.setTarget
(Expression value) final void
InvocationExpression.setTarget
(Expression value) final void
MemberReferenceExpression.setTarget
(Expression value) final void
MethodGroupExpression.setTarget
(Expression value) final void
ObjectCreationExpression.setTarget
(Expression value) final void
SuperReferenceExpression.setTarget
(Expression value) final void
ThisReferenceExpression.setTarget
(Expression value) final void
ConditionalExpression.setTrueExpression
(Expression value) final void
BreakStatement.setValue
(Expression value) Method parameters in com.strobel.decompiler.languages.java.ast with type arguments of type ExpressionModifier and TypeMethodDescriptionprivate List
<Expression> AstMethodBodyBuilder.adjustArgumentsForMethodCall
(MethodReference method, List<Expression> arguments) private static Expression
AstMethodBodyBuilder.inlineAssembly
(Expression byteCode, List<Expression> arguments) AstType.invoke
(MethodReference methodReference, Iterable<Expression> arguments) AstType.invoke
(String methodName, Iterable<Expression> arguments) Expression.invoke
(MethodReference methodReference, Iterable<Expression> arguments) Expression.invoke
(Iterable<Expression> arguments) Expression.invoke
(String methodName, Iterable<Expression> arguments) AstType.makeNew
(Iterable<Expression> arguments) private static void
LocalClassHelper.rewriteThisReferences
(DecompilerContext context, TypeDeclaration declaration, Map<String, Expression> initializers) private Expression
AstMethodBodyBuilder.transformCall
(boolean isVirtual, Expression byteCode, List<Expression> arguments) Constructors in com.strobel.decompiler.languages.java.ast with parameters of type ExpressionModifierConstructorDescriptionAnonymousObjectCreationExpression
(int offset, TypeDeclaration typeDeclaration, AstType type, Expression... arguments) ArrayInitializerExpression
(Expression... elements) AssignmentExpression
(Expression left, AssignmentOperatorType operator, Expression right) AssignmentExpression
(Expression left, Expression right) BinaryOperatorExpression
(Expression left, BinaryOperatorType operator, Expression right) CaseLabel
(Expression value) CastExpression
(AstType castToType, Expression expression) ConditionalExpression
(Expression condition, Expression trueExpression, Expression falseExpression) ExpressionStatement
(Expression expression) IfElseStatement
(int offset, Expression condition, Statement trueStatement) IfElseStatement
(int offset, Expression condition, Statement trueStatement, Statement falseStatement) IfElseStatement
(Expression condition, Statement trueStatement) IfElseStatement
(Expression condition, Statement trueStatement, Statement falseStatement) IndexerExpression
(int offset, Expression target, Expression argument) InstanceOfExpression
(int offset, Expression expression, AstType type) InstanceOfExpression
(Expression expression, AstType type) InvocationExpression
(int offset, Expression target, Expression... arguments) InvocationExpression
(int offset, Expression target, Iterable<Expression> arguments) InvocationExpression
(Expression target, Expression... arguments) InvocationExpression
(Expression target, Iterable<Expression> arguments) MemberReferenceExpression
(int offset, Expression target, String memberName, AstType... typeArguments) MemberReferenceExpression
(int offset, Expression target, String memberName, Iterable<AstType> typeArguments) MemberReferenceExpression
(Expression target, String memberName, AstType... typeArguments) MemberReferenceExpression
(Expression target, String memberName, Iterable<AstType> typeArguments) MethodGroupExpression
(int offset, Expression target, String methodName) ObjectCreationExpression
(int offset, AstType type, Expression... arguments) ObjectCreationExpression
(AstType type, Expression... arguments) ParenthesizedExpression
(Expression expression) ReturnStatement
(int offset, Expression returnValue) ReturnStatement
(Expression returnValue) SwitchStatement
(Expression testExpression) ThrowStatement
(Expression expression) UnaryOperatorExpression
(UnaryOperatorType operator, Expression expression) VariableDeclarationStatement
(AstType type, String name, int offset, Expression initializer) VariableDeclarationStatement
(AstType type, String name, Expression initializer) VariableInitializer
(String name, Expression initializer) WhileStatement
(Expression condition) Constructor parameters in com.strobel.decompiler.languages.java.ast with type arguments of type ExpressionModifierConstructorDescriptionAnonymousObjectCreationExpression
(int offset, TypeDeclaration typeDeclaration, AstType type, Iterable<Expression> arguments) ArrayInitializerExpression
(Iterable<Expression> elements) ClosureRewriterPhaseOneVisitor
(DecompilerContext context, List<Expression> originalArguments, Map<String, Expression> replacements, Map<String, Expression> initializers, List<ParameterDefinition> parametersToRemove, List<AstNode> nodesToRemove) ClosureRewriterPhaseOneVisitor
(DecompilerContext context, List<Expression> originalArguments, Map<String, Expression> replacements, Map<String, Expression> initializers, List<ParameterDefinition> parametersToRemove, List<AstNode> nodesToRemove) protected
ClosureRewriterPhaseTwoVisitor
(DecompilerContext context, Map<String, Expression> replacements, Map<String, Expression> initializers) InvocationExpression
(int offset, Expression target, Iterable<Expression> arguments) InvocationExpression
(Expression target, Iterable<Expression> arguments) ObjectCreationExpression
(int offset, AstType type, Iterable<Expression> arguments) ObjectCreationExpression
(AstType type, 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 ExpressionModifier and TypeFieldDescriptionprivate final StrongBox
<Expression> EnumSwitchRewriterTransform.Visitor._scratch
(package private) final Map
<Integer, Expression> EclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo.mappings
(package private) final Map
<String, Map<Integer, Expression>> EnumSwitchRewriterTransform.Visitor.SwitchMapInfo.mappings
private final List
<Expression> RewriteSwitchExpressionsTransform.SwitchExpressionInlining.references
(package private) final Map
<BreakStatement, Expression> RewriteSwitchExpressionsTransform.CaseInfo.yieldedValues
Methods in com.strobel.decompiler.languages.java.ast.transforms that return ExpressionModifier and TypeMethodDescriptionprivate 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 ExpressionModifier and TypeMethodDescriptionprivate 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, 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 ExpressionModifier and TypeMethodDescriptionprivate boolean
IntroduceStringConcatenationTransform.anyIsString
(List<Expression> expressions) private boolean
IntroduceStringConcatenationTransform.anyIsString
(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, Map<Integer, Expression> mappings) private boolean
EnumSwitchRewriterTransform.Visitor.rewriteSwitch
(SwitchStatement s, Map<Integer, Expression> mappings) -
Uses of Expression in com.strobel.decompiler.languages.java.utilities
Methods in com.strobel.decompiler.languages.java.utilities that return ExpressionModifier and TypeMethodDescriptionprivate static Expression
RedundantCastUtility.removeParentheses
(Expression e) static Expression
TypeUtilities.skipParenthesesDown
(Expression e) Methods in com.strobel.decompiler.languages.java.utilities with parameters of type ExpressionModifier and TypeMethodDescriptionprivate 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