aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-01-15 12:44:33 -0500
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-01-15 12:44:33 -0500
commit20f131a3f09edf8e1455f20b4f486629147e7eff (patch)
tree690ee30b62caf76bdc7d45f183382965e4e7bf05 /Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui
parentViatraSolver as default (diff)
downloadVIATRA-Generator-20f131a3f09edf8e1455f20b4f486629147e7eff.tar.gz
VIATRA-Generator-20f131a3f09edf8e1455f20b4f486629147e7eff.tar.zst
VIATRA-Generator-20f131a3f09edf8e1455f20b4f486629147e7eff.zip
Initial workspace setup
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui/internal/LanguageActivator.java93
1 files changed, 93 insertions, 0 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui/internal/LanguageActivator.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui/internal/LanguageActivator.java
new file mode 100644
index 00000000..eca3aa7f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui/internal/LanguageActivator.java
@@ -0,0 +1,93 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.language.ui.internal;
5
6import ca.mcgill.ecse.dslreasoner.VampireLanguageRuntimeModule;
7import ca.mcgill.ecse.dslreasoner.ui.VampireLanguageUiModule;
8import com.google.common.collect.Maps;
9import com.google.inject.Guice;
10import com.google.inject.Injector;
11import com.google.inject.Module;
12import java.util.Collections;
13import java.util.Map;
14import org.apache.log4j.Logger;
15import org.eclipse.ui.plugin.AbstractUIPlugin;
16import org.eclipse.xtext.ui.shared.SharedStateModule;
17import org.eclipse.xtext.util.Modules2;
18import org.osgi.framework.BundleContext;
19
20/**
21 * This class was generated. Customizations should only happen in a newly
22 * introduced subclass.
23 */
24public class LanguageActivator extends AbstractUIPlugin {
25
26 public static final String CA_MCGILL_ECSE_DSLREASONER_VAMPIRELANGUAGE = "ca.mcgill.ecse.dslreasoner.VampireLanguage";
27
28 private static final Logger logger = Logger.getLogger(LanguageActivator.class);
29
30 private static LanguageActivator INSTANCE;
31
32 private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
33
34 @Override
35 public void start(BundleContext context) throws Exception {
36 super.start(context);
37 INSTANCE = this;
38 }
39
40 @Override
41 public void stop(BundleContext context) throws Exception {
42 injectors.clear();
43 INSTANCE = null;
44 super.stop(context);
45 }
46
47 public static LanguageActivator getInstance() {
48 return INSTANCE;
49 }
50
51 public Injector getInjector(String language) {
52 synchronized (injectors) {
53 Injector injector = injectors.get(language);
54 if (injector == null) {
55 injectors.put(language, injector = createInjector(language));
56 }
57 return injector;
58 }
59 }
60
61 protected Injector createInjector(String language) {
62 try {
63 Module runtimeModule = getRuntimeModule(language);
64 Module sharedStateModule = getSharedStateModule();
65 Module uiModule = getUiModule(language);
66 Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
67 return Guice.createInjector(mergedModule);
68 } catch (Exception e) {
69 logger.error("Failed to create injector for " + language);
70 logger.error(e.getMessage(), e);
71 throw new RuntimeException("Failed to create injector for " + language, e);
72 }
73 }
74
75 protected Module getRuntimeModule(String grammar) {
76 if (CA_MCGILL_ECSE_DSLREASONER_VAMPIRELANGUAGE.equals(grammar)) {
77 return new VampireLanguageRuntimeModule();
78 }
79 throw new IllegalArgumentException(grammar);
80 }
81
82 protected Module getUiModule(String grammar) {
83 if (CA_MCGILL_ECSE_DSLREASONER_VAMPIRELANGUAGE.equals(grammar)) {
84 return new VampireLanguageUiModule(this);
85 }
86 throw new IllegalArgumentException(grammar);
87 }
88
89 protected Module getSharedStateModule() {
90 return new SharedStateModule();
91 }
92
93}