diff options
Diffstat (limited to 'Solvers/VIATRA-Solver')
3 files changed, 7 insertions, 1 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend index dce04a7f..d11b5960 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend | |||
@@ -116,6 +116,8 @@ class GenericTypeIndexer extends TypeIndexer { | |||
116 | // because there is no definition, dynamic covers all definition | 116 | // because there is no definition, dynamic covers all definition |
117 | // 4: T is not abstract | 117 | // 4: T is not abstract |
118 | Type.isAbstract(dynamic,false); | 118 | Type.isAbstract(dynamic,false); |
119 | // 5. element is not primitive datatype | ||
120 | neg find isPrimitive(element); | ||
119 | } | 121 | } |
120 | 122 | ||
121 | /** | 123 | /** |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend index 0fed5c76..a2b11632 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend | |||
@@ -187,7 +187,7 @@ class PatternGenerator { | |||
187 | } | 187 | } |
188 | 188 | ||
189 | private pattern elementCloseWorld(element:DefinedElement) { | 189 | private pattern elementCloseWorld(element:DefinedElement) { |
190 | PartialInterpretation.newElements(i,element); | 190 | PartialInterpretation.openWorldElements(i,element); |
191 | PartialInterpretation.maxNewElements(i,0); | 191 | PartialInterpretation.maxNewElements(i,0); |
192 | } or { | 192 | } or { |
193 | Scope.targetTypeInterpretation(scope,interpretation); | 193 | Scope.targetTypeInterpretation(scope,interpretation); |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend index fde5f4b6..67a886d1 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend | |||
@@ -86,6 +86,10 @@ class TypeIndexerWithPreliminaryTypeAnalysis extends TypeIndexer{ | |||
86 | } or { | 86 | } or { |
87 | find interpretation(problem,interpretation); | 87 | find interpretation(problem,interpretation); |
88 | PartialInterpretation.openWorldElements(interpretation,element); | 88 | PartialInterpretation.openWorldElements(interpretation,element); |
89 | «FOR inhibitorType : inhibitorTypes» | ||
90 | neg «referInstanceOf(inhibitorType,Modality.MUST,"element")» | ||
91 | «ENDFOR» | ||
92 | neg find isPrimitive(element); | ||
89 | } or | 93 | } or |
90 | «ENDIF» | 94 | «ENDIF» |
91 | { «referInstanceOf(type,Modality.MUST,"element")» } | 95 | { «referInstanceOf(type,Modality.MUST,"element")» } |