KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > polyglot > ext > param > types > MuPClass_c


1 package polyglot.ext.param.types;
2
3 import polyglot.types.*;
4 import polyglot.util.*;
5
6 import polyglot.ext.jl.types.*;
7
8 import java.util.*;
9
10 /**
11  * A base implementation for mutable parametric classes.
12  */

13 public class MuPClass_c extends PClass_c implements MuPClass {
14     protected List/*[Param]*/ formals;
15     protected ClassType clazz;
16     
17     protected MuPClass_c() { }
18
19     public MuPClass_c(TypeSystem ts) {
20         this(ts, null);
21     }
22
23     public MuPClass_c(TypeSystem ts, Position pos) {
24     super(ts, pos);
25     formals = new TypedList(new LinkedList(), Param.class, false);
26     }
27
28     /////////////////////////////////////////////////////////////////////////
29
// Implement PClass
30

31     public List formals() {
32     return formals;
33     }
34
35     public ClassType clazz() {
36         return clazz;
37     }
38     
39     /////////////////////////////////////////////////////////////////////////
40
// Implement MuPClass
41

42     public void formals(List formals) {
43     this.formals = formals;
44     }
45
46     public void addFormal(Param param) {
47     formals().add(param);
48     }
49     
50     public void clazz(ClassType clazz) {
51     this.clazz = clazz;
52     }
53 }
54
Popular Tags