001 package org.extendj.ast; 002 003 import java.util.HashSet; 004 import java.io.File; 005 import java.util.Set; 006 import java.util.Collections; 007 import java.util.Collection; 008 import java.util.ArrayList; 009 import beaver.*; 010 import java.util.*; 011 import java.io.ByteArrayOutputStream; 012 import java.io.PrintStream; 013 import java.lang.reflect.InvocationTargetException; 014 import java.lang.reflect.Method; 015 import org.jastadd.util.*; 016 import java.util.zip.*; 017 import java.io.*; 018 import org.jastadd.util.PrettyPrintable; 019 import org.jastadd.util.PrettyPrinter; 020 import java.io.FileNotFoundException; 021 import java.io.BufferedInputStream; 022 import java.io.DataInputStream; 023 /** 024 * @ast class 025 * @declaredat ASTNode:280 026 */ 027 public class ASTNodeAnnotation extends java.lang.Object { 028 029 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 030 @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) 031 @java.lang.annotation.Documented 032 public @interface Child { 033 String name(); 034 } 035 036 037 038 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 039 @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) 040 @java.lang.annotation.Documented 041 public @interface ListChild { 042 String name(); 043 } 044 045 046 047 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 048 @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) 049 @java.lang.annotation.Documented 050 public @interface OptChild { 051 String name(); 052 } 053 054 055 056 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 057 @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) 058 @java.lang.annotation.Documented 059 public @interface Token { 060 String name(); 061 } 062 063 064 065 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 066 @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) 067 @java.lang.annotation.Documented 068 public @interface Attribute { 069 } 070 071 072 }