summaryrefslogtreecommitdiffstats
path: root/rba.tool.editor/src/rba/tool/editor/RBAModelRuntimeModule.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'rba.tool.editor/src/rba/tool/editor/RBAModelRuntimeModule.xtend')
-rw-r--r--rba.tool.editor/src/rba/tool/editor/RBAModelRuntimeModule.xtend88
1 files changed, 88 insertions, 0 deletions
diff --git a/rba.tool.editor/src/rba/tool/editor/RBAModelRuntimeModule.xtend b/rba.tool.editor/src/rba/tool/editor/RBAModelRuntimeModule.xtend
new file mode 100644
index 0000000..dabff8f
--- /dev/null
+++ b/rba.tool.editor/src/rba/tool/editor/RBAModelRuntimeModule.xtend
@@ -0,0 +1,88 @@
+/*
+ * generated by Xtext 2.12.0
+ */
+package rba.tool.editor
+
+import com.google.inject.Binder
+import com.google.inject.Provider
+import com.google.inject.name.Names
+import org.eclipse.xtext.linking.impl.DefaultLinkingService
+import org.eclipse.xtext.scoping.IScopeProvider
+import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider
+import org.eclipse.xtext.validation.CompositeEValidator
+import rba.tool.editor.generator.RBAModelGeneratorExtensions
+import rba.tool.editor.generator.z3.ConstraintGeneratorImpl
+import rba.tool.editor.generator.z3.IConstraintGenerator
+import rba.tool.editor.generator.z3.ISortValueGenerator
+import rba.tool.editor.generator.z3.SortValueGeneratorImpl
+import rba.tool.editor.linking.RBAModelLinker
+import rba.tool.editor.linking.RBAModelLinkingService
+import rba.tool.editor.naming.RBAModelSimpleNameProvider
+import rba.tool.editor.resource.RBAModelLocationInFileProvider
+import rba.tool.editor.scoping.IExpressionScope
+import rba.tool.editor.scoping.RBAModelExpressionScope
+import rba.tool.editor.scoping.RBAModelImportedNamespaceAwareLocalScopeProvider
+import rba.tool.editor.scoping.internal.RBAModelMemberFieldScopes
+import rba.tool.editor.scoping.internal.RBAModelMemberOperationScopes
+import rba.tool.editor.validation.RBADiagnostician
+import rba.tool.editor.validation.RBAModelCompositeEValidatorProvider
+
+/**
+ * Use this class to register components to be used at runtime / without the Equinox extension registry.
+ */
+class RBAModelRuntimeModule extends AbstractRBAModelRuntimeModule {
+
+ override bindIQualifiedNameProvider() {
+ return RBAModelSimpleNameProvider;
+ }
+
+ override bindILinker() {
+ return RBAModelLinker;
+ }
+
+ def public Class<? extends ISortValueGenerator> bindISortValueGenerator() {
+ return SortValueGeneratorImpl;
+ }
+
+
+ def public Class<? extends IConstraintGenerator> bindIConstraintGenerator() {
+ return ConstraintGeneratorImpl;
+ }
+
+ override bindILocationInFileProvider() {
+ return RBAModelLocationInFileProvider;
+ }
+
+ def public Class<? extends RBAModelGeneratorExtensions> bindRBAModelGeneratorExtensions() {
+ return RBAModelGeneratorExtensions;
+ }
+
+ override bindDiagnostician() {
+ return RBADiagnostician;
+ }
+
+ def public Class<? extends IExpressionScope> bindIExpressionScope() {
+ return RBAModelExpressionScope;
+ }
+
+ def public Class<? extends RBAModelMemberFieldScopes> bindRBAModelMemberFieldScopes() {
+ return RBAModelMemberFieldScopes;
+ }
+
+ def public Class<? extends RBAModelMemberOperationScopes> bindRBAModelMemberOperationScopes() {
+ return RBAModelMemberOperationScopes;
+ }
+
+ def public Class<? extends Provider<CompositeEValidator>> provideRBAModelCompositeEValidatorProvider() {
+ return RBAModelCompositeEValidatorProvider;
+ }
+
+ def public Class<? extends DefaultLinkingService> bindRBAModelLinkingService() {
+ return RBAModelLinkingService;
+ }
+
+ override configureIScopeProviderDelegate(Binder binder) {
+ binder.bind(IScopeProvider).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(RBAModelImportedNamespaceAwareLocalScopeProvider);
+ }
+
+}