From 28bd83cecdd9510a46aa443d6d4c5fe09e6eda93 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Fri, 14 Sep 2018 16:38:04 +0200 Subject: Update support for java and emf DATATYPES, and basic scope propagator --- .../viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend') 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 { find supertypeStar(type,definedSupertype); TypeDefinition(definedSupertype); } + + private pattern scopeDisallowsNewElementsFromType(typeInterpretation:PartialComplexTypeInterpretation) { + Scope.targetTypeInterpretation(scope,typeInterpretation); + Scope.maxNewElements(scope,0); + } ''' public override generateInstanceOfQueries(LogicProblem problem, PartialInterpretation emptySolution,TypeAnalysisResult typeAnalysisResult) { @@ -190,6 +195,7 @@ class GenericTypeIndexer extends TypeIndexer { Type.name(type,"«type.name»"); find possibleDynamicType(problem,interpretation,dynamic,element); find supertypeStar(dynamic,type); + neg find scopeDisallowsNewElementsFromType(dynamic); } ''' } -- cgit v1.2.3-54-g00ecf