Package com.google.googlejavaformat.java
Class JavaInputAstVisitor
- All Implemented Interfaces:
TreeVisitor<Void,Void>
- Direct Known Subclasses:
Java14InputAstVisitor
An AST visitor that builds a stream of
Ops to format from the given CompilationUnitTree.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static enumWhether to allow leading blank lines in blocks.protected static enumWhether to allow trailing blank lines in blocks.protected static enumWhether to include braces.protected static enumWhether to break or not.protected static enumWhether to collapse empty blocks.protected static enumDirection for Annotations (usually VERTICAL).protected static enumWhether these declarations are the first in the block. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final OpsBuilderprotected static final longprotected final intprotected final Indent.Constprotected final Indent.Constprotected final Indent.Constprotected final Indent.Constprotected static final longprotected final Indent.Constprotected static final Indent.Const -
Constructor Summary
ConstructorsConstructorDescriptionJavaInputAstVisitor(OpsBuilder builder, int indentMultiplier) TheVisitorconstructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddBodyDeclarations(List<? extends Tree> bodyDeclarations, JavaInputAstVisitor.BracesOrNot braces, JavaInputAstVisitor.FirstDeclarationsOrNot first0) Add a list of declarations.protected voidSkips over extra semi-colons at the top-level, or in a class member declaration lists.getPermitsClause(ClassTree node) Gets the permits clause for the given node.protected voidhandleModule(boolean first, CompilationUnitTree node) protected voidprotected final voidSync to position in the input.protected final voidEmit aDoc.Token.protected final voidEmit aDoc.Token.final StringtoString()protected voidtypeDeclarationModifiers(ModifiersTree modifiers) protected voidtypeParametersRest(List<? extends TypeParameterTree> typeParameters, Indent plusIndent) Does not omit the leading"<", which should be associated with the type name.booleanvisitAnnotatedType(AnnotatedTypeTree node, Void unused) visitAnnotation(AnnotationTree node, Void unused) voidprotected voidvisitAnnotations(List<? extends AnnotationTree> annotations, JavaInputAstVisitor.BreakOrNot breakBefore, JavaInputAstVisitor.BreakOrNot breakAfter) Helper method for annotations.voidvisitAnnotationType(ClassTree node) visitArrayAccess(ArrayAccessTree node, Void unused) booleanvisitArrayInitializer(List<? extends ExpressionTree> expressions) visitArrayType(ArrayTypeTree node, Void unused) visitAssert(AssertTree node, Void unused) visitAssignment(AssignmentTree node, Void unused) visitBinary(BinaryTree node, Void unused) protected voidvisitBlock(BlockTree node, JavaInputAstVisitor.CollapseEmptyOrNot collapseEmptyOrNot, JavaInputAstVisitor.AllowLeadingBlankLine allowLeadingBlankLine, JavaInputAstVisitor.AllowTrailingBlankLine allowTrailingBlankLine) Helper method for blocks.visitBlock(BlockTree node, Void unused) visitBreak(BreakTree node, Void unused) visitCatch(CatchTree node, Void unused) visitClass(ClassTree tree, Void unused) voidvisitCompilationUnit(CompilationUnitTree node, Void unused) visitCompoundAssignment(CompoundAssignmentTree node, Void unused) visitConditionalExpression(ConditionalExpressionTree node, Void unused) visitContinue(ContinueTree node, Void unused) visitDoWhileLoop(DoWhileLoopTree node, Void unused) visitEmptyStatement(EmptyStatementTree node, Void unused) visitEnhancedForLoop(EnhancedForLoopTree node, Void unused) booleanvisitExports(ExportsTree node, Void unused) visitExpressionStatement(ExpressionStatementTree node, Void unused) visitForLoop(ForLoopTree node, Void unused) protected voidvisitFormals(Optional<VariableTree> receiver, List<? extends VariableTree> parameters) visitIdentifier(IdentifierTree node, Void unused) visitImport(ImportTree node, Void unused) visitInstanceOf(InstanceOfTree node, Void unused) visitIntersectionType(IntersectionTypeTree node, Void unused) visitLabeledStatement(LabeledStatementTree node, Void unused) visitLambdaExpression(LambdaExpressionTree node, Void unused) visitLiteral(LiteralTree node, Void unused) visitMemberReference(MemberReferenceTree node, Void unused) visitMemberSelect(MemberSelectTree node, Void unused) visitMethod(MethodTree node, Void unused) visitMethodInvocation(MethodInvocationTree node, Void unused) protected com.google.common.collect.ImmutableList<AnnotationTree>visitModifiers(ModifiersTree modifiersTree, JavaInputAstVisitor.Direction annotationsDirection, Optional<Output.BreakTag> declarationAnnotationBreak) Output combined modifiers and annotations and returns the trailing break.visitModifiers(ModifiersTree node, Void unused) protected com.google.common.collect.ImmutableList<AnnotationTree>visitModifiers(ModifiersTree modifiersTree, List<? extends AnnotationTree> annotationTrees, JavaInputAstVisitor.Direction annotationsDirection, Optional<Output.BreakTag> declarationAnnotationBreak) visitModule(ModuleTree node, Void unused) visitNewArray(NewArrayTree node, Void unused) visitNewClass(NewClassTree node, Void unused) visitOpens(OpensTree node, Void unused) visitParameterizedType(ParameterizedTypeTree node, Void unused) visitParenthesized(ParenthesizedTree node, Void unused) visitPrimitiveType(PrimitiveTypeTree node, Void unused) visitProvides(ProvidesTree node, Void unused) visitRequires(RequiresTree node, Void unused) visitReturn(ReturnTree node, Void unused) protected voidvisitStatements(List<? extends StatementTree> statements) protected voidvisitSwitch(ExpressionTree expression, List<? extends CaseTree> cases) visitSwitch(SwitchTree node, Void unused) visitSynchronized(SynchronizedTree node, Void unused) visitThrow(ThrowTree node, Void unused) visitTypeCast(TypeCastTree node, Void unused) visitTypeParameter(TypeParameterTree node, Void unused) visitUnary(UnaryTree node, Void unused) visitUnionType(UnionTypeTree node, Void unused) visitVariable(VariableTree node, Void unused) visitWhileLoop(WhileLoopTree node, Void unused) visitWildcard(WildcardTree node, Void unused) Methods inherited from class com.sun.source.util.TreePathScanner
getCurrentPath, scanMethods inherited from class com.sun.source.util.TreeScanner
reduce, scan, visitBindingPattern, visitDefaultCaseLabel, visitErroneous, visitGuardedPattern, visitOther, visitPackage, visitParenthesizedPattern, visitSwitchExpression, visitYield
-
Field Details
-
builder
-
ZERO
-
indentMultiplier
protected final int indentMultiplier -
minusTwo
-
minusFour
-
plusTwo
-
plusFour
-
xtraOne
-
COMPACT_RECORD_CONSTRUCTOR
protected static final long COMPACT_RECORD_CONSTRUCTOR- See Also:
-
RECORD
protected static final long RECORD- See Also:
-
-
Constructor Details
-
JavaInputAstVisitor
TheVisitorconstructor.- Parameters:
builder- theOpsBuilder
-
-
Method Details
-
scan
- Overrides:
scanin classTreePathScanner<Void,Void>
-
visitCompilationUnit
- Specified by:
visitCompilationUnitin interfaceTreeVisitor<Void,Void> - Overrides:
visitCompilationUnitin classTreeScanner<Void,Void>
-
handleModule
-
dropEmptyDeclarations
protected void dropEmptyDeclarations()Skips over extra semi-colons at the top-level, or in a class member declaration lists. -
visitClass
- Specified by:
visitClassin interfaceTreeVisitor<Void,Void> - Overrides:
visitClassin classTreeScanner<Void,Void>
-
visitAnnotationType
-
visitArrayAccess
- Specified by:
visitArrayAccessin interfaceTreeVisitor<Void,Void> - Overrides:
visitArrayAccessin classTreeScanner<Void,Void>
-
visitNewArray
- Specified by:
visitNewArrayin interfaceTreeVisitor<Void,Void> - Overrides:
visitNewArrayin classTreeScanner<Void,Void>
-
visitArrayInitializer
-
visitArrayType
- Specified by:
visitArrayTypein interfaceTreeVisitor<Void,Void> - Overrides:
visitArrayTypein classTreeScanner<Void,Void>
-
visitAssert
- Specified by:
visitAssertin interfaceTreeVisitor<Void,Void> - Overrides:
visitAssertin classTreeScanner<Void,Void>
-
visitAssignment
- Specified by:
visitAssignmentin interfaceTreeVisitor<Void,Void> - Overrides:
visitAssignmentin classTreeScanner<Void,Void>
-
visitBlock
- Specified by:
visitBlockin interfaceTreeVisitor<Void,Void> - Overrides:
visitBlockin classTreeScanner<Void,Void>
-
visitCompoundAssignment
- Specified by:
visitCompoundAssignmentin interfaceTreeVisitor<Void,Void> - Overrides:
visitCompoundAssignmentin classTreeScanner<Void,Void>
-
visitBreak
- Specified by:
visitBreakin interfaceTreeVisitor<Void,Void> - Overrides:
visitBreakin classTreeScanner<Void,Void>
-
visitTypeCast
- Specified by:
visitTypeCastin interfaceTreeVisitor<Void,Void> - Overrides:
visitTypeCastin classTreeScanner<Void,Void>
-
visitNewClass
- Specified by:
visitNewClassin interfaceTreeVisitor<Void,Void> - Overrides:
visitNewClassin classTreeScanner<Void,Void>
-
visitConditionalExpression
- Specified by:
visitConditionalExpressionin interfaceTreeVisitor<Void,Void> - Overrides:
visitConditionalExpressionin classTreeScanner<Void,Void>
-
visitContinue
- Specified by:
visitContinuein interfaceTreeVisitor<Void,Void> - Overrides:
visitContinuein classTreeScanner<Void,Void>
-
visitDoWhileLoop
- Specified by:
visitDoWhileLoopin interfaceTreeVisitor<Void,Void> - Overrides:
visitDoWhileLoopin classTreeScanner<Void,Void>
-
visitEmptyStatement
- Specified by:
visitEmptyStatementin interfaceTreeVisitor<Void,Void> - Overrides:
visitEmptyStatementin classTreeScanner<Void,Void>
-
visitEnhancedForLoop
- Specified by:
visitEnhancedForLoopin interfaceTreeVisitor<Void,Void> - Overrides:
visitEnhancedForLoopin classTreeScanner<Void,Void>
-
visitEnumDeclaration
-
visitMemberReference
- Specified by:
visitMemberReferencein interfaceTreeVisitor<Void,Void> - Overrides:
visitMemberReferencein classTreeScanner<Void,Void>
-
visitExpressionStatement
- Specified by:
visitExpressionStatementin interfaceTreeVisitor<Void,Void> - Overrides:
visitExpressionStatementin classTreeScanner<Void,Void>
-
visitVariable
- Specified by:
visitVariablein interfaceTreeVisitor<Void,Void> - Overrides:
visitVariablein classTreeScanner<Void,Void>
-
visitForLoop
- Specified by:
visitForLoopin interfaceTreeVisitor<Void,Void> - Overrides:
visitForLoopin classTreeScanner<Void,Void>
-
visitIf
- Specified by:
visitIfin interfaceTreeVisitor<Void,Void> - Overrides:
visitIfin classTreeScanner<Void,Void>
-
visitImport
- Specified by:
visitImportin interfaceTreeVisitor<Void,Void> - Overrides:
visitImportin classTreeScanner<Void,Void>
-
visitBinary
- Specified by:
visitBinaryin interfaceTreeVisitor<Void,Void> - Overrides:
visitBinaryin classTreeScanner<Void,Void>
-
visitInstanceOf
- Specified by:
visitInstanceOfin interfaceTreeVisitor<Void,Void> - Overrides:
visitInstanceOfin classTreeScanner<Void,Void>
-
visitIntersectionType
- Specified by:
visitIntersectionTypein interfaceTreeVisitor<Void,Void> - Overrides:
visitIntersectionTypein classTreeScanner<Void,Void>
-
visitLabeledStatement
- Specified by:
visitLabeledStatementin interfaceTreeVisitor<Void,Void> - Overrides:
visitLabeledStatementin classTreeScanner<Void,Void>
-
visitLambdaExpression
- Specified by:
visitLambdaExpressionin interfaceTreeVisitor<Void,Void> - Overrides:
visitLambdaExpressionin classTreeScanner<Void,Void>
-
visitAnnotation
- Specified by:
visitAnnotationin interfaceTreeVisitor<Void,Void> - Overrides:
visitAnnotationin classTreeScanner<Void,Void>
-
visitAnnotationArgument
-
visitAnnotatedType
- Specified by:
visitAnnotatedTypein interfaceTreeVisitor<Void,Void> - Overrides:
visitAnnotatedTypein classTreeScanner<Void,Void>
-
visitMethod
- Specified by:
visitMethodin interfaceTreeVisitor<Void,Void> - Overrides:
visitMethodin classTreeScanner<Void,Void>
-
visitMethodInvocation
- Specified by:
visitMethodInvocationin interfaceTreeVisitor<Void,Void> - Overrides:
visitMethodInvocationin classTreeScanner<Void,Void>
-
visitMemberSelect
- Specified by:
visitMemberSelectin interfaceTreeVisitor<Void,Void> - Overrides:
visitMemberSelectin classTreeScanner<Void,Void>
-
visitLiteral
- Specified by:
visitLiteralin interfaceTreeVisitor<Void,Void> - Overrides:
visitLiteralin classTreeScanner<Void,Void>
-
visitParameterizedType
- Specified by:
visitParameterizedTypein interfaceTreeVisitor<Void,Void> - Overrides:
visitParameterizedTypein classTreeScanner<Void,Void>
-
visitParenthesized
- Specified by:
visitParenthesizedin interfaceTreeVisitor<Void,Void> - Overrides:
visitParenthesizedin classTreeScanner<Void,Void>
-
visitUnary
- Specified by:
visitUnaryin interfaceTreeVisitor<Void,Void> - Overrides:
visitUnaryin classTreeScanner<Void,Void>
-
visitPrimitiveType
- Specified by:
visitPrimitiveTypein interfaceTreeVisitor<Void,Void> - Overrides:
visitPrimitiveTypein classTreeScanner<Void,Void>
-
visit
-
visitReturn
- Specified by:
visitReturnin interfaceTreeVisitor<Void,Void> - Overrides:
visitReturnin classTreeScanner<Void,Void>
-
visitCase
- Specified by:
visitCasein interfaceTreeVisitor<Void,Void> - Overrides:
visitCasein classTreeScanner<Void,Void>
-
visitSwitch
- Specified by:
visitSwitchin interfaceTreeVisitor<Void,Void> - Overrides:
visitSwitchin classTreeScanner<Void,Void>
-
visitSwitch
-
visitSynchronized
- Specified by:
visitSynchronizedin interfaceTreeVisitor<Void,Void> - Overrides:
visitSynchronizedin classTreeScanner<Void,Void>
-
visitThrow
- Specified by:
visitThrowin interfaceTreeVisitor<Void,Void> - Overrides:
visitThrowin classTreeScanner<Void,Void>
-
visitTry
- Specified by:
visitTryin interfaceTreeVisitor<Void,Void> - Overrides:
visitTryin classTreeScanner<Void,Void>
-
visitClassDeclaration
-
visitTypeParameter
- Specified by:
visitTypeParameterin interfaceTreeVisitor<Void,Void> - Overrides:
visitTypeParameterin classTreeScanner<Void,Void>
-
visitUnionType
- Specified by:
visitUnionTypein interfaceTreeVisitor<Void,Void> - Overrides:
visitUnionTypein classTreeScanner<Void,Void>
-
visitWhileLoop
- Specified by:
visitWhileLoopin interfaceTreeVisitor<Void,Void> - Overrides:
visitWhileLoopin classTreeScanner<Void,Void>
-
visitWildcard
- Specified by:
visitWildcardin interfaceTreeVisitor<Void,Void> - Overrides:
visitWildcardin classTreeScanner<Void,Void>
-
visitAnnotations
protected void visitAnnotations(List<? extends AnnotationTree> annotations, JavaInputAstVisitor.BreakOrNot breakBefore, JavaInputAstVisitor.BreakOrNot breakAfter) Helper method for annotations. -
visitBlock
protected void visitBlock(BlockTree node, JavaInputAstVisitor.CollapseEmptyOrNot collapseEmptyOrNot, JavaInputAstVisitor.AllowLeadingBlankLine allowLeadingBlankLine, JavaInputAstVisitor.AllowTrailingBlankLine allowTrailingBlankLine) Helper method for blocks. -
visitStatements
-
typeDeclarationModifiers
-
visitModifiers
- Specified by:
visitModifiersin interfaceTreeVisitor<Void,Void> - Overrides:
visitModifiersin classTreeScanner<Void,Void>
-
visitModifiers
@CheckReturnValue protected com.google.common.collect.ImmutableList<AnnotationTree> visitModifiers(ModifiersTree modifiersTree, JavaInputAstVisitor.Direction annotationsDirection, Optional<Output.BreakTag> declarationAnnotationBreak) Output combined modifiers and annotations and returns the trailing break. -
visitModifiers
@CheckReturnValue protected com.google.common.collect.ImmutableList<AnnotationTree> visitModifiers(ModifiersTree modifiersTree, List<? extends AnnotationTree> annotationTrees, JavaInputAstVisitor.Direction annotationsDirection, Optional<Output.BreakTag> declarationAnnotationBreak) -
visitCatch
- Specified by:
visitCatchin interfaceTreeVisitor<Void,Void> - Overrides:
visitCatchin classTreeScanner<Void,Void>
-
visitFormals
protected void visitFormals(Optional<VariableTree> receiver, List<? extends VariableTree> parameters) -
visitIdentifier
- Specified by:
visitIdentifierin interfaceTreeVisitor<Void,Void> - Overrides:
visitIdentifierin classTreeScanner<Void,Void>
-
visitModule
- Specified by:
visitModulein interfaceTreeVisitor<Void,Void> - Overrides:
visitModulein classTreeScanner<Void,Void>
-
visitExports
- Specified by:
visitExportsin interfaceTreeVisitor<Void,Void> - Overrides:
visitExportsin classTreeScanner<Void,Void>
-
visitOpens
- Specified by:
visitOpensin interfaceTreeVisitor<Void,Void> - Overrides:
visitOpensin classTreeScanner<Void,Void>
-
visitProvides
- Specified by:
visitProvidesin interfaceTreeVisitor<Void,Void> - Overrides:
visitProvidesin classTreeScanner<Void,Void>
-
visitRequires
- Specified by:
visitRequiresin interfaceTreeVisitor<Void,Void> - Overrides:
visitRequiresin classTreeScanner<Void,Void>
-
visitUses
- Specified by:
visitUsesin interfaceTreeVisitor<Void,Void> - Overrides:
visitUsesin classTreeScanner<Void,Void>
-
typeParametersRest
protected void typeParametersRest(List<? extends TypeParameterTree> typeParameters, Indent plusIndent) Does not omit the leading"<", which should be associated with the type name. -
addBodyDeclarations
protected void addBodyDeclarations(List<? extends Tree> bodyDeclarations, JavaInputAstVisitor.BracesOrNot braces, JavaInputAstVisitor.FirstDeclarationsOrNot first0) Add a list of declarations. -
getPermitsClause
Gets the permits clause for the given node. This is only available in Java 15 and later. -
token
Emit aDoc.Token. -
token
Emit aDoc.Token. -
markForPartialFormat
protected void markForPartialFormat() -
sync
Sync to position in the input. If we've skipped outputting any tokens that were present in the input tokens, output them here and complain.- Parameters:
node- the ASTNode holding the input position
-
toString
-