Class SimplifyAssignmentsTransform
- java.lang.Object
-
- com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<java.lang.Void,TResult>
-
- com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<AstNode>
-
- com.strobel.decompiler.languages.java.ast.transforms.SimplifyAssignmentsTransform
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,AstNode>,IAstTransform
public class SimplifyAssignmentsTransform extends ContextTrackingVisitor<AstNode> implements IAstTransform
-
-
Field Summary
Fields Modifier and Type Field Description private JavaResolver_resolverprivate static PrimitiveExpressionFALSE_CONSTANTprivate static Function<AstNode,AstNode>NEGATE_FUNCTIONprivate static PrimitiveExpressionTRUE_CONSTANT-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Constructor Description SimplifyAssignmentsTransform(DecompilerContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleantryRewriteBinaryAsAssignment(AssignmentExpression node, Expression left, Expression right)private booleantryRewriteBinaryAsUnary(AssignmentExpression node, Expression left, Expression right)AstNodevisitAssignmentExpression(AssignmentExpression node, java.lang.Void data)AstNodevisitBinaryOperatorExpression(BinaryOperatorExpression node, java.lang.Void data)AstNodevisitConditionalExpression(ConditionalExpression node, java.lang.Void data)AstNodevisitUnaryOperatorExpression(UnaryOperatorExpression node, java.lang.Void p)-
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 Detail
-
_resolver
private final JavaResolver _resolver
-
TRUE_CONSTANT
private static final PrimitiveExpression TRUE_CONSTANT
-
FALSE_CONSTANT
private static final PrimitiveExpression FALSE_CONSTANT
-
-
Constructor Detail
-
SimplifyAssignmentsTransform
public SimplifyAssignmentsTransform(DecompilerContext context)
-
-
Method Detail
-
visitConditionalExpression
public AstNode visitConditionalExpression(ConditionalExpression node, java.lang.Void data)
- Specified by:
visitConditionalExpressionin interfaceIAstVisitor<java.lang.Void,AstNode>- Overrides:
visitConditionalExpressionin classDepthFirstAstVisitor<java.lang.Void,AstNode>
-
visitBinaryOperatorExpression
public AstNode visitBinaryOperatorExpression(BinaryOperatorExpression node, java.lang.Void data)
- Specified by:
visitBinaryOperatorExpressionin interfaceIAstVisitor<java.lang.Void,AstNode>- Overrides:
visitBinaryOperatorExpressionin classDepthFirstAstVisitor<java.lang.Void,AstNode>
-
visitUnaryOperatorExpression
public AstNode visitUnaryOperatorExpression(UnaryOperatorExpression node, java.lang.Void p)
- Specified by:
visitUnaryOperatorExpressionin interfaceIAstVisitor<java.lang.Void,AstNode>- Overrides:
visitUnaryOperatorExpressionin classDepthFirstAstVisitor<java.lang.Void,AstNode>
-
visitAssignmentExpression
public AstNode visitAssignmentExpression(AssignmentExpression node, java.lang.Void data)
- Specified by:
visitAssignmentExpressionin interfaceIAstVisitor<java.lang.Void,AstNode>- Overrides:
visitAssignmentExpressionin classDepthFirstAstVisitor<java.lang.Void,AstNode>
-
tryRewriteBinaryAsAssignment
private boolean tryRewriteBinaryAsAssignment(AssignmentExpression node, Expression left, Expression right)
-
tryRewriteBinaryAsUnary
private boolean tryRewriteBinaryAsUnary(AssignmentExpression node, Expression left, Expression right)
-
-