33 /**
34 * A visitor of types based on their {@linkplain TypeKind kind} with
35 * default behavior appropriate for the {@link SourceVersion#RELEASE_6
36 * RELEASE_6} source version. For {@linkplain
37 * TypeMirror types} <code><i>Xyz</i></code> that may have more than one
38 * kind, the <code>visit<i>Xyz</i></code> methods in this class delegate
39 * to the <code>visit<i>Xyz</i>As<i>Kind</i></code> method corresponding to the
40 * first argument's kind. The <code>visit<i>Xyz</i>As<i>Kind</i></code> methods
41 * call {@link #defaultAction defaultAction}, passing their arguments
42 * to {@code defaultAction}'s corresponding parameters.
43 *
44 * @apiNote
45 * Methods in this class may be overridden subject to their general
46 * contract.
47 *
48 * <p id=note_for_subclasses><strong>WARNING:</strong> The {@code
49 * TypeVisitor} interface implemented by this class may have methods
50 * added to it or the {@link TypeKind TypeKind enum} used in this
51 * class may have constants added to it in the future to accommodate
52 * new, currently unknown, language structures added to future
53 * versions of the Java™ programming language. Therefore,
54 * methods whose names begin with {@code "visit"} may be added to this
55 * class in the future; to avoid incompatibilities, classes and
56 * subclasses which extend this class should not declare any instance
57 * methods with names beginning with {@code "visit"}.</p>
58 *
59 * <p>When such a new visit method is added, the default
60 * implementation in this class will be to directly or indirectly call
61 * the {@link #visitUnknown visitUnknown} method. A new type kind
62 * visitor class will also be introduced to correspond to the new
63 * language level; this visitor will have different default behavior
64 * for the visit method in question. When a new visitor is
65 * introduced, portions of this visitor class may be deprecated,
66 * including its constructors.
67 *
68 * @param <R> the return type of this visitor's methods. Use {@link
69 * Void} for visitors that do not need to return results.
70 * @param <P> the type of the additional parameter to this visitor's
71 * methods. Use {@code Void} for visitors that do not need an
72 * additional parameter.
73 *
|
33 /**
34 * A visitor of types based on their {@linkplain TypeKind kind} with
35 * default behavior appropriate for the {@link SourceVersion#RELEASE_6
36 * RELEASE_6} source version. For {@linkplain
37 * TypeMirror types} <code><i>Xyz</i></code> that may have more than one
38 * kind, the <code>visit<i>Xyz</i></code> methods in this class delegate
39 * to the <code>visit<i>Xyz</i>As<i>Kind</i></code> method corresponding to the
40 * first argument's kind. The <code>visit<i>Xyz</i>As<i>Kind</i></code> methods
41 * call {@link #defaultAction defaultAction}, passing their arguments
42 * to {@code defaultAction}'s corresponding parameters.
43 *
44 * @apiNote
45 * Methods in this class may be overridden subject to their general
46 * contract.
47 *
48 * <p id=note_for_subclasses><strong>WARNING:</strong> The {@code
49 * TypeVisitor} interface implemented by this class may have methods
50 * added to it or the {@link TypeKind TypeKind enum} used in this
51 * class may have constants added to it in the future to accommodate
52 * new, currently unknown, language structures added to future
53 * versions of the Java programming language. Therefore,
54 * methods whose names begin with {@code "visit"} may be added to this
55 * class in the future; to avoid incompatibilities, classes and
56 * subclasses which extend this class should not declare any instance
57 * methods with names beginning with {@code "visit"}.</p>
58 *
59 * <p>When such a new visit method is added, the default
60 * implementation in this class will be to directly or indirectly call
61 * the {@link #visitUnknown visitUnknown} method. A new type kind
62 * visitor class will also be introduced to correspond to the new
63 * language level; this visitor will have different default behavior
64 * for the visit method in question. When a new visitor is
65 * introduced, portions of this visitor class may be deprecated,
66 * including its constructors.
67 *
68 * @param <R> the return type of this visitor's methods. Use {@link
69 * Void} for visitors that do not need to return results.
70 * @param <P> the type of the additional parameter to this visitor's
71 * methods. Use {@code Void} for visitors that do not need an
72 * additional parameter.
73 *
|