Fix tuner issues
[satune.git] / src / AST / order.cc
index 609b4691e0db641ef15c24682595417b71478937..315b112d1c2aae07dec86b71dfb8a7db345e29a1 100644 (file)
@@ -31,9 +31,9 @@ Order *Order::clone(CSolver *solver, CloneMap *map) {
        return o;
 }
 
-HashtableOrderPair* Order::getOrderPairTable(){
+HashtableOrderPair *Order::getOrderPairTable() {
        ASSERT( encoding.resolver != NULL);
-       if (OrderPairResolver* t = dynamic_cast<OrderPairResolver*>(encoding.resolver)){
+       if (OrderPairResolver *t = dynamic_cast<OrderPairResolver *>(encoding.resolver)) {
                return t->getOrderPairTable();
        } else {
                ASSERT(0);
@@ -45,3 +45,22 @@ Order::~Order() {
                delete graph;
        }
 }
+
+void Order::serialize(Serializer *serializer) {
+       if (serializer->isSerialized(this))
+               return;
+       serializer->addObject(this);
+       set->serialize(serializer);
+       ASTNodeType asttype = ORDERTYPE;
+       serializer->mywrite(&asttype, sizeof(ASTNodeType));
+       Order *This = this;
+       serializer->mywrite(&This, sizeof(Order *));
+       serializer->mywrite(&type, sizeof(OrderType));
+       serializer->mywrite(&set, sizeof(Set *));
+}
+
+void Order::print() {
+       model_print("{Order<%p> on Set:\n", this);
+       set->print();
+       model_print("}\n");
+}