Merge branch 'hamed' of ssh://demsky.eecs.uci.edu/home/git/constraint_compiler into...
authorHamed Gorjiara <hgorjiar@uci.edu>
Wed, 18 Jul 2018 23:10:18 +0000 (16:10 -0700)
committerHamed Gorjiara <hgorjiar@uci.edu>
Wed, 18 Jul 2018 23:10:18 +0000 (16:10 -0700)
1  2 
src/AST/boolean.h
src/csolver.h

diff --combined src/AST/boolean.h
index 1f218b2cd855fde36aeab02738bfd917cda6dd46,1b5d24dea0b90e32f9ff7c26470cd424f332f5b1..de96bfc4e21a2ad1699132f85e3b5fb934597f1a
@@@ -11,8 -11,6 +11,8 @@@
  #include "serializer.h"
  
  class Boolean : public ASTNode {
 +private:
 +    static uint64_t counter;
  public:
        Boolean(ASTNodeType _type);
        virtual ~Boolean() {}
@@@ -23,9 -21,9 +23,9 @@@
        virtual bool isFalse() {return boolVal == BV_MUSTBEFALSE;}
        Polarity polarity;
        BooleanValue boolVal;
-       Vector<Boolean *> parents;
+       Vector<ASTNode *> parents;
        virtual void updateParents() {}
 -      
 +        uint64_t id;
        CMEMALLOC;
  };
  
diff --combined src/csolver.h
index fa2ee1426fad6288162bc880ef7c1fdd72dd03d5,53e1901d101624c6296d45f3824be341bc6e7b0c..c5c3b8d6fff90869b2be6338a3c0bcd3c477bfb1
@@@ -57,8 -57,6 +57,8 @@@ public
  
        Set *getElementRange (Element *element);
  
 +        void mustHaveValue(Element *element);
 +        
        BooleanEdge getBooleanTrue();
  
        BooleanEdge getBooleanFalse();
  private:
        void handleIFFTrue(BooleanLogic *bexpr, BooleanEdge child);
        void handleANDTrue(BooleanLogic *bexpr, BooleanEdge child);
+       void handleFunction(ElementFunction * ef, BooleanEdge child);
+       
        //These two functions are helpers if the client has a pointer to a
        //Boolean object that we have since replaced
        BooleanEdge rewriteLogicalOperation(LogicOp op, BooleanEdge *array, uint asize);