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 JavaResolverprivate static final PrimitiveExpressionprivate static final PrimitiveExpressionFields inherited from class ContextTrackingVisitor
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleantryRewriteBinaryAsAssignment(AssignmentExpression node, Expression left, Expression right) private booleantryRewriteBinaryAsUnary(AssignmentExpression node, Expression left, Expression right) visitAssignmentExpression(AssignmentExpression node, Void data) visitConditionalExpression(ConditionalExpression node, Void data) Methods inherited from class ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, run, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, visitTypeDeclaration, visitTypeDeclarationOverrideMethods inherited from class 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, visitWildcardTypeMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IAstTransform
run
-
Field Details
-
NEGATE_FUNCTION
-
_resolver
-
TRUE_CONSTANT
-
FALSE_CONSTANT
-
-
Constructor Details
-
SimplifyAssignmentsTransform
-
-
Method Details
-
visitConditionalExpression
- Specified by:
visitConditionalExpressionin interfaceIAstVisitor<Void,AstNode> - Overrides:
visitConditionalExpressionin classDepthFirstAstVisitor<Void,AstNode>
-
visitBinaryOperatorExpression
- Specified by:
visitBinaryOperatorExpressionin interfaceIAstVisitor<Void,AstNode> - Overrides:
visitBinaryOperatorExpressionin classDepthFirstAstVisitor<Void,AstNode>
-
visitUnaryOperatorExpression
- Specified by:
visitUnaryOperatorExpressionin interfaceIAstVisitor<Void,AstNode> - Overrides:
visitUnaryOperatorExpressionin classDepthFirstAstVisitor<Void,AstNode>
-
visitAssignmentExpression
- Specified by:
visitAssignmentExpressionin interfaceIAstVisitor<Void,AstNode> - Overrides:
visitAssignmentExpressionin classDepthFirstAstVisitor<Void,AstNode>
-
tryRewriteBinaryAsAssignment
private boolean tryRewriteBinaryAsAssignment(AssignmentExpression node, Expression left, Expression right) -
tryRewriteBinaryAsUnary
private boolean tryRewriteBinaryAsUnary(AssignmentExpression node, Expression left, Expression right)
-