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 }