Package org.openrewrite.java
Class ParenthesizeVisitor<P>
java.lang.Object
org.openrewrite.TreeVisitor<org.openrewrite.java.tree.J,P>
org.openrewrite.java.JavaVisitor<P>
org.openrewrite.java.ParenthesizeVisitor<P>
Visitor that adds parentheses to Java expressions where needed based on operator precedence
and context to ensure correct evaluation order and readability.
-
Field Summary
Fields inherited from class org.openrewrite.java.JavaVisitor
javadocVisitor -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ExpressionmaybeParenthesize(Expression newTree, org.openrewrite.Cursor cursor) Determines whether an expression needs to be parenthesized when replacing another expression in the tree.org.openrewrite.java.tree.JvisitAssignment(org.openrewrite.java.tree.J.Assignment assignment, P p) org.openrewrite.java.tree.JvisitBinary(org.openrewrite.java.tree.J.Binary binary, P p) org.openrewrite.java.tree.JvisitInstanceOf(org.openrewrite.java.tree.J.InstanceOf instanceOf, P p) org.openrewrite.java.tree.JvisitSwitchExpression(org.openrewrite.java.tree.J.SwitchExpression switch_, P p) org.openrewrite.java.tree.JvisitTernary(org.openrewrite.java.tree.J.Ternary ternary, P p) org.openrewrite.java.tree.JvisitTypeCast(org.openrewrite.java.tree.J.TypeCast typeCast, P p) org.openrewrite.java.tree.JvisitUnary(org.openrewrite.java.tree.J.Unary unary, P p) 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, 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, visitIntersectionType, visitLabel, visitLambda, visitLeftPadded, visitLiteral, visitMemberReference, visitMethodDeclaration, visitMethodInvocation, visitModifier, visitMultiCatch, visitNewArray, visitNewClass, visitNullableType, visitPackage, visitParameterizedType, visitParentheses, visitParenthesizedTypeTree, visitPrimitive, visitReturn, visitRightPadded, visitSpace, visitStatement, visitSwitch, visitSynchronized, visitThrow, visitTry, visitTryResource, visitType, visitTypeName, visitTypeParameter, 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
-
ParenthesizeVisitor
public ParenthesizeVisitor()
-
-
Method Details
-
maybeParenthesize
Determines whether an expression needs to be parenthesized when replacing another expression in the tree.- Parameters:
newTree- the expression that will replace an existing expressioncursor- cursor to the expression being replaced- Returns:
- either newTree itself or newTree wrapped in parentheses if needed
-
visitBinary
- Overrides:
visitBinaryin classJavaVisitor<P>
-
visitTypeCast
public org.openrewrite.java.tree.J visitTypeCast(org.openrewrite.java.tree.J.TypeCast typeCast, P p) - Overrides:
visitTypeCastin classJavaVisitor<P>
-
visitUnary
- Overrides:
visitUnaryin classJavaVisitor<P>
-
visitTernary
- Overrides:
visitTernaryin classJavaVisitor<P>
-
visitInstanceOf
public org.openrewrite.java.tree.J visitInstanceOf(org.openrewrite.java.tree.J.InstanceOf instanceOf, P p) - Overrides:
visitInstanceOfin classJavaVisitor<P>
-
visitAssignment
public org.openrewrite.java.tree.J visitAssignment(org.openrewrite.java.tree.J.Assignment assignment, P p) - Overrides:
visitAssignmentin classJavaVisitor<P>
-
visitSwitchExpression
public org.openrewrite.java.tree.J visitSwitchExpression(org.openrewrite.java.tree.J.SwitchExpression switch_, P p) - Overrides:
visitSwitchExpressionin classJavaVisitor<P>
-