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