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 declared in 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

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 javax.lang.model.util.SimpleTypeVisitor6

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

### Methods declared in class javax.lang.model.util.AbstractTypeVisitor6

`visit, visit, visitIntersection, visitUnion, visitUnknown`

### Methods declared in class java.lang.Object

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

## Constructor Details

### TypeKindVisitor6

@Deprecated(since="9") 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(since="9") 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 Details

### visitPrimitive

public R visitPrimitive​(PrimitiveType t, P p)
Visits a primitive type.

Specified by:
  `visitPrimitive` in interface `TypeVisitor<R,​P>`
Overrides:
  `visitPrimitive` in class `SimpleTypeVisitor6<R,​P>`
Implementation Requirements:
  This implementation dispatches to the visit method for the specific kind of primitive type: `BOOLEAN`, `BYTE`, etc.
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.

Implementation Requirements:
  This implementation calls `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.

Implementation Requirements:
  This implementation calls `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.

Implementation Requirements:
  This implementation calls `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.

Implementation Requirements:
  This implementation calls `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.

Implementation Requirements:
  This implementation calls `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.

Implementation Requirements:
  This implementation calls `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.

Implementation Requirements:
  This implementation calls `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.

Implementation Requirements:
  This implementation calls `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.

Specified by:
  `visitNoType` in interface `TypeVisitor<R,​P>`
Overrides:
  `visitNoType` in class `SimpleTypeVisitor6<R,​P>`
Implementation Requirements:
  This implementation dispatches to the visit method for the specific kind of pseudo-type: `VOID`, `PACKAGE`, `MODULE`, or `NONE`.
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.

Implementation Requirements:
  This implementation calls `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.

Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

### visitNoTypeAsModule

public R visitNoTypeAsModule​(NoType t, P p)
Visits a `MODULE` pseudo-type.

Implementation Requirements:
  This implementation calls `visitUnknown`.
Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `visitUnknown`
Since:
  10

### visitNoTypeAsNone

public R visitNoTypeAsNone​(NoType t, P p)
Visits a `NONE` pseudo-type.

Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`