TypeKindVisitor6public class TypeKindVisitor6 extends SimpleTypeVisitor6 A visitor of types based on their {@linkplain TypeKind kind} with
default behavior appropriate for the {@link SourceVersion#RELEASE_6
RELEASE_6} source version. For {@linkplain
TypeMirror types} XYZ that may have more than one
kind, the visitXYZ methods in this class delegate
to the visitXYZKind method corresponding to the
first argument's kind. The visitXYZKind methods
call {@link #defaultAction defaultAction}, passing their arguments
to {@code defaultAction}'s corresponding parameters.
Methods in this class may be overridden subject to their
general contract. Note that annotating methods in concrete
subclasses with {@link java.lang.Override @Override} will help
ensure that methods are overridden as intended.
WARNING: The {@code TypeVisitor} interface implemented
by this class may have methods added to it in the future to
accommodate new, currently unknown, language structures added to
future versions of the Java™ programming language.
Therefore, methods whose names begin with {@code "visit"} may be
added to this class in the future; to avoid incompatibilities,
classes which extend this class should not declare any instance
methods with names beginning with {@code "visit"}.
When such a new visit method is added, the default
implementation in this class will be to call the {@link
#visitUnknown visitUnknown} method. A new type kind visitor class
will also be introduced to correspond to the new language level;
this visitor will have different default behavior for the visit
method in question. When the new visitor is introduced, all or
portions of this visitor may be deprecated. |
Constructors Summary |
---|
protected TypeKindVisitor6()Constructor for concrete subclasses to call; uses {@code null}
for the default value.
super(null);
| protected TypeKindVisitor6(R defaultValue)Constructor for concrete subclasses to call; uses the argument
for the default value.
super(defaultValue);
|
Methods Summary |
---|
public R | visitNoType(javax.lang.model.type.NoType t, P p)Visits a {@link NoType} instance, dispatching to the visit method for
the specific {@linkplain TypeKind kind} of pseudo-type:
{@code VOID}, {@code PACKAGE}, or {@code NONE}.
TypeKind k = t.getKind();
switch (k) {
case VOID:
return visitNoTypeAsVoid(t, p);
case PACKAGE:
return visitNoTypeAsPackage(t, p);
case NONE:
return visitNoTypeAsNone(t, p);
default:
throw new AssertionError("Bad kind " + k + " for NoType" + t);
}
| public R | visitNoTypeAsNone(javax.lang.model.type.NoType t, P p)Visits a {@link TypeKind#NONE NONE} pseudo-type by calling
{@code defaultAction}.
return defaultAction(t, p);
| public R | visitNoTypeAsPackage(javax.lang.model.type.NoType t, P p)Visits a {@link TypeKind#PACKAGE PACKAGE} pseudo-type by calling
{@code defaultAction}.
return defaultAction(t, p);
| public R | visitNoTypeAsVoid(javax.lang.model.type.NoType t, P p)Visits a {@link TypeKind#VOID VOID} pseudo-type by calling
{@code defaultAction}.
return defaultAction(t, p);
| public R | visitPrimitive(javax.lang.model.type.PrimitiveType t, P p)Visits a primitive type, dispatching to the visit method for
the specific {@linkplain TypeKind kind} of primitive type:
{@code BOOLEAN}, {@code BYTE}, etc.
TypeKind k = t.getKind();
switch (k) {
case BOOLEAN:
return visitPrimitiveAsBoolean(t, p);
case BYTE:
return visitPrimitiveAsByte(t, p);
case SHORT:
return visitPrimitiveAsShort(t, p);
case INT:
return visitPrimitiveAsInt(t, p);
case LONG:
return visitPrimitiveAsLong(t, p);
case CHAR:
return visitPrimitiveAsChar(t, p);
case FLOAT:
return visitPrimitiveAsFloat(t, p);
case DOUBLE:
return visitPrimitiveAsDouble(t, p);
default:
throw new AssertionError("Bad kind " + k + " for PrimitiveType" + t);
}
| public R | visitPrimitiveAsBoolean(javax.lang.model.type.PrimitiveType t, P p)Visits a {@code BOOLEAN} primitive type by calling
{@code defaultAction}.
return defaultAction(t, p);
| public R | visitPrimitiveAsByte(javax.lang.model.type.PrimitiveType t, P p)Visits a {@code BYTE} primitive type by calling
{@code defaultAction}.
return defaultAction(t, p);
| public R | visitPrimitiveAsChar(javax.lang.model.type.PrimitiveType t, P p)Visits a {@code CHAR} primitive type by calling
{@code defaultAction}.
return defaultAction(t, p);
| public R | visitPrimitiveAsDouble(javax.lang.model.type.PrimitiveType t, P p)Visits a {@code DOUBLE} primitive type by calling
{@code defaultAction}.
return defaultAction(t, p);
| public R | visitPrimitiveAsFloat(javax.lang.model.type.PrimitiveType t, P p)Visits a {@code FLOAT} primitive type by calling
{@code defaultAction}.
return defaultAction(t, p);
| public R | visitPrimitiveAsInt(javax.lang.model.type.PrimitiveType t, P p)Visits an {@code INT} primitive type by calling
{@code defaultAction}.
return defaultAction(t, p);
| public R | visitPrimitiveAsLong(javax.lang.model.type.PrimitiveType t, P p)Visits a {@code LONG} primitive type by calling
{@code defaultAction}.
return defaultAction(t, p);
| public R | visitPrimitiveAsShort(javax.lang.model.type.PrimitiveType t, P p)Visits a {@code SHORT} primitive type by calling
{@code defaultAction}.
return defaultAction(t, p);
|
|