Package org.openrewrite.java.cleanup
Class SimplifyBooleanExpressionVisitor
java.lang.Object
org.openrewrite.TreeVisitor<org.openrewrite.java.tree.J,org.openrewrite.ExecutionContext>
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 booleanshouldSimplifyEqualsOn(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.JvisitBinary(org.openrewrite.java.tree.J.Binary binary, org.openrewrite.ExecutionContext ctx) org.openrewrite.java.tree.JvisitMethodInvocation(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.JvisitTernary(org.openrewrite.java.tree.J.Ternary ternary, org.openrewrite.ExecutionContext executionContext) org.openrewrite.java.tree.JvisitUnary(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, visitDeconstructionPattern, visitDoWhileLoop, visitElse, visitEmpty, visitEnumValue, visitEnumValueSet, visitErroneous, visitExpression, visitFieldAccess, visitForControl, visitForEachControl, visitForEachLoop, visitForLoop, visitIdentifier, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabel, visitLambda, visitLambdaParameters, visitLeftPadded, visitLiteral, visitMemberReference, visitMethodDeclaration, visitModifier, visitMultiCatch, visitNewArray, visitNewClass, visitNullableType, visitPackage, visitParameterizedType, visitParenthesizedTypeTree, visitPrimitive, visitReturn, visitRightPadded, visitSpace, visitStatement, visitSwitch, visitSwitchExpression, visitSynchronized, visitThrow, visitTry, visitTryResource, visitType, visitTypeCast, visitTypeName, visitTypeParameter, visitTypeParameters, visitUnknown, visitUnknownSource, visitVariable, visitVariableDeclarations, visitWhileLoop, visitWildcard, visitYieldMethods 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:
visitBinaryin 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:
visitParenthesesin classJavaVisitor<org.openrewrite.ExecutionContext>
-
visitUnary
public org.openrewrite.java.tree.J visitUnary(org.openrewrite.java.tree.J.Unary unary, org.openrewrite.ExecutionContext ctx) - Overrides:
visitUnaryin classJavaVisitor<org.openrewrite.ExecutionContext>
-
visitTernary
public org.openrewrite.java.tree.J visitTernary(org.openrewrite.java.tree.J.Ternary ternary, org.openrewrite.ExecutionContext executionContext) - Overrides:
visitTernaryin classJavaVisitor<org.openrewrite.ExecutionContext>
-
visitMethodInvocation
public org.openrewrite.java.tree.J visitMethodInvocation(org.openrewrite.java.tree.J.MethodInvocation method, org.openrewrite.ExecutionContext executionContext) - Overrides:
visitMethodInvocationin 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
-