From 94d65ce02c5ef302f91bf383643c2535001ae6a9 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Fri, 14 Sep 2018 16:38:34 +0200 Subject: Scope initialisation is default --- .../PartialInterpretationInitialiser.xtend | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend index cc76ce3f..d0fdeac4 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend @@ -41,6 +41,7 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.StringLiteral +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation @Data class Problem2PartialInterpretationTrace { Map type2Interpretation @@ -201,11 +202,25 @@ class PartialInterpretationInitialiser { val typeInterpretation = typeDeclaration.initialisePartialTypeInterpretation(engine) interpretation.partialtypeinterpratation += typeInterpretation type2Interpretation.put(typeDeclaration,typeInterpretation) + interpretation.scopes += initialiseTypeScope(typeInterpretation, minNewElementsByType.get(typeDeclaration),maxNewElementsByType.get(typeDeclaration)) + } interpretation.problem.connectSuperypes(type2Interpretation) return type2Interpretation } + def private initialiseTypeScope(PartialTypeInterpratation interpretation, Integer min, Integer max) { + val res = createScope + res.targetTypeInterpretation = interpretation + if(min !== null) { + res.minNewElements = min + } + if(max !== null) { + res.maxNewElements = max + } + return res + } + def private connectSuperypes(LogicProblem problem, Map trace) { for(typeDeclaration : problem.types.filter(TypeDeclaration)) { val supertypes = typeDeclaration.transitiveClosurePlus[it.supertypes] -- cgit v1.2.3-54-g00ecf