edits
[cdsspec-compiler.git] / src / edu / uci / eecs / specCompiler / codeGenerator / CodeVariables.java
index 4d19458335299d3f15dbd6d09ab03b909c8ac985..2653383326d5bc17719adbb09fc0085b37f772ff 100644 (file)
@@ -571,6 +571,7 @@ public class CodeVariables {
                        newCode.add(DECLARE("void**", varPrefix + "func_ptr_table"));
                        newCode.add(templateDecl);
                        newCode.add(DECLARE("hb_rule**", varPrefix + "hb_rule_table"));
+                       newCode.add(templateDecl);
                        newCode.add(DECLARE("commutativity_rule**", varPrefix + "commutativity_rule_table"));
                        for (int i = 0; i < construct.code.declareVar.size(); i++) {
                                VariableDeclaration varDecl = construct.code.declareVar.get(i);
@@ -662,8 +663,11 @@ public class CodeVariables {
 
                for (int i = 0; i < rules.size(); i++) {
                        CommutativityRule rule = rules.get(i);
-                       String interfaceNumBefore = Integer
-                                       .toString(semantics.interface2Num.get(rule.method1));
+                       Integer method = semantics.interface2Num.get(rule.method1);
+                       if (method == null) {
+                               System.out.println("Wrong method label in commutativity rule: " + rule.method1);
+                       }
+                       String interfaceNumBefore = Integer.toString(method);
                        String interfaceNumAfter = Integer.toString(semantics.interface2Num
                                        .get(rule.method2));
                        String conditionFuncName = "CommutativityCondition" + i;