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

## Class AbstractTypeVisitor8<R,P>

- java.lang.Object
- - javax.lang.model.util.AbstractTypeVisitor6<R,P>
  - - javax.lang.model.util.AbstractTypeVisitor7<R,P>
    - - javax.lang.model.util.AbstractTypeVisitor8<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:
    `AbstractTypeVisitor9`

      @SupportedSourceVersion(RELEASE_8)
      public abstract class AbstractTypeVisitor8<R,P>
      extends AbstractTypeVisitor7<R,P>

  A skeletal visitor of types with default behavior appropriate for the `RELEASE_8` source version.

  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 abstract type 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.8
  See Also:
    `AbstractTypeVisitor6`, `AbstractTypeVisitor7`, `AbstractTypeVisitor9`

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `AbstractTypeVisitor8​()` | Constructor for concrete subclasses to call.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract R` | `visitIntersection​(IntersectionType t, P p)` | Visits an `IntersectionType` in a manner defined by a subclass.

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

      `visit, visit, visitUnknown`

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

      `visitUnion`

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

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

    - ### Methods inherited from interface javax.lang.model.type.TypeVisitor

      `visitArray, visitDeclared, visitError, visitExecutable, visitNoType, visitNull, visitPrimitive, visitTypeVariable, visitWildcard`

- - ### Constructor Detail

    - #### AbstractTypeVisitor8

          protected AbstractTypeVisitor8​()

      Constructor for concrete subclasses to call.

  - ### Method Detail

    - #### visitIntersection

          public abstract R visitIntersection​(IntersectionType t,
                                              P p)

      Visits an `IntersectionType` in a manner defined by a subclass.
      Specified by:
        `visitIntersection` in interface `TypeVisitor<R,P>`
      Overrides:
        `visitIntersection` in class `AbstractTypeVisitor6<R,P>`
      Parameters:
        `t` - the type to visit
        `p` - a visitor-specified parameter
      Returns:
        the result of the visit as defined by a subclass