diff options
author | Kristóf Marussy <kristof@marussy.com> | 2024-02-05 18:54:46 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2024-02-06 01:50:23 +0100 |
commit | 1ae461bd5319370e12878785d9c7ec9f89429406 (patch) | |
tree | a18797b520369a7f40ee13988308de67c66e046d /subprojects/language-semantics/src/main | |
parent | Revert "refactor: simplify module name inference" (diff) | |
download | refinery-1ae461bd5319370e12878785d9c7ec9f89429406.tar.gz refinery-1ae461bd5319370e12878785d9c7ec9f89429406.tar.zst refinery-1ae461bd5319370e12878785d9c7ec9f89429406.zip |
feat(language): automatic problem kind inference
Diffstat (limited to 'subprojects/language-semantics/src/main')
-rw-r--r-- | subprojects/language-semantics/src/main/java/tools/refinery/language/semantics/SolutionSerializer.java | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/subprojects/language-semantics/src/main/java/tools/refinery/language/semantics/SolutionSerializer.java b/subprojects/language-semantics/src/main/java/tools/refinery/language/semantics/SolutionSerializer.java index dad867b8..2fb0a49d 100644 --- a/subprojects/language-semantics/src/main/java/tools/refinery/language/semantics/SolutionSerializer.java +++ b/subprojects/language-semantics/src/main/java/tools/refinery/language/semantics/SolutionSerializer.java | |||
@@ -13,7 +13,6 @@ import org.eclipse.emf.common.util.URI; | |||
13 | import org.eclipse.emf.ecore.util.EcoreUtil; | 13 | import org.eclipse.emf.ecore.util.EcoreUtil; |
14 | import org.eclipse.xtext.naming.IQualifiedNameProvider; | 14 | import org.eclipse.xtext.naming.IQualifiedNameProvider; |
15 | import org.eclipse.xtext.naming.QualifiedName; | 15 | import org.eclipse.xtext.naming.QualifiedName; |
16 | import org.eclipse.xtext.resource.FileExtensionProvider; | ||
17 | import org.eclipse.xtext.resource.IResourceFactory; | 16 | import org.eclipse.xtext.resource.IResourceFactory; |
18 | import org.eclipse.xtext.resource.XtextResource; | 17 | import org.eclipse.xtext.resource.XtextResource; |
19 | import org.eclipse.xtext.resource.XtextResourceSet; | 18 | import org.eclipse.xtext.resource.XtextResourceSet; |
@@ -42,8 +41,6 @@ import java.util.function.Function; | |||
42 | import java.util.stream.Collectors; | 41 | import java.util.stream.Collectors; |
43 | 42 | ||
44 | public class SolutionSerializer { | 43 | public class SolutionSerializer { |
45 | private String fileExtension; | ||
46 | |||
47 | @Inject | 44 | @Inject |
48 | private Provider<XtextResourceSet> resourceSetProvider; | 45 | private Provider<XtextResourceSet> resourceSetProvider; |
49 | 46 | ||
@@ -74,13 +71,8 @@ public class SolutionSerializer { | |||
74 | private NodeDeclaration nodeDeclaration; | 71 | private NodeDeclaration nodeDeclaration; |
75 | private final MutableIntObjectMap<Node> nodes = IntObjectMaps.mutable.empty(); | 72 | private final MutableIntObjectMap<Node> nodes = IntObjectMaps.mutable.empty(); |
76 | 73 | ||
77 | @Inject | ||
78 | public void setFileExtensionProvider(FileExtensionProvider fileExtensionProvider) { | ||
79 | this.fileExtension = fileExtensionProvider.getPrimaryFileExtension(); | ||
80 | } | ||
81 | |||
82 | public Problem serializeSolution(ProblemTrace trace, Model model) { | 74 | public Problem serializeSolution(ProblemTrace trace, Model model) { |
83 | var uri = URI.createURI("__synthetic." + fileExtension); | 75 | var uri = URI.createURI("__synthetic." + ProblemUtil.MODULE_EXTENSION); |
84 | return serializeSolution(trace, model, uri); | 76 | return serializeSolution(trace, model, uri); |
85 | } | 77 | } |
86 | 78 | ||
@@ -135,8 +127,8 @@ public class SolutionSerializer { | |||
135 | private Problem copyProblem(Problem originalProblem, URI uri) { | 127 | private Problem copyProblem(Problem originalProblem, URI uri) { |
136 | var newResourceSet = resourceSetProvider.get(); | 128 | var newResourceSet = resourceSetProvider.get(); |
137 | ImportAdapter.copySettings(originalProblem, newResourceSet); | 129 | ImportAdapter.copySettings(originalProblem, newResourceSet); |
138 | if (!fileExtension.equals(uri.fileExtension())) { | 130 | if (!ProblemUtil.MODULE_EXTENSION.equals(uri.fileExtension())) { |
139 | uri = uri.appendFileExtension(fileExtension); | 131 | uri = uri.appendFileExtension(ProblemUtil.MODULE_EXTENSION); |
140 | } | 132 | } |
141 | var newResource = resourceFactory.createResource(uri); | 133 | var newResource = resourceFactory.createResource(uri); |
142 | newResourceSet.getResources().add(newResource); | 134 | newResourceSet.getResources().add(newResource); |