Package org.openrewrite.java.cleanup
Class SimplifyBooleanExpressionVisitor
java.lang.Object
org.openrewrite.TreeVisitor<org.openrewrite.java.tree.J,P>
org.openrewrite.java.JavaVisitor<org.openrewrite.ExecutionContext>
org.openrewrite.java.cleanup.SimplifyBooleanExpressionVisitor
-
Field Summary
Fields inherited from class org.openrewrite.java.JavaVisitor
javadocVisitor
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
shouldSimplifyEqualsOn
(org.openrewrite.java.tree.J j) Override this method to disable simplification of equals expressions, specifically for Kotlin while that is not yet part of the OpenRewrite/rewrite.org.openrewrite.java.tree.J
visitBinary
(org.openrewrite.java.tree.J.Binary binary, org.openrewrite.ExecutionContext ctx) org.openrewrite.java.tree.J
visitMethodInvocation
(org.openrewrite.java.tree.J.MethodInvocation method, org.openrewrite.ExecutionContext executionContext) <T extends org.openrewrite.java.tree.J>
org.openrewrite.java.tree.JvisitParentheses
(org.openrewrite.java.tree.J.Parentheses<T> parens, org.openrewrite.ExecutionContext ctx) org.openrewrite.java.tree.J
visitUnary
(org.openrewrite.java.tree.J.Unary unary, org.openrewrite.ExecutionContext ctx) Methods inherited from class org.openrewrite.java.JavaVisitor
autoFormat, autoFormat, autoFormat, getJavadocVisitor, getLanguage, isAcceptable, isInSameNameScope, isInSameNameScope, maybeAddImport, maybeAddImport, maybeAddImport, maybeAddImport, maybeAddImport, maybeAddImport, maybeAutoFormat, maybeAutoFormat, maybeAutoFormat, maybeRemoveImport, maybeRemoveImport, service, visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayDimension, visitArrayType, visitAssert, visitAssignment, visitAssignmentOperation, visitBlock, visitBreak, visitCase, visitCatch, visitClassDeclaration, visitCompilationUnit, visitContainer, visitContinue, visitControlParentheses, visitDoWhileLoop, visitElse, visitEmpty, visitEnumValue, visitEnumValueSet, visitExpression, visitFieldAccess, visitForControl, visitForEachControl, visitForEachLoop, visitForLoop, visitIdentifier, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabel, visitLambda, visitLeftPadded, visitLiteral, visitMemberReference, visitMethodDeclaration, visitMultiCatch, visitNewArray, visitNewClass, visitNullableType, visitPackage, visitParameterizedType, visitParenthesizedTypeTree, visitPrimitive, visitReturn, visitRightPadded, visitSpace, visitStatement, visitSwitch, visitSwitchExpression, visitSynchronized, visitTernary, visitThrow, visitTry, visitTryResource, visitType, visitTypeCast, visitTypeName, visitTypeParameter, visitUnknown, visitUnknownSource, visitVariable, visitVariableDeclarations, visitWhileLoop, visitWildcard, visitYield
Methods inherited from class org.openrewrite.TreeVisitor
adapt, collect, collect, defaultValue, doAfterVisit, getAfterVisit, getCursor, isAdaptableTo, noop, postVisit, preVisit, reduce, reduce, reduce, setCursor, stopAfterPreVisit, updateCursor, visit, visit, visit, visitAndCast, visitAndCast, visitMarker, visitMarkers, visitNonNull, visitNonNull, visitorTreeType
-
Constructor Details
-
SimplifyBooleanExpressionVisitor
public SimplifyBooleanExpressionVisitor()
-
-
Method Details
-
visitBinary
public org.openrewrite.java.tree.J visitBinary(org.openrewrite.java.tree.J.Binary binary, org.openrewrite.ExecutionContext ctx) - Overrides:
visitBinary
in classJavaVisitor<org.openrewrite.ExecutionContext>
-
visitParentheses
public <T extends org.openrewrite.java.tree.J> org.openrewrite.java.tree.J visitParentheses(org.openrewrite.java.tree.J.Parentheses<T> parens, org.openrewrite.ExecutionContext ctx) - Overrides:
visitParentheses
in classJavaVisitor<org.openrewrite.ExecutionContext>
-
visitUnary
public org.openrewrite.java.tree.J visitUnary(org.openrewrite.java.tree.J.Unary unary, org.openrewrite.ExecutionContext ctx) - Overrides:
visitUnary
in classJavaVisitor<org.openrewrite.ExecutionContext>
-
visitMethodInvocation
public org.openrewrite.java.tree.J visitMethodInvocation(org.openrewrite.java.tree.J.MethodInvocation method, org.openrewrite.ExecutionContext executionContext) - Overrides:
visitMethodInvocation
in classJavaVisitor<org.openrewrite.ExecutionContext>
-
shouldSimplifyEqualsOn
protected boolean shouldSimplifyEqualsOn(org.openrewrite.java.tree.J j) Override this method to disable simplification of equals expressions, specifically for Kotlin while that is not yet part of the OpenRewrite/rewrite.Comparing Kotlin nullable type `?` with tree/false can not be simplified, e.g. `X?.fun() == true` is not equivalent to `X?.fun()`
Subclasses will want to check if the `org.openrewrite.kotlin.marker.IsNullSafe` marker is present.
- Parameters:
j
- the expression to simplify- Returns:
- true by default, unless overridden
-