edits
[satune.git] / src / ASTAnalyses / Encoding / encodinggraph.h
index 2fd4b3748896f11ca44bfb1e92ee0aeb2ba50326..0c94c3892be692822f885d3f554f2d625414a15c 100644 (file)
@@ -8,6 +8,7 @@ class EncodingGraph {
  public:
        EncodingGraph(CSolver * solver);
        void buildGraph();
+       void encode();
        
        CMEMALLOC;
  private:
@@ -17,13 +18,15 @@ class EncodingGraph {
        Vector<EncodingEdge *> edgeVector;
        HashsetElement discovered;
        HashtableNodeToSubGraph graphMap;
-
+       HashsetEncodingSubGraph subgraphs;
+       
        void decideEdges();
        void mergeNodes(EncodingNode *first, EncodingNode *second);
        void processElement(Element *e);
        void processFunction(ElementFunction *f);
        void processPredicate(BooleanPredicate *b);
        EncodingNode * createNode(Element *e);
+       EncodingNode * getNode(Element *e);
        EncodingEdge * getEdge(EncodingNode *left, EncodingNode *right, EncodingNode *dst);
 };
 
@@ -34,7 +37,7 @@ class EncodingNode {
        uint getSize() const;
        VarType getType() const;
        void setEncoding(ElementEncodingType e) {encoding=e;}
-       
+       ElementEncodingType getEncoding() {return encoding;}
        CMEMALLOC;
  private:
        Set *s;