TypeKindVisitor6 (Java SE 9 & JDK 9 )
Keywords: javax.lang.model.util.TypeKindVisitor6 class

Module java.compiler
Package javax.lang.model.util

## Class TypeKindVisitor6<R,P>

- java.lang.Object
- - javax.lang.model.util.AbstractTypeVisitor6<R,P>
  - - javax.lang.model.util.SimpleTypeVisitor6<R,P>
    - - javax.lang.model.util.TypeKindVisitor6<R,P>

- Type Parameters:
    `R` - the return type of this visitor's methods. Use `Void` for visitors that do not need to return results.
    `P` - the type of the additional parameter to this visitor's methods. Use `Void` for visitors that do not need an additional parameter.
  All Implemented Interfaces:
    `TypeVisitor<R,P>`
  Direct Known Subclasses:
    `TypeKindVisitor7`

      @SupportedSourceVersion(RELEASE_6)
      public class TypeKindVisitor6<R,P>
      extends SimpleTypeVisitor6<R,P>

  A visitor of types based on their kind with default behavior appropriate for the `RELEASE_6` source version. For types `Xyz` that may have more than one kind, the `visitXyz` methods in this class delegate to the `visitXyzAsKind` method corresponding to the first argument's kind. The `visitXyzAsKind` methods call `defaultAction`, passing their arguments to `defaultAction`'s corresponding parameters.

  Methods in this class may be overridden subject to their general contract. Note that annotating methods in concrete subclasses with `@Override` will help ensure that methods are overridden as intended.

  WARNING: The `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 `"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 `"visit"`.

  When such a new visit method is added, the default implementation in this class will be to call the `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.

  Since:
    1.6
  See Also:
    `TypeKindVisitor7`, `TypeKindVisitor8`

- - ### Field Summary

    - ### Fields inherited from class javax.lang.model.util.SimpleTypeVisitor6

      `DEFAULT_VALUE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `TypeKindVisitor6​()` | Deprecated. Release 6 is obsolete; update to a visitor for a newer release level.
    `protected` | `TypeKindVisitor6​(R defaultValue)` | Deprecated. Release 6 is obsolete; update to a visitor for a newer release level.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `R` | `visitNoType​(NoType t, P p)` | Visits a `NoType` instance, dispatching to the visit method for the specific kind of pseudo-type: `VOID`, `PACKAGE`, or `NONE`.
    `R` | `visitNoTypeAsNone​(NoType t, P p)` | Visits a `NONE` pseudo-type by calling `defaultAction`.
    `R` | `visitNoTypeAsPackage​(NoType t, P p)` | Visits a `PACKAGE` pseudo-type by calling `defaultAction`.
    `R` | `visitNoTypeAsVoid​(NoType t, P p)` | Visits a `VOID` pseudo-type by calling `defaultAction`.
    `R` | `visitPrimitive​(PrimitiveType t, P p)` | Visits a primitive type, dispatching to the visit method for the specific kind of primitive type: `BOOLEAN`, `BYTE`, etc.
    `R` | `visitPrimitiveAsBoolean​(PrimitiveType t, P p)` | Visits a `BOOLEAN` primitive type by calling `defaultAction`.
    `R` | `visitPrimitiveAsByte​(PrimitiveType t, P p)` | Visits a `BYTE` primitive type by calling `defaultAction`.
    `R` | `visitPrimitiveAsChar​(PrimitiveType t, P p)` | Visits a `CHAR` primitive type by calling `defaultAction`.
    `R` | `visitPrimitiveAsDouble​(PrimitiveType t, P p)` | Visits a `DOUBLE` primitive type by calling `defaultAction`.
    `R` | `visitPrimitiveAsFloat​(PrimitiveType t, P p)` | Visits a `FLOAT` primitive type by calling `defaultAction`.
    `R` | `visitPrimitiveAsInt​(PrimitiveType t, P p)` | Visits an `INT` primitive type by calling `defaultAction`.
    `R` | `visitPrimitiveAsLong​(PrimitiveType t, P p)` | Visits a `LONG` primitive type by calling `defaultAction`.
    `R` | `visitPrimitiveAsShort​(PrimitiveType t, P p)` | Visits a `SHORT` primitive type by calling `defaultAction`.

    - ### Methods inherited from class javax.lang.model.util.AbstractTypeVisitor6

      `visit, visit, visitIntersection, visitUnion, visitUnknown`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from class javax.lang.model.util.SimpleTypeVisitor6

      `defaultAction, visitArray, visitDeclared, visitError, visitExecutable, visitNull, visitTypeVariable, visitWildcard`

