aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-12-02 19:23:15 +0100
committerLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-12-02 19:23:15 +0100
commit52241f46c3793b94ff0b7e8ada361881e1474b97 (patch)
tree6d484ba1fc345e42f401b9db8554746d232877db /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra
parentMerge branch 'master' of github.com:viatra/VIATRA-Generator (diff)
downloadVIATRA-Generator-52241f46c3793b94ff0b7e8ada361881e1474b97.tar.gz
VIATRA-Generator-52241f46c3793b94ff0b7e8ada361881e1474b97.tar.zst
VIATRA-Generator-52241f46c3793b94ff0b7e8ada361881e1474b97.zip
Fix VQL validator breakage after Execute Application Configuration
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend33
1 files changed, 13 insertions, 20 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend
index 26ec7091..69b54b8a 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend
@@ -6,7 +6,6 @@ import com.google.inject.Inject
6import com.google.inject.Injector 6import com.google.inject.Injector
7import com.google.inject.multibindings.Multibinder 7import com.google.inject.multibindings.Multibinder
8import com.google.inject.name.Names 8import com.google.inject.name.Names
9import com.google.inject.util.Modules
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage 9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage 10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage 11import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
@@ -46,7 +45,6 @@ import org.eclipse.xtext.scoping.IScope
46import org.eclipse.xtext.scoping.IScopeProvider 45import org.eclipse.xtext.scoping.IScopeProvider
47import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider 46import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider
48import org.eclipse.xtext.scoping.impl.SimpleScope 47import org.eclipse.xtext.scoping.impl.SimpleScope
49import org.eclipse.xtext.service.AbstractGenericModule
50import org.eclipse.xtext.service.SingletonBinding 48import org.eclipse.xtext.service.SingletonBinding
51import org.eclipse.xtext.workspace.IProjectConfigProvider 49import org.eclipse.xtext.workspace.IProjectConfigProvider
52 50
@@ -65,35 +63,32 @@ package class StandaloneParserWithFixedMetamodelProviderModule extends Standalon
65 Multibinder::newSetBinder(binder, IMetamodelProviderInstance); 63 Multibinder::newSetBinder(binder, IMetamodelProviderInstance);
66 } 64 }
67 65
68} 66 @SingletonBinding
69 67 override IResourceServiceProvider.Registry bindIResourceServiceProvider$Registry() {
70package class StandaloneParserOverridesModule extends AbstractGenericModule { 68 new VqlDeactivatedServiceProviderRegistry
71 69 }
72 def Class<? extends IMetamodelProvider> bindIMetamodelProvider() { 70
71 override Class<? extends IMetamodelProvider> bindIMetamodelProvider() {
73 FixedMetamodelProvider 72 FixedMetamodelProvider
74 } 73 }
75 74
76 def Class<? extends IProjectConfigProvider> bindProjectConfigProvider() { 75 override Class<? extends IProjectConfigProvider> bindProjectConfigProvider() {
77 NullProjectConfigProvider 76 NullProjectConfigProvider
78 } 77 }
79 78
80 @SingletonBinding 79 @SingletonBinding
81 def Class<? extends IResourceServiceProvider.Registry> bindIResourceServiceProvider$Registry() { 80 override EValidator.Registry bindEValidatorRegistry() {
82 VqlDeactivatedServiceProviderRegistry
83 }
84
85 def EValidator.Registry bindEValidator$Registry() {
86 // org.eclipse.xtext.validation.EValidatorRegistrar modifies EValidators already in the registry, 81 // org.eclipse.xtext.validation.EValidatorRegistrar modifies EValidators already in the registry,
87 // so it is not safe to populate the registry from the EValidator.Registry.INSTANCE singleton. 82 // so it is not safe to populate the registry from the EValidator.Registry.INSTANCE singleton.
88 // There is no need to execute any EValiator other than EMFPatternLanguageValidator, 83 // There is no need to execute any EValiator other than EMFPatternLanguageValidator,
89 // so we can start with a blank registry instead. 84 // so we can start with a blank registry instead.
90 new EValidatorRegistryImpl() 85 new EValidatorRegistryImpl
91 } 86 }
92 87
93 def EPackage.Registry bindEPackage$Registry() { 88 @SingletonBinding
89 override EPackage.Registry bindEPackageRegistry() {
94 new EPackageRegistryImpl(EPackage.Registry.INSTANCE) 90 new EPackageRegistryImpl(EPackage.Registry.INSTANCE)
95 } 91 }
96
97} 92}
98 93
99package class NullProjectConfigProvider implements IProjectConfigProvider { 94package class NullProjectConfigProvider implements IProjectConfigProvider {
@@ -136,10 +131,8 @@ class ParseUtil {
136 131
137 def protected Injector internalCreateInjector() { 132 def protected Injector internalCreateInjector() {
138 ensureViatraInitialized(); 133 ensureViatraInitialized();
139 val runtimeModulemodule = new StandaloneParserWithFixedMetamodelProviderModule 134 val runtimeModule = new StandaloneParserWithFixedMetamodelProviderModule
140 val overridesModule = new StandaloneParserOverridesModule 135 val newInjector = Guice.createInjector(runtimeModule)
141 val module = Modules.override(runtimeModulemodule).with(overridesModule)
142 val newInjector = Guice.createInjector(module)
143 return newInjector 136 return newInjector
144 } 137 }
145 138