diff options
Diffstat (limited to 'subprojects/language/src/main/java/tools/refinery/language/ProblemRuntimeModule.java')
-rw-r--r-- | subprojects/language/src/main/java/tools/refinery/language/ProblemRuntimeModule.java | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/subprojects/language/src/main/java/tools/refinery/language/ProblemRuntimeModule.java b/subprojects/language/src/main/java/tools/refinery/language/ProblemRuntimeModule.java index 00dd3de3..f9a564b0 100644 --- a/subprojects/language/src/main/java/tools/refinery/language/ProblemRuntimeModule.java +++ b/subprojects/language/src/main/java/tools/refinery/language/ProblemRuntimeModule.java | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/> | 2 | * SPDX-FileCopyrightText: 2021-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 | */ |
@@ -14,7 +14,10 @@ import com.google.inject.name.Names; | |||
14 | import org.eclipse.xtext.conversion.IValueConverterService; | 14 | import org.eclipse.xtext.conversion.IValueConverterService; |
15 | import org.eclipse.xtext.linking.ILinkingService; | 15 | import org.eclipse.xtext.linking.ILinkingService; |
16 | import org.eclipse.xtext.naming.IQualifiedNameConverter; | 16 | import org.eclipse.xtext.naming.IQualifiedNameConverter; |
17 | import org.eclipse.xtext.naming.IQualifiedNameProvider; | ||
18 | import org.eclipse.xtext.parser.IAstFactory; | ||
17 | import org.eclipse.xtext.parser.IParser; | 19 | import org.eclipse.xtext.parser.IParser; |
20 | import org.eclipse.xtext.parsetree.reconstr.ITransientValueService; | ||
18 | import org.eclipse.xtext.resource.*; | 21 | import org.eclipse.xtext.resource.*; |
19 | import org.eclipse.xtext.scoping.IGlobalScopeProvider; | 22 | import org.eclipse.xtext.scoping.IGlobalScopeProvider; |
20 | import org.eclipse.xtext.scoping.IScopeProvider; | 23 | import org.eclipse.xtext.scoping.IScopeProvider; |
@@ -26,16 +29,21 @@ import org.eclipse.xtext.validation.IResourceValidator; | |||
26 | import org.eclipse.xtext.xbase.annotations.validation.DerivedStateAwareResourceValidator; | 29 | import org.eclipse.xtext.xbase.annotations.validation.DerivedStateAwareResourceValidator; |
27 | import tools.refinery.language.conversion.ProblemValueConverterService; | 30 | import tools.refinery.language.conversion.ProblemValueConverterService; |
28 | import tools.refinery.language.linking.ProblemLinkingService; | 31 | import tools.refinery.language.linking.ProblemLinkingService; |
32 | import tools.refinery.language.naming.ProblemDelegateQualifiedNameProvider; | ||
29 | import tools.refinery.language.naming.ProblemQualifiedNameConverter; | 33 | import tools.refinery.language.naming.ProblemQualifiedNameConverter; |
34 | import tools.refinery.language.naming.ProblemQualifiedNameProvider; | ||
35 | import tools.refinery.language.parser.ProblemEcoreElementFactory; | ||
30 | import tools.refinery.language.parser.antlr.TokenSourceInjectingProblemParser; | 36 | import tools.refinery.language.parser.antlr.TokenSourceInjectingProblemParser; |
31 | import tools.refinery.language.resource.ProblemDerivedStateComputer; | ||
32 | import tools.refinery.language.resource.ProblemLocationInFileProvider; | 37 | import tools.refinery.language.resource.ProblemLocationInFileProvider; |
33 | import tools.refinery.language.resource.ProblemResource; | 38 | import tools.refinery.language.resource.ProblemResource; |
39 | import tools.refinery.language.resource.ProblemResourceDescriptionManager; | ||
34 | import tools.refinery.language.resource.ProblemResourceDescriptionStrategy; | 40 | import tools.refinery.language.resource.ProblemResourceDescriptionStrategy; |
41 | import tools.refinery.language.resource.state.ProblemDerivedStateComputer; | ||
35 | import tools.refinery.language.scoping.ProblemGlobalScopeProvider; | 42 | import tools.refinery.language.scoping.ProblemGlobalScopeProvider; |
36 | import tools.refinery.language.scoping.ProblemLocalScopeProvider; | 43 | import tools.refinery.language.scoping.ProblemLocalScopeProvider; |
37 | import tools.refinery.language.serializer.PreferShortAssertionsProblemSemanticSequencer; | 44 | import tools.refinery.language.serializer.PreferShortAssertionsProblemSemanticSequencer; |
38 | import tools.refinery.language.serializer.ProblemCrossReferenceSerializer; | 45 | import tools.refinery.language.serializer.ProblemCrossReferenceSerializer; |
46 | import tools.refinery.language.serializer.ProblemTransientValueService; | ||
39 | import tools.refinery.language.validation.ProblemDiagnosticConverter; | 47 | import tools.refinery.language.validation.ProblemDiagnosticConverter; |
40 | 48 | ||
41 | /** | 49 | /** |
@@ -50,10 +58,26 @@ public class ProblemRuntimeModule extends AbstractProblemRuntimeModule { | |||
50 | return TokenSourceInjectingProblemParser.class; | 58 | return TokenSourceInjectingProblemParser.class; |
51 | } | 59 | } |
52 | 60 | ||
61 | @Override | ||
62 | public Class<? extends IAstFactory> bindIAstFactory() { | ||
63 | return ProblemEcoreElementFactory.class; | ||
64 | } | ||
65 | |||
53 | public Class<? extends IQualifiedNameConverter> bindIQualifiedNameConverter() { | 66 | public Class<? extends IQualifiedNameConverter> bindIQualifiedNameConverter() { |
54 | return ProblemQualifiedNameConverter.class; | 67 | return ProblemQualifiedNameConverter.class; |
55 | } | 68 | } |
56 | 69 | ||
70 | public void configureIQualifiedNameProviderDelegate(Binder binder) { | ||
71 | binder.bind(IQualifiedNameProvider.class) | ||
72 | .annotatedWith(Names.named(ProblemQualifiedNameProvider.NAMED_DELEGATE)) | ||
73 | .to(ProblemDelegateQualifiedNameProvider.class); | ||
74 | } | ||
75 | |||
76 | @Override | ||
77 | public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() { | ||
78 | return ProblemQualifiedNameProvider.class; | ||
79 | } | ||
80 | |||
57 | public Class<? extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() { | 81 | public Class<? extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() { |
58 | return ProblemResourceDescriptionStrategy.class; | 82 | return ProblemResourceDescriptionStrategy.class; |
59 | } | 83 | } |
@@ -87,7 +111,7 @@ public class ProblemRuntimeModule extends AbstractProblemRuntimeModule { | |||
87 | // Method name follows Xtext convention. | 111 | // Method name follows Xtext convention. |
88 | @SuppressWarnings("squid:S100") | 112 | @SuppressWarnings("squid:S100") |
89 | public Class<? extends IResourceDescription.Manager> bindIResourceDescription$Manager() { | 113 | public Class<? extends IResourceDescription.Manager> bindIResourceDescription$Manager() { |
90 | return DerivedStateAwareResourceDescriptionManager.class; | 114 | return ProblemResourceDescriptionManager.class; |
91 | } | 115 | } |
92 | 116 | ||
93 | public Class<? extends IResourceValidator> bindIResourceValidator() { | 117 | public Class<? extends IResourceValidator> bindIResourceValidator() { |
@@ -104,6 +128,11 @@ public class ProblemRuntimeModule extends AbstractProblemRuntimeModule { | |||
104 | } | 128 | } |
105 | 129 | ||
106 | @Override | 130 | @Override |
131 | public Class<? extends ITransientValueService> bindITransientValueService() { | ||
132 | return ProblemTransientValueService.class; | ||
133 | } | ||
134 | |||
135 | @Override | ||
107 | public Class<? extends ISemanticSequencer> bindISemanticSequencer() { | 136 | public Class<? extends ISemanticSequencer> bindISemanticSequencer() { |
108 | return PreferShortAssertionsProblemSemanticSequencer.class; | 137 | return PreferShortAssertionsProblemSemanticSequencer.class; |
109 | } | 138 | } |