}
String addeditem = (VarDescriptor.makeNew("addeditem")).getSafeSymbol();
- if (!Compiler.REPAIR) {
+ /* if (!Compiler.REPAIR) {
writer.outputline("int " + addeditem + ";");
if (relation.testUsage(RelationDescriptor.IMAGE)) {
writer.outputline(addeditem + " = " + relation.getSafeSymbol() + "_hash->add((int)" + ld.getSafeSymbol() + ", (int)" + rd.getSafeSymbol() + ");");
if (relation.testUsage(RelationDescriptor.INVIMAGE)) {
writer.outputline(addeditem + " = " + relation.getSafeSymbol() + "_hashinv->add((int)" + rd.getSafeSymbol() + ", (int)" + ld.getSafeSymbol() + ");");
}
- } else {
+ } else {*/
Repair.generate_dispatch(writer, relation, ld.getSafeSymbol(), rd.getSafeSymbol());
- }
+ // }
if (RelationInclusion.worklist) {
writer.outputline("if (" + addeditem + ")");
cr.outputline(addeditem + " = " + rd.getSafeSymbol() + "_hashinv->add((int)" + rightvar + ", (int)" + leftvar + ");");
}
- cr.outputline("if (" + addeditem + ")");
- cr.startblock();
+
Vector dispatchrules = getrulelist(rd);
dispatchrules.removeAll(toremove);
if (dispatchrules.size() == 0) {
cr.outputline("// nothing to dispatch");
- cr.endblock();
return;
}
-
- cr.outputline("if ("+addeditem+")");
+
+ cr.outputline("if (" + addeditem + ")");
cr.startblock();
+
for(int i = 0; i < dispatchrules.size(); i++) {
Rule rule = (Rule) dispatchrules.elementAt(i);
if (rule.getGuardExpr().getRequiredDescriptors().contains(rd)) {
}
}
}
- cr.endblock();
+
cr.endblock();
}
if (dostore) {
- if (!Compiler.REPAIR) {
+ /* if (!Compiler.REPAIR) {
writer.outputline("int " + addeditem + " = 1;");
writer.outputline(addeditem + " = " + set.getSafeSymbol() + "_hash->add((int)" + vd.getSafeSymbol()
+ ", (int)" + vd.getSafeSymbol() + ");");
- } else {
+ } else {*/
Repair.generate_dispatch(writer, set, vd.getSafeSymbol());
- }
+ // }
if (SetInclusion.worklist) {
writer.outputline("if (" + addeditem + ")");