ElementKindVisitor6public class ElementKindVisitor6 extends SimpleElementVisitor6 A visitor of program elements based on their {@linkplain
ElementKind kind} with default behavior appropriate for the {@link
SourceVersion#RELEASE_6 RELEASE_6} source version. For {@linkplain
Element elements} XYZ that may have more than one
kind, the visitXYZ methods in this class delegate
to the visitXYZKind method corresponding to the
first argument's kind. The visitXYZKind methods
call {@link #defaultAction defaultAction}, passing their arguments
to {@code defaultAction}'s corresponding parameters.
Methods in this class may be overridden subject to their
general contract. Note that annotating methods in concrete
subclasses with {@link java.lang.Override @Override} will help
ensure that methods are overridden as intended.
WARNING: The {@code ElementVisitor} interface
implemented by this class may have methods added to it or the
{@code ElementKind} {@code enum} used in this case may have
constants 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 {@code "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
{@code "visit"}.
When such a new visit method is added, the default
implementation in this class will be to call the {@link
#visitUnknown visitUnknown} method. A new abstract element 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. |
Constructors Summary |
---|
protected ElementKindVisitor6()Constructor for concrete subclasses; uses {@code null} for the
default value.
super(null);
| protected ElementKindVisitor6(R defaultValue)Constructor for concrete subclasses; uses the argument for the
default value.
super(defaultValue);
|
Methods Summary |
---|
public R | visitExecutable(javax.lang.model.element.ExecutableElement e, P p)Visits an executable element, dispatching to the visit method
for the specific {@linkplain ElementKind kind} of executable,
{@code CONSTRUCTOR}, {@code INSTANCE_INIT}, {@code METHOD}, or
{@code STATIC_INIT}.
ElementKind k = e.getKind();
switch(k) {
case CONSTRUCTOR:
return visitExecutableAsConstructor(e, p);
case INSTANCE_INIT:
return visitExecutableAsInstanceInit(e, p);
case METHOD:
return visitExecutableAsMethod(e, p);
case STATIC_INIT:
return visitExecutableAsStaticInit(e, p);
default:
throw new AssertionError("Bad kind " + k + " for ExecutableElement" + e);
}
| public R | visitExecutableAsConstructor(javax.lang.model.element.ExecutableElement e, P p)Visits a {@code CONSTRUCTOR} executable element by calling
{@code defaultAction}.
return defaultAction(e, p);
| public R | visitExecutableAsInstanceInit(javax.lang.model.element.ExecutableElement e, P p)Visits an {@code INSTANCE_INIT} executable element by calling
{@code defaultAction}.
return defaultAction(e, p);
| public R | visitExecutableAsMethod(javax.lang.model.element.ExecutableElement e, P p)Visits a {@code METHOD} executable element by calling
{@code defaultAction}.
return defaultAction(e, p);
| public R | visitExecutableAsStaticInit(javax.lang.model.element.ExecutableElement e, P p)Visits a {@code STATIC_INIT} executable element by calling
{@code defaultAction}.
return defaultAction(e, p);
| public R | visitPackage(javax.lang.model.element.PackageElement e, P p){@inheritDoc}
The element argument has kind {@code PACKAGE}.
assert e.getKind() == PACKAGE: "Bad kind on PackageElement";
return defaultAction(e, p);
| public R | visitType(javax.lang.model.element.TypeElement e, P p)Visits a type element, dispatching to the visit method for the
specific {@linkplain ElementKind kind} of type, {@code
ANNOTATION_TYPE}, {@code CLASS}, {@code ENUM}, or {@code
INTERFACE}.
ElementKind k = e.getKind();
switch(k) {
case ANNOTATION_TYPE:
return visitTypeAsAnnotationType(e, p);
case CLASS:
return visitTypeAsClass(e, p);
case ENUM:
return visitTypeAsEnum(e, p);
case INTERFACE:
return visitTypeAsInterface(e, p);
default:
throw new AssertionError("Bad kind " + k + " for TypeElement" + e);
}
| public R | visitTypeAsAnnotationType(javax.lang.model.element.TypeElement e, P p)Visits an {@code ANNOTATION_TYPE} type element by calling
{@code defaultAction}.
return defaultAction(e, p);
| public R | visitTypeAsClass(javax.lang.model.element.TypeElement e, P p)Visits a {@code CLASS} type element by calling {@code
defaultAction}.
return defaultAction(e, p);
| public R | visitTypeAsEnum(javax.lang.model.element.TypeElement e, P p)Visits an {@code ENUM} type element by calling {@code
defaultAction}.
return defaultAction(e, p);
| public R | visitTypeAsInterface(javax.lang.model.element.TypeElement e, P p)Visits an {@code INTERFACE} type element by calling {@code
defaultAction}.
.
return defaultAction(e, p);
| public R | visitTypeParameter(javax.lang.model.element.TypeParameterElement e, P p){@inheritDoc}
The element argument has kind {@code TYPE_PARAMETER}.
assert e.getKind() == TYPE_PARAMETER: "Bad kind on TypeParameterElement";
return defaultAction(e, p);
| public R | visitVariable(javax.lang.model.element.VariableElement e, P p)Visits a variable element, dispatching to the visit method for
the specific {@linkplain ElementKind kind} of variable, {@code
ENUM_CONSTANT}, {@code EXCEPTION_PARAMETER}, {@code FIELD},
{@code LOCAL_VARIABLE}, or {@code PARAMETER}.
ElementKind k = e.getKind();
switch(k) {
case ENUM_CONSTANT:
return visitVariableAsEnumConstant(e, p);
case EXCEPTION_PARAMETER:
return visitVariableAsExceptionParameter(e, p);
case FIELD:
return visitVariableAsField(e, p);
case LOCAL_VARIABLE:
return visitVariableAsLocalVariable(e, p);
case PARAMETER:
return visitVariableAsParameter(e, p);
default:
throw new AssertionError("Bad kind " + k + " for VariableElement" + e);
}
| public R | visitVariableAsEnumConstant(javax.lang.model.element.VariableElement e, P p)Visits an {@code ENUM_CONSTANT} variable element by calling
{@code defaultAction}.
return defaultAction(e, p);
| public R | visitVariableAsExceptionParameter(javax.lang.model.element.VariableElement e, P p)Visits an {@code EXCEPTION_PARAMETER} variable element by calling
{@code defaultAction}.
return defaultAction(e, p);
| public R | visitVariableAsField(javax.lang.model.element.VariableElement e, P p)Visits a {@code FIELD} variable element by calling
{@code defaultAction}.
return defaultAction(e, p);
| public R | visitVariableAsLocalVariable(javax.lang.model.element.VariableElement e, P p)Visits a {@code LOCAL_VARIABLE} variable element by calling
{@code defaultAction}.
return defaultAction(e, p);
| public R | visitVariableAsParameter(javax.lang.model.element.VariableElement e, P p)Visits a {@code PARAMETER} variable element by calling
{@code defaultAction}.
return defaultAction(e, p);
|
|