Element::Element(ASTNodeType _type) :
ASTNode(_type),
- encoding(this) {
+ encoding(this),
+ anyValue(false){
}
ElementSet::ElementSet(Set *s) :
}
Element *ElementConst::clone(CSolver *solver, CloneMap *map) {
- return solver->getElementConst(type, value);
+ Element* e= solver->getElementConst(type, value);
+ e->anyValue = anyValue;
+ return e;
}
Element *ElementSet::clone(CSolver *solver, CloneMap *map) {
return e;
e = solver->getElementVar(set->clone(solver, map));
map->put(this, e);
+ e->anyValue = anyValue;
return e;
}
}
BooleanEdge ofstatus = overflowstatus ? cloneEdge(solver, map, overflowstatus) : BooleanEdge();
Element *e = solver->applyFunction(function->clone(solver, map), array, inputs.getSize(), ofstatus);
+ e->anyValue = anyValue;
return e;
}
set->serialize(serializer);
serializer->mywrite(&type, sizeof(ASTNodeType));
+ serializer->mywrite(&anyValue, sizeof(bool));
ElementSet *This = this;
serializer->mywrite(&This, sizeof(ElementSet *));
serializer->mywrite(&set, sizeof(Set *));
set->serialize(serializer);
serializer->mywrite(&type, sizeof(ASTNodeType));
+ serializer->mywrite(&anyValue, sizeof(bool));
ElementSet *This = this;
serializer->mywrite(&This, sizeof(ElementSet *));
VarType type = set->getType();
serializeBooleanEdge(serializer, overflowstatus);
serializer->mywrite(&type, sizeof(ASTNodeType));
+ serializer->mywrite(&anyValue, sizeof(bool));
ElementFunction *This = this;
serializer->mywrite(&This, sizeof(ElementFunction *));
serializer->mywrite(&function, sizeof(Function *));