Class SimplifyAssignmentsTransform
java.lang.Object
com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<Void,AstNode>
com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<AstNode>
com.strobel.decompiler.languages.java.ast.transforms.SimplifyAssignmentsTransform
- All Implemented Interfaces:
IAstVisitor<Void,
,AstNode> IAstTransform
public class SimplifyAssignmentsTransform
extends ContextTrackingVisitor<AstNode>
implements IAstTransform
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final JavaResolver
private static final PrimitiveExpression
private static final PrimitiveExpression
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
tryRewriteBinaryAsAssignment
(AssignmentExpression node, Expression left, Expression right) private boolean
tryRewriteBinaryAsUnary
(AssignmentExpression node, Expression left, Expression right) visitAssignmentExpression
(AssignmentExpression node, Void data) visitConditionalExpression
(ConditionalExpression node, Void data) Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, run, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, visitTypeDeclaration, visitTypeDeclarationOverride
Methods inherited from class com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitAnonymousObjectCreationExpression, visitArrayCreationExpression, visitArrayInitializerExpression, visitArraySpecifier, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitBytecodeConstant, visitCaseLabel, visitCastExpression, visitCatchClause, visitChildren, visitClassOfExpression, visitComment, visitCompilationUnit, visitComposedType, visitContinueStatement, visitDoWhileStatement, visitEmptyStatement, visitEnumValueDeclaration, visitExpressionStatement, visitFieldDeclaration, visitForEachStatement, visitForStatement, visitGotoStatement, visitIdentifier, visitIdentifierExpression, visitIfElseStatement, visitImportDeclaration, visitIndexerExpression, visitInitializerBlock, visitInlinedBytecode, visitInstanceOfExpression, visitIntersectionType, visitInvocationExpression, visitJavaTokenNode, visitLabeledStatement, visitLabelStatement, visitLambdaExpression, visitLocalTypeDeclarationStatement, visitMemberReferenceExpression, visitMethodGroupExpression, visitModuleDeclaration, visitNewLine, visitNullReferenceExpression, visitObjectCreationExpression, visitPackageDeclaration, visitParameterDeclaration, visitParenthesizedExpression, visitPatternPlaceholder, visitPrimitiveExpression, visitReturnStatement, visitSimpleType, visitSuperReferenceExpression, visitSwitchExpression, visitSwitchExpressionArm, visitSwitchSection, visitSwitchStatement, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTryCatchStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWhileStatement, visitWildcardType
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.strobel.decompiler.languages.java.ast.transforms.IAstTransform
run
-
Field Details
-
NEGATE_FUNCTION
-
_resolver
-
TRUE_CONSTANT
-
FALSE_CONSTANT
-
-
Constructor Details
-
SimplifyAssignmentsTransform
-
-
Method Details
-
visitConditionalExpression
- Specified by:
visitConditionalExpression
in interfaceIAstVisitor<Void,
AstNode> - Overrides:
visitConditionalExpression
in classDepthFirstAstVisitor<Void,
AstNode>
-
visitBinaryOperatorExpression
- Specified by:
visitBinaryOperatorExpression
in interfaceIAstVisitor<Void,
AstNode> - Overrides:
visitBinaryOperatorExpression
in classDepthFirstAstVisitor<Void,
AstNode>
-
visitUnaryOperatorExpression
- Specified by:
visitUnaryOperatorExpression
in interfaceIAstVisitor<Void,
AstNode> - Overrides:
visitUnaryOperatorExpression
in classDepthFirstAstVisitor<Void,
AstNode>
-
visitAssignmentExpression
- Specified by:
visitAssignmentExpression
in interfaceIAstVisitor<Void,
AstNode> - Overrides:
visitAssignmentExpression
in classDepthFirstAstVisitor<Void,
AstNode>
-
tryRewriteBinaryAsAssignment
private boolean tryRewriteBinaryAsAssignment(AssignmentExpression node, Expression left, Expression right) -
tryRewriteBinaryAsUnary
private boolean tryRewriteBinaryAsUnary(AssignmentExpression node, Expression left, Expression right)
-