diff options
Diffstat (limited to 'Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SMT_TypeMapperInterpretation.xtend')
-rw-r--r-- | Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SMT_TypeMapperInterpretation.xtend | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SMT_TypeMapperInterpretation.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SMT_TypeMapperInterpretation.xtend new file mode 100644 index 00000000..44708f44 --- /dev/null +++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SMT_TypeMapperInterpretation.xtend | |||
@@ -0,0 +1,36 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.smt.reasoner | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement | ||
4 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type | ||
5 | import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicDeclaration | ||
6 | import java.util.List | ||
7 | import java.util.Map | ||
8 | import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* | ||
9 | |||
10 | class Logic2SMT_TypeMapperInterpretation { | ||
11 | |||
12 | val Map<Type, ? extends List<DefinedElement>> type2Elements | ||
13 | val Map<DefinedElement, ValueType> logic2smt | ||
14 | val Map<SMTSymbolicDeclaration, DefinedElement> smt2logic | ||
15 | |||
16 | public new( | ||
17 | Map<Type, ? extends List<DefinedElement>> type2Elements, | ||
18 | Map<DefinedElement, ValueType> logic2smt, | ||
19 | Map<SMTSymbolicDeclaration, DefinedElement> smt2logic) { | ||
20 | this.type2Elements = type2Elements | ||
21 | this.logic2smt = logic2smt | ||
22 | this.smt2logic = smt2logic | ||
23 | } | ||
24 | |||
25 | public def getElements(Type type) { | ||
26 | return type2Elements.get(type) | ||
27 | } | ||
28 | |||
29 | public def ValueType logicElement2Smt(DefinedElement element) { | ||
30 | return element.lookup(this.logic2smt) | ||
31 | } | ||
32 | |||
33 | public def smtElement2Logic(SMTSymbolicDeclaration element) { | ||
34 | return element.lookup(this.smt2logic) | ||
35 | } | ||
36 | } | ||