Interface TypeVisitor<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 Known Implementing Classes:
AbstractTypeVisitor14, AbstractTypeVisitor6, AbstractTypeVisitor7, AbstractTypeVisitor8, AbstractTypeVisitor9, AbstractTypeVisitorPreviewPREVIEW, SimpleTypeVisitor14, SimpleTypeVisitor6, SimpleTypeVisitor7, SimpleTypeVisitor8, SimpleTypeVisitor9, SimpleTypeVisitorPreviewPREVIEW, TypeKindVisitor14, TypeKindVisitor6, TypeKindVisitor7, TypeKindVisitor8, TypeKindVisitor9, TypeKindVisitorPreviewPREVIEW

public interface TypeVisitor<R,P>
A visitor of types, in the style of the visitor design pattern. Classes implementing this interface are used to operate on a type when the kind of type is unknown at compile time. When a visitor is passed to a type's accept method, the visitXyz method most applicable to that type is invoked.

Classes implementing this interface may or may not throw a NullPointerException if the additional parameter p is null; see documentation of the implementing class for details.

Since:
1.6
  • Method Details

    • visit

      R visit(TypeMirror t, P p)
      Visits a type.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
    • visit

      default R visit(TypeMirror t)
      A convenience method equivalent to visit(t, null).
      Parameters:
      t - the element to visit
      Returns:
      a visitor-specified result
    • visitPrimitive

      R visitPrimitive(PrimitiveType t, P p)
      Visits a primitive type.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
    • visitNull

      R visitNull(NullType t, P p)
      Visits the null type.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
    • visitArray

      R visitArray(ArrayType t, P p)
      Visits an array type.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
    • visitDeclared

      R visitDeclared(DeclaredType t, P p)
      Visits a declared type.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
    • visitError

      R visitError(ErrorType t, P p)
      Visits an error type.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
    • visitTypeVariable

      R visitTypeVariable(TypeVariable t, P p)
      Visits a type variable.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
    • visitWildcard

      R visitWildcard(WildcardType t, P p)
      Visits a wildcard type.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
    • visitExecutable

      R visitExecutable(ExecutableType t, P p)
      Visits an executable type.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
    • visitNoType

      R visitNoType(NoType t, P p)
      Visits a NoType instance.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
    • visitUnknown

      R visitUnknown(TypeMirror t, P p)
      Visits an unknown kind of type. This can occur if the language evolves and new kinds of types are added to the TypeMirror hierarchy.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
      Throws:
      UnknownTypeException - a visitor implementation may optionally throw this exception
    • visitUnion

      R visitUnion(UnionType t, P p)
      Visits a union type.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
      Since:
      1.7
    • visitIntersection

      R visitIntersection(IntersectionType t, P p)
      Visits an intersection type.
      Parameters:
      t - the type to visit
      p - a visitor-specified parameter
      Returns:
      a visitor-specified result
      Since:
      1.8