- - ### Constructor Detail

    - #### TypeKindVisitor6

          @Deprecated
          protected TypeKindVisitor6​()

      Deprecated. Release 6 is obsolete; update to a visitor for a newer release level.
      Constructor for concrete subclasses to call; uses `null` for the default value.

    - #### TypeKindVisitor6

          @Deprecated
          protected TypeKindVisitor6​(R defaultValue)

      Deprecated. Release 6 is obsolete; update to a visitor for a newer release level.
      Constructor for concrete subclasses to call; uses the argument for the default value.
      Parameters:
        `defaultValue` - the value to assign to `SimpleTypeVisitor6.DEFAULT_VALUE`

  - ### Method Detail

    - #### visitPrimitive

          public R visitPrimitive​(PrimitiveType t,
                                  P p)

      Visits a primitive type, dispatching to the visit method for the specific kind of primitive type: `BOOLEAN`, `BYTE`, etc.
      Specified by:
        `visitPrimitive` in interface `TypeVisitor<R,P>`
      Overrides:
        `visitPrimitive` in class `SimpleTypeVisitor6<R,P>`
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of the kind-specific visit method

    - #### visitPrimitiveAsBoolean

          public R visitPrimitiveAsBoolean​(PrimitiveType t,
                                           P p)

      Visits a `BOOLEAN` primitive type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`

    - #### visitPrimitiveAsByte

          public R visitPrimitiveAsByte​(PrimitiveType t,
                                        P p)

      Visits a `BYTE` primitive type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`

    - #### visitPrimitiveAsShort

          public R visitPrimitiveAsShort​(PrimitiveType t,
                                         P p)

      Visits a `SHORT` primitive type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`

    - #### visitPrimitiveAsInt

          public R visitPrimitiveAsInt​(PrimitiveType t,
                                       P p)

      Visits an `INT` primitive type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`

    - #### visitPrimitiveAsLong

          public R visitPrimitiveAsLong​(PrimitiveType t,
                                        P p)

      Visits a `LONG` primitive type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`

    - #### visitPrimitiveAsChar

          public R visitPrimitiveAsChar​(PrimitiveType t,
                                        P p)

      Visits a `CHAR` primitive type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`

    - #### visitPrimitiveAsFloat

          public R visitPrimitiveAsFloat​(PrimitiveType t,
                                         P p)

      Visits a `FLOAT` primitive type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`

    - #### visitPrimitiveAsDouble

          public R visitPrimitiveAsDouble​(PrimitiveType t,
                                          P p)

      Visits a `DOUBLE` primitive type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`

    - #### visitNoType

          public R visitNoType​(NoType t,
                               P p)

      Visits a `NoType` instance, dispatching to the visit method for the specific kind of pseudo-type: `VOID`, `PACKAGE`, or `NONE`.
      Specified by:
        `visitNoType` in interface `TypeVisitor<R,P>`
      Overrides:
        `visitNoType` in class `SimpleTypeVisitor6<R,P>`
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of the kind-specific visit method

    - #### visitNoTypeAsVoid

          public R visitNoTypeAsVoid​(NoType t,
                                     P p)

      Visits a `VOID` pseudo-type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`

    - #### visitNoTypeAsPackage

          public R visitNoTypeAsPackage​(NoType t,
                                        P p)

      Visits a `PACKAGE` pseudo-type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`

    - #### visitNoTypeAsNone

          public R visitNoTypeAsNone​(NoType t,
                                     P p)

      Visits a `NONE` pseudo-type by calling `defaultAction`.
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of `defaultAction`