1 package polyglot.ext.param.types; 2 3 import java.util.List; 4 5 import polyglot.types.ClassType; 6 7 /* 8 * Mutable parametric classes. This interface is a wrapper around 9 * a ClassType that associates formal parameters with the class. 10 * formals can be any type object. 11 */ 12 public interface MuPClass extends PClass { 13 14 /** 15 * Destructively update the formals. 16 * @param formals The new formals 17 */ 18 void formals(List formals); 19 20 /** 21 * Destructively add a formal to the end of the formals list. 22 * @param param The new formal 23 */ 24 void addFormal(Param param); 25 26 /** 27 * Destructively update the clazz. 28 * @param clazz The new clazz 29 */ 30 void clazz(ClassType clazz); 31 } 32