completed serializer/deserializer
[satune.git] / src / AST / function.h
index f34c02eaa5b062fc02ad0928cee839dcc93c7d14..98ef53641b926a0b78132e5ee65ffcfd3cce95a6 100644 (file)
@@ -12,6 +12,7 @@ public:
        FunctionType type;
        virtual ~Function() {}
        virtual Function *clone(CSolver *solver, CloneMap *map) {ASSERT(0); return NULL;}
+       virtual void serialize(Serializer* serialiezr) =0;
        virtual Set * getRange() = 0;
        CMEMALLOC;
 };
@@ -26,6 +27,7 @@ public:
        uint64_t applyFunctionOperator(uint numVals, uint64_t *values);
        bool isInRangeFunction(uint64_t val);
        Function *clone(CSolver *solver, CloneMap *map);
+       virtual void serialize(Serializer* serialiezr);
        Set * getRange() {return range;}
        CMEMALLOC;
 };
@@ -36,6 +38,7 @@ public:
        UndefinedBehavior undefBehavior;
        FunctionTable (Table *table, UndefinedBehavior behavior);
        Function *clone(CSolver *solver, CloneMap *map);
+       virtual void serialize(Serializer* serialiezr);
        Set * getRange();
        CMEMALLOC;
 };