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>

public class ParenthesizeVisitor<P> extends JavaVisitor<P>
Visitor that adds parentheses to Java expressions where needed based on operator precedence and context to ensure correct evaluation order and readability.
  • Constructor Details

    • ParenthesizeVisitor

      public ParenthesizeVisitor()
  • Method Details

    • maybeParenthesize

      public static Expression maybeParenthesize(Expression newTree, org.openrewrite.Cursor cursor)
      Determines whether an expression needs to be parenthesized when replacing another expression in the tree.
      Parameters:
      newTree - the expression that will replace an existing expression
      cursor - cursor to the expression being replaced
      Returns:
      either newTree itself or newTree wrapped in parentheses if needed
    • visitBinary

      public org.openrewrite.java.tree.J visitBinary(org.openrewrite.java.tree.J.Binary binary, P p)
      Overrides:
      visitBinary in class JavaVisitor<P>
    • visitTypeCast

      public org.openrewrite.java.tree.J visitTypeCast(org.openrewrite.java.tree.J.TypeCast typeCast, P p)
      Overrides:
      visitTypeCast in class JavaVisitor<P>
    • visitUnary

      public org.openrewrite.java.tree.J visitUnary(org.openrewrite.java.tree.J.Unary unary, P p)
      Overrides:
      visitUnary in class JavaVisitor<P>
    • visitTernary

      public org.openrewrite.java.tree.J visitTernary(org.openrewrite.java.tree.J.Ternary ternary, P p)
      Overrides:
      visitTernary in class JavaVisitor<P>
    • visitInstanceOf

      public org.openrewrite.java.tree.J visitInstanceOf(org.openrewrite.java.tree.J.InstanceOf instanceOf, P p)
      Overrides:
      visitInstanceOf in class JavaVisitor<P>
    • visitAssignment

      public org.openrewrite.java.tree.J visitAssignment(org.openrewrite.java.tree.J.Assignment assignment, P p)
      Overrides:
      visitAssignment in class JavaVisitor<P>
    • visitSwitchExpression

      public org.openrewrite.java.tree.J visitSwitchExpression(org.openrewrite.java.tree.J.SwitchExpression switch_, P p)
      Overrides:
      visitSwitchExpression in class JavaVisitor<P>