// cache for a serialized representation of the object, which can be used
// by state-matching. Value interpretation depends on the configured Serializer
+ // TODO: Fix for Groovy's model-checking
+ // TODO: Change of sid assignment strategy since the previous one caused a bug with SmartThings object filtering
protected long sid;
public void print (ElementInfo ei, FinalBitSet filterMask){
boolean isObject = ei.isObject();
ClassInfo ci = ei.getClassInfo();
-
+
+ // TODO: Fix for Groovy's model-checking
+ // TODO: Change of sid assignment strategy since the previous one caused a bug with SmartThings object filtering
int ref = (useSid) ? ((int)ei.getSid()) : ei.getObjectRef();
ps.printf("@%x ", ref);
// over the serialized objects to reset their sids. This works by resetting
// the sid to 0 upon backtrack, and counting either upwards from 1 or downwards
// from -1, but store the absolute value in the serialization stream
+ // TODO: Fix for Groovy's model-checking
+ // TODO: Change of sid assignment strategy since the previous one caused a bug with SmartThings object filtering
long initsidCount=0;
long sidCount=1;
@Override
public FramePolicy ammendFramePolicy(MethodInfo mi, FramePolicy sofar) {
ClassInfo ci = mi.getClassInfo();
+ // TODO: Fix for Groovy's model-checking
+ // TODO: Change of sid assignment strategy since the previous one caused a bug with SmartThings object filtering
if (ignoreClass(ci) || checkName(mi.getName())) {
sofar.includeLocals = false;
sofar.includeOps = false;