From d1b2d628bf515f0a1772eaff7366f9c29c1b02ce Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Wed, 16 Aug 2017 17:13:22 +0200 Subject: Mapping of primitive types in patterns --- .../patterns/RelationDeclarationIndexer.xtend | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDeclarationIndexer.xtend') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDeclarationIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDeclarationIndexer.xtend index e6d92cc6..f384cd50 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDeclarationIndexer.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDeclarationIndexer.xtend @@ -1,10 +1,8 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion -import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration -import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality import java.util.HashMap @@ -86,8 +84,8 @@ class RelationDeclarationIndexer { find mayExist(problem, interpretation, source); find mayExist(problem, interpretation, target); // Type consistency - «transformTypeConsistency(relation.parameters.get(0),"source")» - «transformTypeConsistency(relation.parameters.get(1),"target")» + «base.typeIndexer.referInstanceOfByReference(relation.parameters.get(0),Modality.MAY,"source")» + «base.typeIndexer.referInstanceOfByReference(relation.parameters.get(1),Modality.MAY,"target")» «IF upperMultiplicities.containsKey(relation)» // There are "numberOfExistingReferences" currently existing instances of the reference from the source, // the upper bound of the multiplicity should be considered. @@ -142,13 +140,4 @@ class RelationDeclarationIndexer { «base.relationDefinitionIndexer.referPattern(definition,#["source","target"],Modality::MAY,true,false)» } ''' - - protected def CharSequence transformTypeConsistency(TypeReference reference, String name) { - if(reference instanceof ComplexTypeReference) { - this.base.typeIndexer.referInstanceOf(reference.referred,Modality.MAY,name) - } else { - return '''// Primitive type of «name» is already enforced''' - } - - } } \ No newline at end of file -- cgit v1.2.3-54-g00ecf