aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend
diff options
context:
space:
mode:
authorLibravatar Rebus Farkas <rebus.detenyleg@gmail.com>2018-09-14 16:49:11 +0200
committerLibravatar Rebus Farkas <rebus.detenyleg@gmail.com>2018-09-14 16:49:11 +0200
commit12f540b293fec104db29fe78a4b50ca60a49e417 (patch)
tree25fad118952232204aff027c39b01aca8de46b9b /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend
parentMerge branch 'master' into hypergraphs (diff)
parentUpdated progress monitor for huge amount instance generation processes (diff)
downloadVIATRA-Generator-12f540b293fec104db29fe78a4b50ca60a49e417.tar.gz
VIATRA-Generator-12f540b293fec104db29fe78a4b50ca60a49e417.tar.zst
VIATRA-Generator-12f540b293fec104db29fe78a4b50ca60a49e417.zip
Merge branch 'master' into hypergraphs
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend6
1 files changed, 6 insertions, 0 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 d11b5960..d6a15c1a 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
@@ -155,6 +155,11 @@ class GenericTypeIndexer extends TypeIndexer {
155 find supertypeStar(type,definedSupertype); 155 find supertypeStar(type,definedSupertype);
156 TypeDefinition(definedSupertype); 156 TypeDefinition(definedSupertype);
157 } 157 }
158
159 private pattern scopeDisallowsNewElementsFromType(typeInterpretation:PartialComplexTypeInterpretation) {
160 Scope.targetTypeInterpretation(scope,typeInterpretation);
161 Scope.maxNewElements(scope,0);
162 }
158 ''' 163 '''
159 164
160 public override generateInstanceOfQueries(LogicProblem problem, PartialInterpretation emptySolution,TypeAnalysisResult typeAnalysisResult) { 165 public override generateInstanceOfQueries(LogicProblem problem, PartialInterpretation emptySolution,TypeAnalysisResult typeAnalysisResult) {
@@ -190,6 +195,7 @@ class GenericTypeIndexer extends TypeIndexer {
190 Type.name(type,"«type.name»"); 195 Type.name(type,"«type.name»");
191 find possibleDynamicType(problem,interpretation,dynamic,element); 196 find possibleDynamicType(problem,interpretation,dynamic,element);
192 find supertypeStar(dynamic,type); 197 find supertypeStar(dynamic,type);
198 neg find scopeDisallowsNewElementsFromType(dynamic);
193 } 199 }
194 ''' 200 '''
195 } 201 }