add test case
[IRC.git] / Robust / src / IR / Tree / ClassNode.java
1 package IR.Tree;
2 import java.util.Vector;
3 import IR.FieldDescriptor;
4 import IR.NameDescriptor;
5
6 class ClassNode extends TreeNode {
7     ClassNode() {
8         classname=null;
9         superclass=null;
10         fields=new Vector();
11     }
12     String classname;
13     NameDescriptor superclass;
14     Modifiers modifiers;
15     Vector fields;
16     Vector methods;
17     
18     public String printNode() {
19         String st=modifiers.toString()+classname;
20         if (superclass!=null) 
21             st+="extends "+superclass.toString();
22         st+=" {\n";
23         for(int i=0;i<fields.size();i++) {
24             FieldDescriptor fd=(FieldDescriptor)fields.get(i);
25             st+=fd.toString()+"\n";
26         }
27
28         for(int i=0;i<methods.size();i++) {
29             MethodDescriptor md=(MethodDescriptor)methods.get(i);
30             st+=md.toString()+"\n";
31         }
32         st+="}\n";
33         return st;
34     }
35
36     public void addField(FieldDescriptor fd) {
37         fields.add(fd);
38     }
39
40     public void addMethod(MethodDescriptor md) {
41         methods.add(md);
42     }
43
44     public void setModifiers(Modifiers modifiers) {
45         this.modifiers=modifiers;
46     }
47     void setName(String name) {
48         classname=name;
49     }
50     void setSuper(NameDescriptor superclass) {
51         this.superclass=superclass;
52     }
53 }