22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.sun.source.tree; 27 28 /** 29 * Common interface for all nodes in an abstract syntax tree. 30 * 31 * <p><b>WARNING:</b> This interface and its sub-interfaces are 32 * subject to change as the Java™ programming language evolves. 33 * These interfaces are implemented by the JDK Java compiler (javac) 34 * and should not be implemented either directly or indirectly by 35 * other applications. 36 * 37 * @author Peter von der Ahé 38 * @author Jonathan Gibbons 39 * 40 * @since 1.6 41 */ 42 @jdk.Supported 43 public interface Tree { 44 45 /** 46 * Enumerates all kinds of trees. 47 */ 48 @jdk.Supported 49 public enum Kind { 50 51 ANNOTATED_TYPE(AnnotatedTypeTree.class), 52 53 /** 54 * Used for instances of {@link AnnotationTree} 55 * representing declaration annotations. 56 */ 57 ANNOTATION(AnnotationTree.class), 58 59 /** 60 * Used for instances of {@link AnnotationTree} 61 * representing type annotations. 62 */ 63 TYPE_ANNOTATION(AnnotationTree.class), 64 65 /** 66 * Used for instances of {@link ArrayAccessTree}. 67 */ 68 ARRAY_ACCESS(ArrayAccessTree.class), | 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.sun.source.tree; 27 28 /** 29 * Common interface for all nodes in an abstract syntax tree. 30 * 31 * <p><b>WARNING:</b> This interface and its sub-interfaces are 32 * subject to change as the Java™ programming language evolves. 33 * These interfaces are implemented by the JDK Java compiler (javac) 34 * and should not be implemented either directly or indirectly by 35 * other applications. 36 * 37 * @author Peter von der Ahé 38 * @author Jonathan Gibbons 39 * 40 * @since 1.6 41 */ 42 @jdk.Exported 43 public interface Tree { 44 45 /** 46 * Enumerates all kinds of trees. 47 */ 48 @jdk.Exported 49 public enum Kind { 50 51 ANNOTATED_TYPE(AnnotatedTypeTree.class), 52 53 /** 54 * Used for instances of {@link AnnotationTree} 55 * representing declaration annotations. 56 */ 57 ANNOTATION(AnnotationTree.class), 58 59 /** 60 * Used for instances of {@link AnnotationTree} 61 * representing type annotations. 62 */ 63 TYPE_ANNOTATION(AnnotationTree.class), 64 65 /** 66 * Used for instances of {@link ArrayAccessTree}. 67 */ 68 ARRAY_ACCESS(ArrayAccessTree.class), |