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 Variable {
017    
018                 
019                public String name();
020    
021                 
022                public TypeDecl type();
023    
024                 
025                public Collection<TypeDecl> throwTypes();
026    
027                 
028                public boolean isParameter();
029    
030                // 4.5.3
031                 
032                // 4.5.3
033                public boolean isClassVariable();
034    
035                 
036                public boolean isInstanceVariable();
037    
038                 
039                public boolean isMethodParameter();
040    
041                 
042                public boolean isConstructorParameter();
043    
044                 
045                public boolean isExceptionHandlerParameter();
046    
047                 
048                public boolean isLocalVariable();
049    
050                // 4.5.4
051                 
052                // 4.5.4
053                public boolean isFinal();
054    
055                 
056                public boolean isVolatile();
057    
058    
059                 
060    
061                public boolean isBlank();
062    
063                 
064                public boolean isStatic();
065    
066                 
067                public boolean isSynthetic();
068    
069    
070                 
071    
072                public TypeDecl hostType();
073    
074    
075                 
076    
077                public Expr getInit();
078    
079                 
080                public boolean hasInit();
081    
082    
083                 
084    
085                public Constant constant();
086    
087    
088                 
089    
090                public Modifiers getModifiers();
091      /**
092       * @attribute syn
093       * @aspect SourceDeclarations
094       * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1519
095       */
096      @SuppressWarnings({"unchecked", "cast"})
097      public Variable sourceVariableDecl();
098    }