aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-03-07 12:48:01 -0500
committerLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-03-07 12:48:01 -0500
commit5ac36bba74bcf71224d4895cccdae253b07ccbc9 (patch)
tree85a15ac3d720c24021c9126dc6e00e653135a9b5 /Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_
parentremoved unnecessary println (diff)
downloadVIATRA-Generator-5ac36bba74bcf71224d4895cccdae253b07ccbc9.tar.gz
VIATRA-Generator-5ac36bba74bcf71224d4895cccdae253b07ccbc9.tar.zst
VIATRA-Generator-5ac36bba74bcf71224d4895cccdae253b07ccbc9.zip
Rebooting Z3 solver Containment vs Inheritance still has a bug
Diffstat (limited to 'Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_')
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_44
1 files changed, 29 insertions, 15 deletions
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_
index 79fc38e6..ceb7cc06 100644
--- a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_
@@ -1,24 +1,38 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner 1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2 2
3import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTType 3import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import java.util.HashMap
6import java.util.Map
7import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTInput
8import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDefinition
9import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumLiteral
10import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumeratedTypeDeclaration
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement 4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
12import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* 5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
13import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem 9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
14import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes 10import hu.bme.mit.inf.dslreasoner.logic.model.patterns.PossibleDynamicTypeMatcher
11import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStarMatcher
12import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTComplexTypeReference
15import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument 13import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
14import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumLiteral
15import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumeratedTypeDeclaration
16import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDeclaration
17import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDefinition
18import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTInput
19import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTModelResult
20import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSetTypeDeclaration
21import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicDeclaration
22import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTTerm
23import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTType
16import hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguageFactory 24import hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguageFactory
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory 25import java.util.ArrayList
26import java.util.HashMap
27import java.util.LinkedList
18import java.util.List 28import java.util.List
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition 29import java.util.Map
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine 30import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
21import org.eclipse.viatra.query.runtime.emf.EMFScope 31import org.eclipse.viatra.query.runtime.emf.EMFScope
32import org.eclipse.xtext.xbase.lib.Functions.Function0
33import org.eclipse.xtext.xbase.lib.Functions.Function1
34
35import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
22 36
23class Logic2Smt_TypeMapperTrace_FilteredTypesSimple implements Logic2Smt_TypeMapperTrace{ 37class Logic2Smt_TypeMapperTrace_FilteredTypesSimple implements Logic2Smt_TypeMapperTrace{
24 public var Map<Type, SMTType> independentClasses = new HashMap 38 public var Map<Type, SMTType> independentClasses = new HashMap
@@ -58,8 +72,8 @@ class Logic2Smt_TypeMapper_FilteredTypesSimple implements Logic2Smt_TypeMapper{
58 val extension SmtLanguageFactory factory = SmtLanguageFactory.eINSTANCE 72 val extension SmtLanguageFactory factory = SmtLanguageFactory.eINSTANCE
59 val LogiclanguageFactory factory2 = LogiclanguageFactory.eINSTANCE 73 val LogiclanguageFactory factory2 = LogiclanguageFactory.eINSTANCE
60 74
61 private def toID(List<String> names) {names.join("!") } 75 private def String toID(List<String> names) { names.map[split("\\s+").join("!")].join("!") }
62 private def toID(String name) {name.split("\\s+").toID} 76 private def String toID(String name) { name.split("\\s+").join("!")}
63 77
64 override transformTypes(SMTInput document, LogicProblem problem, Logic2SmtMapperTrace trace, TypeScopes scopes) { 78 override transformTypes(SMTInput document, LogicProblem problem, Logic2SmtMapperTrace trace, TypeScopes scopes) {
65 val typeTrace = new Logic2Smt_TypeMapperTrace_FilteredTypes 79 val typeTrace = new Logic2Smt_TypeMapperTrace_FilteredTypes
@@ -80,7 +94,7 @@ class Logic2Smt_TypeMapper_FilteredTypesSimple implements Logic2Smt_TypeMapper{
80 this.transformUndefinedElements(scopes,trace,document) 94 this.transformUndefinedElements(scopes,trace,document)
81 95
82 96
83 this.transforTypes(connectedTypes, connectedElements, trace, document, engine) 97 this.transformType(connectedTypes, connectedElements, trace, document, engine)
84 // 3.2: Type definition to new elements 98 // 3.2: Type definition to new elements
85 if(hasNewElements) { 99 if(hasNewElements) {
86 this.transformNewTypes(connectedTypesWithoutDefintypesWithoutDefinedSupertype,trace,document,engine); 100 this.transformNewTypes(connectedTypesWithoutDefintypesWithoutDefinedSupertype,trace,document,engine);