Class DefaultAnnotatedTypeFormatter.FormattingVisitor
- java.lang.Object
-
- org.checkerframework.framework.type.DefaultAnnotatedTypeFormatter.FormattingVisitor
-
- All Implemented Interfaces:
AnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Direct Known Subclasses:
NullnessNoInitAnnotatedTypeFormatter.NullnessFormattingVisitor
,UnitsAnnotatedTypeFormatter.UnitsFormattingVisitor
- Enclosing class:
- DefaultAnnotatedTypeFormatter
protected static class DefaultAnnotatedTypeFormatter.FormattingVisitor extends java.lang.Object implements AnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
A scanning visitor that prints the entire AnnotatedTypeMirror passed to visit.
-
-
Field Summary
Fields Modifier and Type Field Description protected AnnotationFormatter
annoFormatter
The object responsible for converting annotations to strings.protected boolean
currentlyPrintingRaw
Whether the visitor is currently printing a raw type.protected boolean
currentPrintInvisibleSetting
For a given call to format, this setting specifies whether or not to printInvisibles.protected boolean
currentPrintVerboseGenerics
Prints type variables in a less ambiguous manner using [] to delimit them.protected boolean
defaultInvisiblesSetting
Represents whether or not invisible annotations should be printed if the client of this class does not use the printInvisibleAnnos parameter.protected boolean
defaultPrintVerboseGenerics
Default value of currentPrintVerboseGenerics.
-
Constructor Summary
Constructors Constructor Description FormattingVisitor(AnnotationFormatter annoFormatter, boolean printVerboseGenerics, boolean defaultInvisiblesSetting)
Creates the visitor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
formatFlatType(AnnotatedTypeMirror flatType)
protected void
printBound(java.lang.String keyWord, AnnotatedTypeMirror field, java.util.Set<AnnotatedTypeMirror> visiting, java.lang.StringBuilder sb)
Print, to sb,keyWord
followed byfield
.protected void
resetPrintVerboseSettings()
Set verbose settings to the default.protected void
setVerboseSettings(boolean printVerbose)
Set the current verbose settings to use while printing.java.lang.String
visit(AnnotatedTypeMirror type)
A convenience method equivalent tov.visit(t, null)
.java.lang.String
visit(AnnotatedTypeMirror type, java.util.Set<AnnotatedTypeMirror> annotatedTypeVariables)
Visits a type.java.lang.String
visitArray(AnnotatedTypeMirror.AnnotatedArrayType type, java.util.Set<AnnotatedTypeMirror> visiting)
Visits an array type.java.lang.String
visitDeclared(AnnotatedTypeMirror.AnnotatedDeclaredType type, java.util.Set<AnnotatedTypeMirror> visiting)
Visits a declared type.java.lang.String
visitExecutable(AnnotatedTypeMirror.AnnotatedExecutableType type, java.util.Set<AnnotatedTypeMirror> visiting)
Visits an executable type.java.lang.String
visitIntersection(AnnotatedTypeMirror.AnnotatedIntersectionType type, java.util.Set<AnnotatedTypeMirror> visiting)
Visits an intersection type.java.lang.String
visitNoType(AnnotatedTypeMirror.AnnotatedNoType type, java.util.Set<AnnotatedTypeMirror> visiting)
Visits NoType type.java.lang.String
visitNull(AnnotatedTypeMirror.AnnotatedNullType type, java.util.Set<AnnotatedTypeMirror> visiting)
Visits anull
type.java.lang.String
visitPrimitive(AnnotatedTypeMirror.AnnotatedPrimitiveType type, java.util.Set<AnnotatedTypeMirror> visiting)
Visits a primitive type.java.lang.String
visitTypeVariable(AnnotatedTypeMirror.AnnotatedTypeVariable type, java.util.Set<AnnotatedTypeMirror> visiting)
Visits a type variable.java.lang.String
visitUnion(AnnotatedTypeMirror.AnnotatedUnionType type, java.util.Set<AnnotatedTypeMirror> visiting)
Visits an union type.java.lang.String
visitWildcard(AnnotatedTypeMirror.AnnotatedWildcardType type, java.util.Set<AnnotatedTypeMirror> visiting)
Visits a wildcard type.
-
-
-
Field Detail
-
annoFormatter
protected final AnnotationFormatter annoFormatter
The object responsible for converting annotations to strings.
-
defaultInvisiblesSetting
protected final boolean defaultInvisiblesSetting
Represents whether or not invisible annotations should be printed if the client of this class does not use the printInvisibleAnnos parameter.
-
currentPrintInvisibleSetting
protected boolean currentPrintInvisibleSetting
For a given call to format, this setting specifies whether or not to printInvisibles. If a user did not specify a printInvisible parameter in the call to format then this value will equal DefaultAnnotatedTypeFormatter.defaultInvisibleSettings for this object
-
defaultPrintVerboseGenerics
protected final boolean defaultPrintVerboseGenerics
Default value of currentPrintVerboseGenerics.
-
currentPrintVerboseGenerics
protected boolean currentPrintVerboseGenerics
Prints type variables in a less ambiguous manner using [] to delimit them. Always prints both bounds even if they lower bound is an AnnotatedNull type.
-
currentlyPrintingRaw
protected boolean currentlyPrintingRaw
Whether the visitor is currently printing a raw type.
-
-
Constructor Detail
-
FormattingVisitor
public FormattingVisitor(AnnotationFormatter annoFormatter, boolean printVerboseGenerics, boolean defaultInvisiblesSetting)
Creates the visitor.- Parameters:
annoFormatter
- formatter used forAnnotationMirror
sprintVerboseGenerics
- whether to verbosely print type variables and wildcardsdefaultInvisiblesSetting
- whether to print invisible qualifiers
-
-
Method Detail
-
setVerboseSettings
protected void setVerboseSettings(boolean printVerbose)
Set the current verbose settings to use while printing.
-
resetPrintVerboseSettings
protected void resetPrintVerboseSettings()
Set verbose settings to the default.
-
printBound
@SideEffectFree protected void printBound(java.lang.String keyWord, AnnotatedTypeMirror field, java.util.Set<AnnotatedTypeMirror> visiting, java.lang.StringBuilder sb)
Print, to sb,keyWord
followed byfield
. NULL types are substituted with their annotations followed by " Void"
-
visit
@SideEffectFree public java.lang.String visit(AnnotatedTypeMirror type)
Description copied from interface:AnnotatedTypeVisitor
A convenience method equivalent tov.visit(t, null)
.- Specified by:
visit
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visit- Returns:
- a visitor-specified result
-
visit
public java.lang.String visit(AnnotatedTypeMirror type, java.util.Set<AnnotatedTypeMirror> annotatedTypeVariables)
Description copied from interface:AnnotatedTypeVisitor
Visits a type.- Specified by:
visit
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitannotatedTypeVariables
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
visitDeclared
public java.lang.String visitDeclared(AnnotatedTypeMirror.AnnotatedDeclaredType type, java.util.Set<AnnotatedTypeMirror> visiting)
Description copied from interface:AnnotatedTypeVisitor
Visits a declared type.- Specified by:
visitDeclared
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitvisiting
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
visitIntersection
public java.lang.String visitIntersection(AnnotatedTypeMirror.AnnotatedIntersectionType type, java.util.Set<AnnotatedTypeMirror> visiting)
Description copied from interface:AnnotatedTypeVisitor
Visits an intersection type.- Specified by:
visitIntersection
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitvisiting
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
visitUnion
public java.lang.String visitUnion(AnnotatedTypeMirror.AnnotatedUnionType type, java.util.Set<AnnotatedTypeMirror> visiting)
Description copied from interface:AnnotatedTypeVisitor
Visits an union type.- Specified by:
visitUnion
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitvisiting
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
visitExecutable
public java.lang.String visitExecutable(AnnotatedTypeMirror.AnnotatedExecutableType type, java.util.Set<AnnotatedTypeMirror> visiting)
Description copied from interface:AnnotatedTypeVisitor
Visits an executable type.- Specified by:
visitExecutable
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitvisiting
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
visitArray
public java.lang.String visitArray(AnnotatedTypeMirror.AnnotatedArrayType type, java.util.Set<AnnotatedTypeMirror> visiting)
Description copied from interface:AnnotatedTypeVisitor
Visits an array type.- Specified by:
visitArray
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitvisiting
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
visitTypeVariable
public java.lang.String visitTypeVariable(AnnotatedTypeMirror.AnnotatedTypeVariable type, java.util.Set<AnnotatedTypeMirror> visiting)
Description copied from interface:AnnotatedTypeVisitor
Visits a type variable.- Specified by:
visitTypeVariable
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitvisiting
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
visitPrimitive
@SideEffectFree public java.lang.String visitPrimitive(AnnotatedTypeMirror.AnnotatedPrimitiveType type, java.util.Set<AnnotatedTypeMirror> visiting)
Description copied from interface:AnnotatedTypeVisitor
Visits a primitive type.- Specified by:
visitPrimitive
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitvisiting
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
visitNoType
@SideEffectFree public java.lang.String visitNoType(AnnotatedTypeMirror.AnnotatedNoType type, java.util.Set<AnnotatedTypeMirror> visiting)
Description copied from interface:AnnotatedTypeVisitor
Visits NoType type.- Specified by:
visitNoType
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitvisiting
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
visitNull
@SideEffectFree public java.lang.String visitNull(AnnotatedTypeMirror.AnnotatedNullType type, java.util.Set<AnnotatedTypeMirror> visiting)
Description copied from interface:AnnotatedTypeVisitor
Visits anull
type.- Specified by:
visitNull
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitvisiting
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
visitWildcard
public java.lang.String visitWildcard(AnnotatedTypeMirror.AnnotatedWildcardType type, java.util.Set<AnnotatedTypeMirror> visiting)
Description copied from interface:AnnotatedTypeVisitor
Visits a wildcard type.- Specified by:
visitWildcard
in interfaceAnnotatedTypeVisitor<java.lang.String,java.util.Set<AnnotatedTypeMirror>>
- Parameters:
type
- the type to visitvisiting
- a visitor-specified parameter- Returns:
- a visitor-specified result
-
formatFlatType
@SideEffectFree protected java.lang.String formatFlatType(AnnotatedTypeMirror flatType)
-
-