001    package AST;
002    
003    import java.util.HashSet;
004    import java.io.File;
005    import java.util.*;
006    import beaver.*;
007    import java.util.ArrayList;
008    import java.util.zip.*;
009    import java.io.*;
010    import java.io.FileNotFoundException;
011    import java.util.Collection;
012    /**
013      * @ast interface
014     * 
015     */
016    public interface GenericTypeDecl {
017    
018         
019        TypeDecl original();
020    
021         
022        int getNumTypeParameter();
023    
024         
025        TypeVariable getTypeParameter(int index);
026    
027         
028        List getTypeParameterList();
029    
030         
031        public String fullName();
032    
033         
034        public String typeName();
035    public TypeDecl makeGeneric(Signatures.ClassSignature s);
036    
037    public SimpleSet addTypeVariables(SimpleSet c, String name);
038    
039    public List createArgumentList(ArrayList params);
040    
041      /**
042       * @attribute syn
043       * @aspect Generics
044       * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:158
045       */
046      @SuppressWarnings({"unchecked", "cast"})
047      public boolean isGenericType();
048      /**
049       * @attribute syn
050       * @aspect Generics
051       * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:163
052       */
053      @SuppressWarnings({"unchecked", "cast"})
054      public TypeDecl rawType();
055      /**
056       * @attribute syn
057       * @aspect LookupParTypeDecl
058       * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:708
059       */
060      @SuppressWarnings({"unchecked", "cast"})
061      public TypeDecl lookupParTypeDecl(ParTypeAccess p);
062      /**
063       * @attribute syn
064       * @aspect LookupParTypeDecl
065       * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:714
066       */
067      @SuppressWarnings({"unchecked", "cast"})
068      public TypeDecl lookupParTypeDecl(ArrayList list);
069    }