TypeKindVisitor8 (Java SE 26 & JDK 26)
Description: declaration: module: java.compiler, package: javax.lang.model.util, class: TypeKindVisitor8
Keywords: javax.lang.model.util.TypeKindVisitor8 class

# Class TypeKindVisitor8<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>
javax.lang.model.util.TypeKindVisitor7<R,P>
javax.lang.model.util.TypeKindVisitor8<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:
  `TypeKindVisitor9`

@SupportedSourceVersion(RELEASE_8) public class TypeKindVisitor8<R,P> extends TypeKindVisitor7<R,P>
A visitor of types based on their kind with default behavior appropriate for the `RELEASE_8` 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.

API Note:
  Methods in this class may be overridden subject to their general contract.
Since:
  1.8
See Also:
  - Compatibility note for subclasses
  - `TypeKindVisitor6`
  - `TypeKindVisitor7`
  - `TypeKindVisitor9`
  - `TypeKindVisitor14`

- ## Field Summary

  ### Fields declared in class SimpleTypeVisitor6

  `DEFAULT_VALUE`
  Modifier and Type
  Field
  Description
  `protected final R`
  `DEFAULT_VALUE`
  Default value to be returned; `defaultAction` returns this value unless the method is overridden.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `TypeKindVisitor8()`
  Constructor for concrete subclasses to call; uses `null` for the default value.
  `protected`
  `TypeKindVisitor8(R defaultValue)`
  Constructor for concrete subclasses to call; uses the argument for the default value.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `R`
  `visitIntersection(IntersectionType t, P p)`
  Visits an intersection type.

  ### Methods declared in class TypeKindVisitor7

  `visitUnion`
  Modifier and Type
  Method
  Description
  `R`
  `visitUnion(UnionType t, P p)`
  Visits a union type.

  ### Methods declared in class TypeKindVisitor6

  `visitNoType, visitNoTypeAsModule, visitNoTypeAsNone, visitNoTypeAsPackage, visitNoTypeAsVoid, visitPrimitive, visitPrimitiveAsBoolean, visitPrimitiveAsByte, visitPrimitiveAsChar, visitPrimitiveAsDouble, visitPrimitiveAsFloat, visitPrimitiveAsInt, visitPrimitiveAsLong, visitPrimitiveAsShort`
  Modifier and Type
  Method
  Description
  `R`
  `visitNoType(NoType t, P p)`
  Visits a `NoType` instance.
  `R`
  `visitNoTypeAsModule(NoType t, P p)`
  Visits a `MODULE` pseudo-type.
  `R`
  `visitNoTypeAsNone(NoType t, P p)`
  Visits a `NONE` pseudo-type.
  `R`
  `visitNoTypeAsPackage(NoType t, P p)`
  Visits a `PACKAGE` pseudo-type.
  `R`
  `visitNoTypeAsVoid(NoType t, P p)`
  Visits a `VOID` pseudo-type.
  `R`
  `visitPrimitive(PrimitiveType t, P p)`
  Visits a primitive type.
  `R`
  `visitPrimitiveAsBoolean(PrimitiveType t, P p)`
  Visits a `BOOLEAN` primitive type.
  `R`
  `visitPrimitiveAsByte(PrimitiveType t, P p)`
  Visits a `BYTE` primitive type.
  `R`
  `visitPrimitiveAsChar(PrimitiveType t, P p)`
  Visits a `CHAR` primitive type.
  `R`
  `visitPrimitiveAsDouble(PrimitiveType t, P p)`
  Visits a `DOUBLE` primitive type.
  `R`
  `visitPrimitiveAsFloat(PrimitiveType t, P p)`
  Visits a `FLOAT` primitive type.
  `R`
  `visitPrimitiveAsInt(PrimitiveType t, P p)`
  Visits an `INT` primitive type.
  `R`
  `visitPrimitiveAsLong(PrimitiveType t, P p)`
  Visits a `LONG` primitive type.
  `R`
  `visitPrimitiveAsShort(PrimitiveType t, P p)`
  Visits a `SHORT` primitive type.

  ### Methods declared in class SimpleTypeVisitor6

  `defaultAction, visitArray, visitDeclared, visitError, visitExecutable, visitNull, visitTypeVariable, visitWildcard`
  Modifier and Type
  Method
  Description
  `protected R`
  `defaultAction(TypeMirror t, P p)`
  The default action for visit methods.
  `R`
  `visitArray(ArrayType t, P p)`
  Visits an array type.
  `R`
  `visitDeclared(DeclaredType t, P p)`
  Visits a declared type.
  `R`
  `visitError(ErrorType t, P p)`
  Visits an error type.
  `R`
  `visitExecutable(ExecutableType t, P p)`
  Visits an executable type.
  `R`
  `visitNull(NullType t, P p)`
  Visits the null type.
  `R`
  `visitTypeVariable(TypeVariable t, P p)`
  Visits a type variable.
  `R`
  `visitWildcard(WildcardType t, P p)`
  Visits a wildcard type.

  ### Methods declared in class AbstractTypeVisitor6

  `visit, visit, visitUnknown`
  Modifier and Type
  Method
  Description
  `final R`
  `visit(TypeMirror t)`
  Visits any type mirror as if by passing itself to that type mirror's `accept` method and passing `null` for the additional parameter.
  `final R`
  `visit(TypeMirror t, P p)`
  Visits any type mirror as if by passing itself to that type mirror's `accept` method.
  `R`
  `visitUnknown(TypeMirror t, P p)`
  Visits an unknown kind of type.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### TypeKindVisitor8

    protected TypeKindVisitor8()
    Constructor for concrete subclasses to call; uses `null` for the default value.

  - ### TypeKindVisitor8

    protected TypeKindVisitor8(R defaultValue)
    Constructor for concrete subclasses to call; uses the argument for the default value.
    Parameters:
      `defaultValue` - the value to assign to `SimpleTypeVisitor6.DEFAULT_VALUE`

- ## Method Details

  - ### visitIntersection

    public R visitIntersection(IntersectionType t, P p)
    Visits an intersection type.
    Specified by:
      `visitIntersection` in interface `TypeVisitor<R,P>`
    Overrides:
      `visitIntersection` in class `AbstractTypeVisitor6<R,P>`
    Implementation Requirements:
      This implementation calls `defaultAction`.
    Parameters:
      `t` - the type to visit
      `p` - a visitor-specified parameter
    Returns:
      the result of `defaultAction`