helpful progress reporting
[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) vars.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 }