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    }