Adding DecomposeOrderResolver
[satune.git] / src / Translator / decomposeorderresolver.cc
1
2 /* 
3  * File:   DecomposeOrderResolver.cc
4  * Author: hamed
5  * 
6  * Created on September 1, 2017, 10:36 AM
7  */
8
9 #include "decomposeorderresolver.h"
10 #include "order.h"
11 #include "ordernode.h"
12 #include "ordergraph.h"
13
14 DecomposeOrderResolver::DecomposeOrderResolver(OrderGraph* _graph, Vector<Order*>& _orders):
15         OrderResolver(_graph),
16         orders(_orders.getSize(), _orders.expose())
17 {
18 }
19
20 DecomposeOrderResolver::~DecomposeOrderResolver() {
21         delete graph;
22 }
23
24 HappenedBefore DecomposeOrderResolver::getOrder(OrderNode* from, OrderNode* to){
25         ASSERT(from->id == to->id);
26         // We should ask this query from the suborder ....
27         Order *suborder = NULL;
28         suborder = orders.get(from->sccNum);
29         ASSERT(suborder != NULL);
30         return suborder->encoding.resolver->resolveOrder(from->id, to->id);
31 }
32