1 package polyglot.ast; 2 3 import polyglot.types.Type; 4 import polyglot.types.Flags; 5 import polyglot.types.LocalInstance; 6 import polyglot.types.SemanticException; 7 8 /** 9 * A <code>VarDecl</code> represents a variable declaration, of either a formal 10 * or a local variable. 11 */ 12 public interface VarDecl extends Term 13 { 14 /** Get the type object for the declaration's type. */ 15 Type declType(); 16 17 /** Get the declaration's flags. */ 18 Flags flags(); 19 20 /** Get the declaration's type. */ 21 TypeNode type(); 22 23 /** Get the declaration's name. */ 24 String name(); 25 26 /** 27 * Get the type object for the local we are declaring. This field may 28 * not be valid until after signature disambiguation. 29 */ 30 LocalInstance localInstance(); 31 32 } 33