aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SMT_TypeMapperInterpretation.xtend
diff options
context:
space:
mode:
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.xtend36
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 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicDeclaration
6import java.util.List
7import java.util.Map
8import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
9
10class 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}