checking in changes
[IRC.git] / Robust / src / IR / Tree / ConstraintCheck.java
1 package IR.Tree;
2
3 import IR.*;
4 import java.util.Vector;
5
6 public class ConstraintCheck {
7     String specname;
8     Vector args;
9     Vector vars;
10
11     public ConstraintCheck(String specname) {
12         this.specname=specname;
13         args=new Vector();
14         vars=new Vector();
15     }
16
17     public void addVariable(String var) {
18         vars.add(var);
19     }
20
21     public void addArgument(ExpressionNode en) {
22         args.add(en);
23     }
24
25     public String getSpec() {
26         return specname;
27     }
28
29     public int numArgs() {
30         return args.size();
31     }
32
33     public ExpressionNode getArg(int i) {
34         return (ExpressionNode) args.get(i);
35     }
36
37     public String getVar(int i) {
38         return (String) args.get(i);
39     }
40
41     public String printNode(int indent) {
42         String str="assert("+specname+"(";
43         for(int i=0;i<numArgs();i++) {
44             if (i>0)
45                 str+=",";
46             str+=getVar(i)+" : ";
47             str+=getArg(i).printNode(0);
48         }
49         return str+")";
50     }
51 }