diff options
author | 2023-08-13 23:33:03 +0200 | |
---|---|---|
committer | 2023-08-13 23:33:03 +0200 | |
commit | 6b0c83a05cd55d3508ca7dc7d7d1648d602bc613 (patch) | |
tree | 64f6fa67f43524ac32c8b552dd1f09c015d5f7eb /subprojects/store-reasoning/src/main | |
parent | feat: metamodel translator (diff) | |
download | refinery-6b0c83a05cd55d3508ca7dc7d7d1648d602bc613.tar.gz refinery-6b0c83a05cd55d3508ca7dc7d7d1648d602bc613.tar.zst refinery-6b0c83a05cd55d3508ca7dc7d7d1648d602bc613.zip |
fix: concrete supertype translation
Diffstat (limited to 'subprojects/store-reasoning/src/main')
-rw-r--r-- | subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslator.java | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslator.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslator.java index 4bff4557..67e8035f 100644 --- a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslator.java +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslator.java | |||
@@ -45,13 +45,12 @@ public class TypeHierarchyTranslator implements ModelStoreConfiguration { | |||
45 | 45 | ||
46 | private ModelStoreConfiguration createPreservedTypeTranslator(PartialRelation type, TypeAnalysisResult result) { | 46 | private ModelStoreConfiguration createPreservedTypeTranslator(PartialRelation type, TypeAnalysisResult result) { |
47 | var may = Query.of(type.name() + "#partial#may", (builder, p1) -> { | 47 | var may = Query.of(type.name() + "#partial#may", (builder, p1) -> { |
48 | if (result.isAbstractType()) { | 48 | if (!result.isAbstractType()) { |
49 | for (var subtype : result.getDirectSubtypes()) { | ||
50 | builder.clause(PartialLiterals.may(subtype.call(p1))); | ||
51 | } | ||
52 | } else { | ||
53 | builder.clause(new MayTypeView(typeSymbol, type).call(p1)); | 49 | builder.clause(new MayTypeView(typeSymbol, type).call(p1)); |
54 | } | 50 | } |
51 | for (var subtype : result.getDirectSubtypes()) { | ||
52 | builder.clause(PartialLiterals.may(subtype.call(p1))); | ||
53 | } | ||
55 | }); | 54 | }); |
56 | 55 | ||
57 | var must = Query.of(type.name() + "#partial#must", (builder, p1) -> builder.clause( | 56 | var must = Query.of(type.name() + "#partial#must", (builder, p1) -> builder.clause( |