diff options
author | Kristóf Marussy <marussy@mit.bme.hu> | 2024-02-19 00:44:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-19 00:44:05 +0100 |
commit | 201c3da912aeaab8a3f51b84198b35c7936d0446 (patch) | |
tree | e427986134c41b540b10b9a9576f5a1788d8fbed /subprojects/language-web/src/main/java/tools | |
parent | chore(deps): bump dependencies (diff) | |
parent | docs: update README (diff) | |
download | refinery-201c3da912aeaab8a3f51b84198b35c7936d0446.tar.gz refinery-201c3da912aeaab8a3f51b84198b35c7936d0446.tar.zst refinery-201c3da912aeaab8a3f51b84198b35c7936d0446.zip |
Merge pull request #53 from kris7t/imports
Module and import resolution support
Diffstat (limited to 'subprojects/language-web/src/main/java/tools')
2 files changed, 15 insertions, 18 deletions
diff --git a/subprojects/language-web/src/main/java/tools/refinery/language/web/semantics/PartialInterpretation2Json.java b/subprojects/language-web/src/main/java/tools/refinery/language/web/semantics/PartialInterpretation2Json.java index efe04592..ff811033 100644 --- a/subprojects/language-web/src/main/java/tools/refinery/language/web/semantics/PartialInterpretation2Json.java +++ b/subprojects/language-web/src/main/java/tools/refinery/language/web/semantics/PartialInterpretation2Json.java | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * SPDX-FileCopyrightText: 2023 The Refinery Authors <https://refinery.tools/> | 2 | * SPDX-FileCopyrightText: 2023-2024 The Refinery Authors <https://refinery.tools/> |
3 | * | 3 | * |
4 | * SPDX-License-Identifier: EPL-2.0 | 4 | * SPDX-License-Identifier: EPL-2.0 |
5 | */ | 5 | */ |
@@ -32,7 +32,7 @@ public class PartialInterpretation2Json { | |||
32 | var relation = entry.getKey(); | 32 | var relation = entry.getKey(); |
33 | var partialSymbol = entry.getValue(); | 33 | var partialSymbol = entry.getValue(); |
34 | var tuples = getTuplesJson(facade, partialSymbol); | 34 | var tuples = getTuplesJson(facade, partialSymbol); |
35 | var name = semanticsUtils.getName(relation).orElse(partialSymbol.name()); | 35 | var name = semanticsUtils.getNameWithoutRootPrefix(relation).orElse(partialSymbol.name()); |
36 | json.add(name, tuples); | 36 | json.add(name, tuples); |
37 | cancellationToken.checkCancelled(); | 37 | cancellationToken.checkCancelled(); |
38 | } | 38 | } |
diff --git a/subprojects/language-web/src/main/java/tools/refinery/language/web/semantics/metadata/MetadataCreator.java b/subprojects/language-web/src/main/java/tools/refinery/language/web/semantics/metadata/MetadataCreator.java index f05abc45..1858fc87 100644 --- a/subprojects/language-web/src/main/java/tools/refinery/language/web/semantics/metadata/MetadataCreator.java +++ b/subprojects/language-web/src/main/java/tools/refinery/language/web/semantics/metadata/MetadataCreator.java | |||
@@ -7,6 +7,7 @@ package tools.refinery.language.web.semantics.metadata; | |||
7 | 7 | ||
8 | import com.google.inject.Inject; | 8 | import com.google.inject.Inject; |
9 | import com.google.inject.Provider; | 9 | import com.google.inject.Provider; |
10 | import com.google.inject.name.Named; | ||
10 | import org.eclipse.emf.ecore.EObject; | 11 | import org.eclipse.emf.ecore.EObject; |
11 | import org.eclipse.xtext.naming.IQualifiedNameConverter; | 12 | import org.eclipse.xtext.naming.IQualifiedNameConverter; |
12 | import org.eclipse.xtext.naming.IQualifiedNameProvider; | 13 | import org.eclipse.xtext.naming.IQualifiedNameProvider; |
@@ -14,6 +15,7 @@ import org.eclipse.xtext.naming.QualifiedName; | |||
14 | import org.eclipse.xtext.scoping.IScope; | 15 | import org.eclipse.xtext.scoping.IScope; |
15 | import org.eclipse.xtext.scoping.IScopeProvider; | 16 | import org.eclipse.xtext.scoping.IScopeProvider; |
16 | import tools.refinery.language.model.problem.*; | 17 | import tools.refinery.language.model.problem.*; |
18 | import tools.refinery.language.naming.ProblemQualifiedNameProvider; | ||
17 | import tools.refinery.language.semantics.ProblemTrace; | 19 | import tools.refinery.language.semantics.ProblemTrace; |
18 | import tools.refinery.language.semantics.TracedException; | 20 | import tools.refinery.language.semantics.TracedException; |
19 | import tools.refinery.language.utils.ProblemUtil; | 21 | import tools.refinery.language.utils.ProblemUtil; |
@@ -32,6 +34,7 @@ public class MetadataCreator { | |||
32 | private IScopeProvider scopeProvider; | 34 | private IScopeProvider scopeProvider; |
33 | 35 | ||
34 | @Inject | 36 | @Inject |
37 | @Named(ProblemQualifiedNameProvider.NAMED_DELEGATE) | ||
35 | private IQualifiedNameProvider qualifiedNameProvider; | 38 | private IQualifiedNameProvider qualifiedNameProvider; |
36 | 39 | ||
37 | @Inject | 40 | @Inject |
@@ -87,14 +90,12 @@ public class MetadataCreator { | |||
87 | } | 90 | } |
88 | 91 | ||
89 | private NodeKind getNodeKind(Node node) { | 92 | private NodeKind getNodeKind(Node node) { |
90 | if (ProblemUtil.isImplicitNode(node)) { | 93 | if (ProblemUtil.isAtomNode(node)) { |
91 | return NodeKind.IMPLICIT; | ||
92 | } else if (ProblemUtil.isIndividualNode(node)) { | ||
93 | return NodeKind.INDIVIDUAL; | 94 | return NodeKind.INDIVIDUAL; |
94 | } else if (ProblemUtil.isNewNode(node)) { | 95 | } else if (ProblemUtil.isMultiNode(node)) { |
95 | return NodeKind.NEW; | 96 | return NodeKind.NEW; |
96 | } else { | 97 | } else { |
97 | throw new TracedException(node, "Unknown node type"); | 98 | return NodeKind.IMPLICIT; |
98 | } | 99 | } |
99 | } | 100 | } |
100 | 101 | ||
@@ -124,17 +125,13 @@ public class MetadataCreator { | |||
124 | if (ProblemUtil.isBuiltIn(relation) && !ProblemUtil.isError(relation)) { | 125 | if (ProblemUtil.isBuiltIn(relation) && !ProblemUtil.isError(relation)) { |
125 | return getBuiltInDetail(); | 126 | return getBuiltInDetail(); |
126 | } | 127 | } |
127 | if (relation instanceof ClassDeclaration classDeclaration) { | 128 | return switch (relation) { |
128 | return getClassDetail(classDeclaration); | 129 | case ClassDeclaration classDeclaration -> getClassDetail(classDeclaration); |
129 | } else if (relation instanceof ReferenceDeclaration) { | 130 | case ReferenceDeclaration ignored -> getReferenceDetail(partialRelation); |
130 | return getReferenceDetail(partialRelation); | 131 | case EnumDeclaration ignored -> getEnumDetail(); |
131 | } else if (relation instanceof EnumDeclaration) { | 132 | case PredicateDefinition predicateDefinition -> getPredicateDetail(predicateDefinition); |
132 | return getEnumDetail(); | 133 | default -> throw new TracedException(relation, "Unknown relation"); |
133 | } else if (relation instanceof PredicateDefinition predicateDefinition) { | 134 | }; |
134 | return getPredicateDetail(predicateDefinition); | ||
135 | } else { | ||
136 | throw new TracedException(relation, "Unknown relation"); | ||
137 | } | ||
138 | } | 135 | } |
139 | 136 | ||
140 | private RelationDetail getBuiltInDetail() { | 137 | private RelationDetail getBuiltInDetail() { |