aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageInjectorProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageInjectorProvider.java')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageInjectorProvider.java66
1 files changed, 66 insertions, 0 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageInjectorProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageInjectorProvider.java
new file mode 100644
index 00000000..f3c1588b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageInjectorProvider.java
@@ -0,0 +1,66 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.tests;
5
6import ca.mcgill.ecse.dslreasoner.VampireLanguageRuntimeModule;
7import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup;
8import com.google.inject.Guice;
9import com.google.inject.Injector;
10import org.eclipse.xtext.testing.GlobalRegistries;
11import org.eclipse.xtext.testing.GlobalRegistries.GlobalStateMemento;
12import org.eclipse.xtext.testing.IInjectorProvider;
13import org.eclipse.xtext.testing.IRegistryConfigurator;
14
15public class VampireLanguageInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
16
17 protected GlobalStateMemento stateBeforeInjectorCreation;
18 protected GlobalStateMemento stateAfterInjectorCreation;
19 protected Injector injector;
20
21 static {
22 GlobalRegistries.initializeDefaults();
23 }
24
25 @Override
26 public Injector getInjector() {
27 if (injector == null) {
28 stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
29 this.injector = internalCreateInjector();
30 stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
31 }
32 return injector;
33 }
34
35 protected Injector internalCreateInjector() {
36 return new VampireLanguageStandaloneSetup() {
37 @Override
38 public Injector createInjector() {
39 return Guice.createInjector(createRuntimeModule());
40 }
41 }.createInjectorAndDoEMFRegistration();
42 }
43
44 protected VampireLanguageRuntimeModule createRuntimeModule() {
45 // make it work also with Maven/Tycho and OSGI
46 // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=493672
47 return new VampireLanguageRuntimeModule() {
48 @Override
49 public ClassLoader bindClassLoaderToInstance() {
50 return VampireLanguageInjectorProvider.class
51 .getClassLoader();
52 }
53 };
54 }
55
56 @Override
57 public void restoreRegistry() {
58 stateBeforeInjectorCreation.restoreGlobalState();
59 }
60
61 @Override
62 public void setupRegistry() {
63 getInjector();
64 stateAfterInjectorCreation.restoreGlobalState();
65 }
66}