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>Formal</code> represents a formal parameter to a method 10 * or constructor or to a catch block. It consists of a type and a variable 11 * identifier. 12 */ 13 public interface Formal extends VarDecl 14 { 15 /** Set the declaration's flags. */ 16 Formal flags(Flags flags); 17 18 /** Set the declaration's type. */ 19 Formal type(TypeNode type); 20 21 /** Set the declaration's name. */ 22 Formal name(String name); 23 24 /** 25 * Set the type object for the local we are declaring. 26 */ 27 Formal localInstance(LocalInstance li); 28 } 29