Package org.openrewrite.java
Class JavaVisitor<P>
java.lang.Object
org.openrewrite.TreeVisitor<org.openrewrite.java.tree.J,P>
org.openrewrite.java.JavaVisitor<P>
- Direct Known Subclasses:
CountLinesVisitor
,ExtractField
,InvertCondition
,JavaIsoVisitor
,JavaPrinter
,NoMissingTypes
,QualifyThisVisitor
,SimplifyBooleanExpressionVisitor
,UnnecessaryParenthesesVisitor
,UnwrapParentheses
public class JavaVisitor<P>
extends org.openrewrite.TreeVisitor<org.openrewrite.java.tree.J,P>
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<J2 extends org.openrewrite.java.tree.J>
J2autoFormat
(J2 j, @Nullable org.openrewrite.java.tree.J stopAfter, P p, org.openrewrite.Cursor cursor) <J2 extends org.openrewrite.java.tree.J>
J2autoFormat
(J2 j, P p) <J2 extends org.openrewrite.java.tree.J>
J2autoFormat
(J2 j, P p, org.openrewrite.Cursor cursor) protected JavadocVisitor<P>
This method returns a new instance of a Javadoc visitor that will be used by this JavaVisitor.boolean
isAcceptable
(org.openrewrite.SourceFile sourceFile, P p) protected boolean
isInSameNameScope
(org.openrewrite.Cursor child) Check if a child LST element is in the same lexical scope as that of the LST element associated with the current cursor.protected boolean
isInSameNameScope
(org.openrewrite.Cursor base, org.openrewrite.Cursor child) Check if a child AST element is in the same lexical scope as that of the AST element associated with the base cursor.void
maybeAddImport
(@Nullable String packageName, String typeName, @Nullable String member, @Nullable String alias, boolean onlyIfReferenced) void
maybeAddImport
(String fullyQualifiedName) This method will add an import to the compilation unit if there is a reference to the type.void
maybeAddImport
(String fullyQualifiedName, boolean onlyIfReferenced) void
maybeAddImport
(String fullyQualifiedName, @Nullable String member, boolean onlyIfReferenced) void
maybeAddImport
(String fullyQualifiedName, String member) This method will add a static import to the compilation unit if there is a reference to the type/method.void
This method will add an import to the compilation unit if there is a reference to the type.<J2 extends org.openrewrite.java.tree.J>
J2maybeAutoFormat
(J2 before, J2 after, @Nullable org.openrewrite.java.tree.J stopAfter, P p, org.openrewrite.Cursor cursor) <J2 extends org.openrewrite.java.tree.J>
J2maybeAutoFormat
(J2 before, J2 after, P p) <J2 extends org.openrewrite.java.tree.J>
J2maybeAutoFormat
(J2 before, J2 after, P p, org.openrewrite.Cursor cursor) void
maybeRemoveImport
(String fullyQualifiedName) void
<S> S
org.openrewrite.java.tree.J
visitAnnotatedType
(org.openrewrite.java.tree.J.AnnotatedType annotatedType, P p) org.openrewrite.java.tree.J
visitAnnotation
(org.openrewrite.java.tree.J.Annotation annotation, P p) org.openrewrite.java.tree.J
visitArrayAccess
(org.openrewrite.java.tree.J.ArrayAccess arrayAccess, P p) org.openrewrite.java.tree.J
visitArrayDimension
(org.openrewrite.java.tree.J.ArrayDimension arrayDimension, P p) org.openrewrite.java.tree.J
visitArrayType
(org.openrewrite.java.tree.J.ArrayType arrayType, P p) org.openrewrite.java.tree.J
visitAssert
(org.openrewrite.java.tree.J.Assert assert_, P p) org.openrewrite.java.tree.J
visitAssignment
(org.openrewrite.java.tree.J.Assignment assignment, P p) org.openrewrite.java.tree.J
visitAssignmentOperation
(org.openrewrite.java.tree.J.AssignmentOperation assignOp, P p) org.openrewrite.java.tree.J
visitBinary
(org.openrewrite.java.tree.J.Binary binary, P p) org.openrewrite.java.tree.J
visitBlock
(org.openrewrite.java.tree.J.Block block, P p) org.openrewrite.java.tree.J
visitBreak
(org.openrewrite.java.tree.J.Break breakStatement, P p) org.openrewrite.java.tree.J
org.openrewrite.java.tree.J
visitCatch
(org.openrewrite.java.tree.J.Try.Catch catch_, P p) org.openrewrite.java.tree.J
visitClassDeclaration
(org.openrewrite.java.tree.J.ClassDeclaration classDecl, P p) org.openrewrite.java.tree.J
visitCompilationUnit
(org.openrewrite.java.tree.J.CompilationUnit cu, P p) <J2 extends org.openrewrite.java.tree.J>
JContainer<J2>visitContainer
(@Nullable JContainer<J2> container, JContainer.Location loc, P p) org.openrewrite.java.tree.J
visitContinue
(org.openrewrite.java.tree.J.Continue continueStatement, P p) <T extends org.openrewrite.java.tree.J>
org.openrewrite.java.tree.JvisitControlParentheses
(org.openrewrite.java.tree.J.ControlParentheses<T> controlParens, P p) org.openrewrite.java.tree.J
visitDoWhileLoop
(org.openrewrite.java.tree.J.DoWhileLoop doWhileLoop, P p) org.openrewrite.java.tree.J
org.openrewrite.java.tree.J
visitEmpty
(org.openrewrite.java.tree.J.Empty empty, P p) org.openrewrite.java.tree.J
visitEnumValue
(org.openrewrite.java.tree.J.EnumValue enum_, P p) org.openrewrite.java.tree.J
visitEnumValueSet
(org.openrewrite.java.tree.J.EnumValueSet enums, P p) org.openrewrite.java.tree.J
visitExpression
(Expression expression, P p) org.openrewrite.java.tree.J
visitFieldAccess
(org.openrewrite.java.tree.J.FieldAccess fieldAccess, P p) org.openrewrite.java.tree.J
visitForControl
(org.openrewrite.java.tree.J.ForLoop.Control control, P p) org.openrewrite.java.tree.J
visitForEachControl
(org.openrewrite.java.tree.J.ForEachLoop.Control control, P p) org.openrewrite.java.tree.J
visitForEachLoop
(org.openrewrite.java.tree.J.ForEachLoop forLoop, P p) org.openrewrite.java.tree.J
visitForLoop
(org.openrewrite.java.tree.J.ForLoop forLoop, P p) org.openrewrite.java.tree.J
visitIdentifier
(org.openrewrite.java.tree.J.Identifier ident, P p) org.openrewrite.java.tree.J
org.openrewrite.java.tree.J
visitImport
(org.openrewrite.java.tree.J.Import import_, P p) org.openrewrite.java.tree.J
visitInstanceOf
(org.openrewrite.java.tree.J.InstanceOf instanceOf, P p) org.openrewrite.java.tree.J
visitIntersectionType
(org.openrewrite.java.tree.J.IntersectionType intersectionType, P p) org.openrewrite.java.tree.J
visitLabel
(org.openrewrite.java.tree.J.Label label, P p) org.openrewrite.java.tree.J
visitLambda
(org.openrewrite.java.tree.J.Lambda lambda, P p) <T> JLeftPadded<T>
visitLeftPadded
(@Nullable JLeftPadded<T> left, JLeftPadded.Location loc, P p) org.openrewrite.java.tree.J
visitLiteral
(org.openrewrite.java.tree.J.Literal literal, P p) org.openrewrite.java.tree.J
visitMemberReference
(org.openrewrite.java.tree.J.MemberReference memberRef, P p) org.openrewrite.java.tree.J
visitMethodDeclaration
(org.openrewrite.java.tree.J.MethodDeclaration method, P p) org.openrewrite.java.tree.J
visitMethodInvocation
(org.openrewrite.java.tree.J.MethodInvocation method, P p) org.openrewrite.java.tree.J
visitMultiCatch
(org.openrewrite.java.tree.J.MultiCatch multiCatch, P p) org.openrewrite.java.tree.J
visitNewArray
(org.openrewrite.java.tree.J.NewArray newArray, P p) org.openrewrite.java.tree.J
visitNewClass
(org.openrewrite.java.tree.J.NewClass newClass, P p) org.openrewrite.java.tree.J
visitNullableType
(org.openrewrite.java.tree.J.NullableType nullableType, P p) org.openrewrite.java.tree.J
visitPackage
(org.openrewrite.java.tree.J.Package pkg, P p) org.openrewrite.java.tree.J
visitParameterizedType
(org.openrewrite.java.tree.J.ParameterizedType type, P p) <T extends org.openrewrite.java.tree.J>
org.openrewrite.java.tree.JvisitParentheses
(org.openrewrite.java.tree.J.Parentheses<T> parens, P p) org.openrewrite.java.tree.J
visitParenthesizedTypeTree
(org.openrewrite.java.tree.J.ParenthesizedTypeTree parTree, P p) org.openrewrite.java.tree.J
visitPrimitive
(org.openrewrite.java.tree.J.Primitive primitive, P p) org.openrewrite.java.tree.J
visitReturn
(org.openrewrite.java.tree.J.Return return_, P p) <T> JRightPadded<T>
visitRightPadded
(@Nullable JRightPadded<T> right, JRightPadded.Location loc, P p) visitSpace
(Space space, Space.Location loc, P p) org.openrewrite.java.tree.J
visitStatement
(Statement statement, P p) org.openrewrite.java.tree.J
visitSwitch
(org.openrewrite.java.tree.J.Switch switch_, P p) org.openrewrite.java.tree.J
visitSwitchExpression
(org.openrewrite.java.tree.J.SwitchExpression switch_, P p) org.openrewrite.java.tree.J
visitSynchronized
(org.openrewrite.java.tree.J.Synchronized synch, P p) org.openrewrite.java.tree.J
visitTernary
(org.openrewrite.java.tree.J.Ternary ternary, P p) org.openrewrite.java.tree.J
visitThrow
(org.openrewrite.java.tree.J.Throw thrown, P p) org.openrewrite.java.tree.J
org.openrewrite.java.tree.J
visitTryResource
(org.openrewrite.java.tree.J.Try.Resource tryResource, P p) @Nullable JavaType
org.openrewrite.java.tree.J
visitTypeCast
(org.openrewrite.java.tree.J.TypeCast typeCast, P p) <N extends NameTree>
NvisitTypeName
(N nameTree, P p) org.openrewrite.java.tree.J
visitTypeParameter
(org.openrewrite.java.tree.J.TypeParameter typeParam, P p) org.openrewrite.java.tree.J
visitUnary
(org.openrewrite.java.tree.J.Unary unary, P p) org.openrewrite.java.tree.J
visitUnknown
(org.openrewrite.java.tree.J.Unknown unknown, P p) org.openrewrite.java.tree.J
visitUnknownSource
(org.openrewrite.java.tree.J.Unknown.Source source, P p) org.openrewrite.java.tree.J
visitVariable
(org.openrewrite.java.tree.J.VariableDeclarations.NamedVariable variable, P p) org.openrewrite.java.tree.J
visitVariableDeclarations
(org.openrewrite.java.tree.J.VariableDeclarations multiVariable, P p) org.openrewrite.java.tree.J
visitWhileLoop
(org.openrewrite.java.tree.J.WhileLoop whileLoop, P p) org.openrewrite.java.tree.J
visitWildcard
(org.openrewrite.java.tree.J.Wildcard wildcard, P p) org.openrewrite.java.tree.J
visitYield
(org.openrewrite.java.tree.J.Yield yield, P p) 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
-
Field Details
-
javadocVisitor
-
-
Constructor Details
-
JavaVisitor
public JavaVisitor()
-
-
Method Details
-
isAcceptable
- Overrides:
isAcceptable
in classorg.openrewrite.TreeVisitor<org.openrewrite.java.tree.J,
P>
-
getLanguage
- Overrides:
getLanguage
in classorg.openrewrite.TreeVisitor<org.openrewrite.java.tree.J,
P>
-
getJavadocVisitor
This method returns a new instance of a Javadoc visitor that will be used by this JavaVisitor.- Returns:
- The JavadocVisitor associated with the JavaVisitor.
-
maybeAddImport
This method will add an import to the compilation unit if there is a reference to the type. It adds an additional visitor which means the "add import" is deferred and does not complete immediately. This operation is idempotent and calling this method multiple times with the same arguments will only add an import once.- Parameters:
clazz
- The class that will be imported into the compilation unit.
-
maybeAutoFormat
-
maybeAutoFormat
public <J2 extends org.openrewrite.java.tree.J> J2 maybeAutoFormat(J2 before, J2 after, P p, org.openrewrite.Cursor cursor) -
maybeAutoFormat
public <J2 extends org.openrewrite.java.tree.J> J2 maybeAutoFormat(J2 before, J2 after, @Nullable @Nullable org.openrewrite.java.tree.J stopAfter, P p, org.openrewrite.Cursor cursor) -
autoFormat
-
autoFormat
public <J2 extends org.openrewrite.java.tree.J> J2 autoFormat(J2 j, P p, org.openrewrite.Cursor cursor) -
autoFormat
public <J2 extends org.openrewrite.java.tree.J> J2 autoFormat(J2 j, @Nullable @Nullable org.openrewrite.java.tree.J stopAfter, P p, org.openrewrite.Cursor cursor) -
maybeAddImport
This method will add an import to the compilation unit if there is a reference to the type. It adds an additional visitor which means the "add import" is deferred and does not complete immediately. This operation is idempotent and calling this method multiple times with the same arguments will only add an import once.- Parameters:
fullyQualifiedName
- Fully-qualified name of the class.
-
maybeAddImport
This method will add a static import to the compilation unit if there is a reference to the type/method. It adds an additional visitor which means the "add import" is deferred and does not complete immediately. This operation is idempotent and calling this method multiple times with the same arguments will only add an import once.- Parameters:
fullyQualifiedName
- Fully-qualified name of the class.member
- The static method or field to be imported. A wildcard "*" may also be used to statically import all methods/fields.
-
maybeAddImport
-
maybeAddImport
-
maybeAddImport
-
service
-
maybeRemoveImport
-
maybeRemoveImport
-
visitExpression
-
visitStatement
-
visitSpace
-
visitType
-
visitTypeName
-
visitAnnotatedType
public org.openrewrite.java.tree.J visitAnnotatedType(org.openrewrite.java.tree.J.AnnotatedType annotatedType, P p) -
visitAnnotation
public org.openrewrite.java.tree.J visitAnnotation(org.openrewrite.java.tree.J.Annotation annotation, P p) -
visitArrayAccess
public org.openrewrite.java.tree.J visitArrayAccess(org.openrewrite.java.tree.J.ArrayAccess arrayAccess, P p) -
visitArrayDimension
public org.openrewrite.java.tree.J visitArrayDimension(org.openrewrite.java.tree.J.ArrayDimension arrayDimension, P p) -
visitArrayType
public org.openrewrite.java.tree.J visitArrayType(org.openrewrite.java.tree.J.ArrayType arrayType, P p) -
visitAssert
-
visitAssignment
public org.openrewrite.java.tree.J visitAssignment(org.openrewrite.java.tree.J.Assignment assignment, P p) -
visitAssignmentOperation
public org.openrewrite.java.tree.J visitAssignmentOperation(org.openrewrite.java.tree.J.AssignmentOperation assignOp, P p) -
visitBinary
-
visitBlock
-
visitBreak
public org.openrewrite.java.tree.J visitBreak(org.openrewrite.java.tree.J.Break breakStatement, P p) -
visitCase
-
visitCatch
-
visitClassDeclaration
public org.openrewrite.java.tree.J visitClassDeclaration(org.openrewrite.java.tree.J.ClassDeclaration classDecl, P p) -
visitCompilationUnit
public org.openrewrite.java.tree.J visitCompilationUnit(org.openrewrite.java.tree.J.CompilationUnit cu, P p) -
visitContinue
public org.openrewrite.java.tree.J visitContinue(org.openrewrite.java.tree.J.Continue continueStatement, P p) -
visitControlParentheses
public <T extends org.openrewrite.java.tree.J> org.openrewrite.java.tree.J visitControlParentheses(org.openrewrite.java.tree.J.ControlParentheses<T> controlParens, P p) -
visitDoWhileLoop
public org.openrewrite.java.tree.J visitDoWhileLoop(org.openrewrite.java.tree.J.DoWhileLoop doWhileLoop, P p) -
visitEmpty
-
visitEnumValue
-
visitEnumValueSet
public org.openrewrite.java.tree.J visitEnumValueSet(org.openrewrite.java.tree.J.EnumValueSet enums, P p) -
visitFieldAccess
public org.openrewrite.java.tree.J visitFieldAccess(org.openrewrite.java.tree.J.FieldAccess fieldAccess, P p) -
visitForEachLoop
public org.openrewrite.java.tree.J visitForEachLoop(org.openrewrite.java.tree.J.ForEachLoop forLoop, P p) -
visitForEachControl
public org.openrewrite.java.tree.J visitForEachControl(org.openrewrite.java.tree.J.ForEachLoop.Control control, P p) -
visitForLoop
-
visitForControl
public org.openrewrite.java.tree.J visitForControl(org.openrewrite.java.tree.J.ForLoop.Control control, P p) -
visitParenthesizedTypeTree
public org.openrewrite.java.tree.J visitParenthesizedTypeTree(org.openrewrite.java.tree.J.ParenthesizedTypeTree parTree, P p) -
visitIdentifier
public org.openrewrite.java.tree.J visitIdentifier(org.openrewrite.java.tree.J.Identifier ident, P p) -
visitElse
-
visitIf
-
visitImport
-
visitInstanceOf
public org.openrewrite.java.tree.J visitInstanceOf(org.openrewrite.java.tree.J.InstanceOf instanceOf, P p) -
visitIntersectionType
public org.openrewrite.java.tree.J visitIntersectionType(org.openrewrite.java.tree.J.IntersectionType intersectionType, P p) -
visitLabel
-
visitLambda
-
visitLiteral
-
visitMemberReference
public org.openrewrite.java.tree.J visitMemberReference(org.openrewrite.java.tree.J.MemberReference memberRef, P p) -
visitMethodDeclaration
public org.openrewrite.java.tree.J visitMethodDeclaration(org.openrewrite.java.tree.J.MethodDeclaration method, P p) -
visitMethodInvocation
public org.openrewrite.java.tree.J visitMethodInvocation(org.openrewrite.java.tree.J.MethodInvocation method, P p) -
visitMultiCatch
public org.openrewrite.java.tree.J visitMultiCatch(org.openrewrite.java.tree.J.MultiCatch multiCatch, P p) -
visitVariableDeclarations
public org.openrewrite.java.tree.J visitVariableDeclarations(org.openrewrite.java.tree.J.VariableDeclarations multiVariable, P p) -
visitNewArray
public org.openrewrite.java.tree.J visitNewArray(org.openrewrite.java.tree.J.NewArray newArray, P p) -
visitNewClass
public org.openrewrite.java.tree.J visitNewClass(org.openrewrite.java.tree.J.NewClass newClass, P p) -
visitNullableType
public org.openrewrite.java.tree.J visitNullableType(org.openrewrite.java.tree.J.NullableType nullableType, P p) -
visitPackage
-
visitParameterizedType
public org.openrewrite.java.tree.J visitParameterizedType(org.openrewrite.java.tree.J.ParameterizedType type, P p) -
visitParentheses
public <T extends org.openrewrite.java.tree.J> org.openrewrite.java.tree.J visitParentheses(org.openrewrite.java.tree.J.Parentheses<T> parens, P p) -
visitPrimitive
public org.openrewrite.java.tree.J visitPrimitive(org.openrewrite.java.tree.J.Primitive primitive, P p) -
visitReturn
-
visitSwitch
-
visitSwitchExpression
public org.openrewrite.java.tree.J visitSwitchExpression(org.openrewrite.java.tree.J.SwitchExpression switch_, P p) -
visitSynchronized
public org.openrewrite.java.tree.J visitSynchronized(org.openrewrite.java.tree.J.Synchronized synch, P p) -
visitTernary
-
visitThrow
-
visitTry
-
visitTryResource
public org.openrewrite.java.tree.J visitTryResource(org.openrewrite.java.tree.J.Try.Resource tryResource, P p) -
visitTypeCast
public org.openrewrite.java.tree.J visitTypeCast(org.openrewrite.java.tree.J.TypeCast typeCast, P p) -
visitTypeParameter
public org.openrewrite.java.tree.J visitTypeParameter(org.openrewrite.java.tree.J.TypeParameter typeParam, P p) -
visitUnary
-
visitUnknown
-
visitUnknownSource
public org.openrewrite.java.tree.J visitUnknownSource(org.openrewrite.java.tree.J.Unknown.Source source, P p) -
visitVariable
public org.openrewrite.java.tree.J visitVariable(org.openrewrite.java.tree.J.VariableDeclarations.NamedVariable variable, P p) -
visitWhileLoop
public org.openrewrite.java.tree.J visitWhileLoop(org.openrewrite.java.tree.J.WhileLoop whileLoop, P p) -
visitWildcard
public org.openrewrite.java.tree.J visitWildcard(org.openrewrite.java.tree.J.Wildcard wildcard, P p) -
visitYield
-
visitRightPadded
public <T> JRightPadded<T> visitRightPadded(@Nullable @Nullable JRightPadded<T> right, JRightPadded.Location loc, P p) -
visitLeftPadded
public <T> JLeftPadded<T> visitLeftPadded(@Nullable @Nullable JLeftPadded<T> left, JLeftPadded.Location loc, P p) -
visitContainer
public <J2 extends org.openrewrite.java.tree.J> JContainer<J2> visitContainer(@Nullable @Nullable JContainer<J2> container, JContainer.Location loc, P p) -
isInSameNameScope
protected boolean isInSameNameScope(org.openrewrite.Cursor base, org.openrewrite.Cursor child) Check if a child AST element is in the same lexical scope as that of the AST element associated with the base cursor. (i.e.: Are the variables and declarations visible in the base scope also visible to the child AST element?)The base lexical scope is first established by walking up the path of the base cursor to find its first enclosing element. The child path is traversed by walking up the child path elements until either the base scope has been found, a "terminating" element is encountered, or there are no more elements in the path.
A terminating element is one of the following:
- A static class declaration
- An enumeration declaration
- An interface declaration
- An annotation declaration
- Parameters:
base
- A pointer within the AST that is used to establish the "base lexical scope".child
- A pointer within the AST that will be traversed (up the tree) looking for an intersection with the base lexical scope.- Returns:
- true if the child is in within the lexical scope of the base
-
isInSameNameScope
protected boolean isInSameNameScope(org.openrewrite.Cursor child) Check if a child LST element is in the same lexical scope as that of the LST element associated with the current cursor.See
isInSameNameScope(org.openrewrite.Cursor, org.openrewrite.Cursor)
- Parameters:
child
- A pointer to an element within the abstract syntax tree- Returns:
- true if the child is in within the lexical scope of the current cursor
-