if (conflicts(u, u2)) {
//throw new RuntimeException(createErrorMessage(u, u2));
conflictFound = true;
- errorMessage = createErrorMessage(u, u2);
+ errorMessage = createErrorMessage(u, u2);
}
}
}
out.println("----------------------------------- search finished");
//Comment out the following line to print the explored graph
- // printGraph();
+ printGraph();
}
private String getValue(ThreadInfo ti, Instruction inst, byte type) {
lo = frame.peek();
hi = frame.getTopPos() >= 1 ? frame.peek(1) : 0;
-
+
+ // TODO: Fix for integer values (need to dig deeper into the stack frame to find the right value other than 0)
+ // TODO: Seems to be a problem since this is Groovy (not Java)
+ if (type == Types.T_INT || type == Types.T_LONG || type == Types.T_SHORT) {
+ int offset = 0;
+ while (lo == 0) {
+ lo = frame.peek(offset);
+ offset++;
+ }
+ }
+
return(decodeValue(type, lo, hi));
}