aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf
diff options
context:
space:
mode:
authorLibravatar Oszkar Semerath <semerath@mit.bme.hu>2020-05-12 02:23:24 +0200
committerLibravatar Oszkar Semerath <semerath@mit.bme.hu>2020-05-12 02:23:24 +0200
commit9b2b7ec65813d8458f8015570a784a3b291d0651 (patch)
tree3214c0e02c4b38e8f0974f475917575d49ec647a /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf
parentreformulating (potentially inconsistent) inv49 (diff)
downloadVIATRA-Generator-9b2b7ec65813d8458f8015570a784a3b291d0651.tar.gz
VIATRA-Generator-9b2b7ec65813d8458f8015570a784a3b291d0651.tar.zst
VIATRA-Generator-9b2b7ec65813d8458f8015570a784a3b291d0651.zip
Object is recursively instantiated if it has no subtype alternative
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend3
1 files changed, 2 insertions, 1 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend
index 1e7f1d2b..16438a5a 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend
@@ -183,7 +183,8 @@ class RefinementRuleProvider {
183 183
184 if(containmentReferences.contains(relation)) { 184 if(containmentReferences.contains(relation)) {
185 val targetTypeInterpretation = getTypeInterpretation(i, relation, 1) 185 val targetTypeInterpretation = getTypeInterpretation(i, relation, 1)
186 if(!(targetTypeInterpretation as PartialComplexTypeInterpretation).interpretationOf.isIsAbstract) { 186 val targetType = (targetTypeInterpretation as PartialComplexTypeInterpretation).interpretationOf
187 if((!targetType.isIsAbstract) && (targetType.supertypes.empty)) {
187 val inverseAnnotation = p.annotations.filter(InverseRelationAssertion).filter[it.inverseA === relation || it.inverseB === relation] 188 val inverseAnnotation = p.annotations.filter(InverseRelationAssertion).filter[it.inverseA === relation || it.inverseB === relation]
188 if(!inverseAnnotation.empty) { 189 if(!inverseAnnotation.empty) {
189 val onlyInverseAnnotation = if(inverseAnnotation.head.inverseA===relation) { 190 val onlyInverseAnnotation = if(inverseAnnotation.head.inverseA===relation) {