Finish clone
[satune.git] / src / AST / element.cc
index d6832f94d9d8fd2b8d0d5b28c5e42dbdd2dd8547..20cddf3073a363579544583e676272431c9cbffc 100644 (file)
@@ -26,7 +26,7 @@ ElementFunction::ElementFunction(Function *_function, Element **array, uint numA
                GETELEMENTPARENTS(array[i])->push(this);
 }
 
-ElementConst::ElementConst(uint64_t _value, VarType _type, Set * _set) :
+ElementConst::ElementConst(uint64_t _value, VarType _type, Set *_set) :
        Element(ELEMCONST),
        set(_set),
        value(_value) {
@@ -56,24 +56,24 @@ Set *getElementSet(Element *This) {
        return NULL;
 }
 
-Element * ElementConst::clone(CSolver *solver, CloneMap * map) {
+Element *ElementConst::clone(CSolver *solver, CloneMap *map) {
        return solver->getElementConst(type, value);
 }
-               
-Element * ElementSet::clone(CSolver *solver, CloneMap * map) {
-       Element * e = map->element.get(this);
+
+Element *ElementSet::clone(CSolver *solver, CloneMap *map) {
+       Element *e = (Element *) map->get(this);
        if (e != NULL)
                return e;
        e = solver->getElementVar(set->clone(solver, map));
-       map->element.put(e, e);
+       map->put(e, e);
        return e;
 }
 
-Element * ElementFunction::clone(CSolver *solver, CloneMap * map) {
-       Element * array[inputs.getSize()];
-       for(uint i=0; i<inputs.getSize(); i++) {
-               array[i]=inputs.get(i)->clone(solver, map);
+Element *ElementFunction::clone(CSolver *solver, CloneMap *map) {
+       Element *array[inputs.getSize()];
+       for (uint i = 0; i < inputs.getSize(); i++) {
+               array[i] = inputs.get(i)->clone(solver, map);
        }
-       Element * e = solver->applyFunction(function->clone(solver, map), array, inputs.getSize(), overflowstatus->clone(solver, map));
+       Element *e = solver->applyFunction(function->clone(solver, map), array, inputs.getSize(), overflowstatus->clone(solver, map));
        return e;
 }