diff --git a/st.redline.plugin.tests/src-gen/st/redline/SmalltalkInjectorProvider.java b/st.redline.plugin.tests/src-gen/st/redline/SmalltalkInjectorProvider.java
index 9143da5..46be214 100644
--- a/st.redline.plugin.tests/src-gen/st/redline/SmalltalkInjectorProvider.java
+++ b/st.redline.plugin.tests/src-gen/st/redline/SmalltalkInjectorProvider.java
@@ -11,28 +11,35 @@
import com.google.inject.Injector;
public class SmalltalkInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
- protected GlobalStateMemento globalStateMemento;
+
+ protected GlobalStateMemento stateBeforeInjectorCreation;
+ protected GlobalStateMemento stateAfterInjectorCreation;
protected Injector injector;
static {
GlobalRegistries.initializeDefaults();
}
-
- public Injector getInjector() {
+
+ public Injector getInjector()
+ {
if (injector == null) {
- this.injector = new SmalltalkStandaloneSetup().createInjectorAndDoEMFRegistration();
+ stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
+ this.injector = internalCreateInjector();
+ stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
}
return injector;
}
+ protected Injector internalCreateInjector() {
+ return new SmalltalkStandaloneSetup().createInjectorAndDoEMFRegistration();
+ }
+
public void restoreRegistry() {
- globalStateMemento.restoreGlobalState();
+ stateBeforeInjectorCreation.restoreGlobalState();
}
public void setupRegistry() {
- globalStateMemento = GlobalRegistries.makeCopyOfGlobalState();
- if (injector != null)
- new SmalltalkStandaloneSetup().register(injector);
+ getInjector();
+ stateAfterInjectorCreation.restoreGlobalState();
}
-
}
diff --git a/st.redline.plugin.ui/.gitignore b/st.redline.plugin.ui/.gitignore
index 83e8337..8b13789 100644
--- a/st.redline.plugin.ui/.gitignore
+++ b/st.redline.plugin.ui/.gitignore
@@ -1 +1 @@
-/src-gen
+
diff --git a/st.redline.plugin.ui/.settings/org.eclipse.jdt.core.prefs b/st.redline.plugin.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8000cd6
--- /dev/null
+++ b/st.redline.plugin.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/st.redline.plugin.ui/META-INF/MANIFEST.MF b/st.redline.plugin.ui/META-INF/MANIFEST.MF
index 976ffc5..fecf850 100644
--- a/st.redline.plugin.ui/META-INF/MANIFEST.MF
+++ b/st.redline.plugin.ui/META-INF/MANIFEST.MF
@@ -20,5 +20,7 @@ Import-Package: org.apache.log4j,
org.apache.commons.logging
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: st.redline.ui.contentassist.antlr,
- st.redline.ui.internal
+ st.redline.ui.internal,
+ st.redline.ui.quickfix,
+ st.redline.ui.contentassist
Bundle-Activator: st.redline.ui.internal.SmalltalkActivator
diff --git a/st.redline.plugin.ui/plugin.xml_gen b/st.redline.plugin.ui/plugin.xml_gen
index 755495b..0bc9a5a 100644
--- a/st.redline.plugin.ui/plugin.xml_gen
+++ b/st.redline.plugin.ui/plugin.xml_gen
@@ -33,7 +33,27 @@
definitionId="st.redline.Smalltalk.Editor.opened">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -46,6 +66,16 @@
+
+
+
+
+
+
+
+
@@ -96,6 +126,19 @@
id="st.redline.Smalltalk.validate"
name="Validate">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -151,6 +224,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -216,18 +311,38 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/st.redline.plugin/src-gen/.gitignore b/st.redline.plugin/src-gen/.gitignore
new file mode 100644
index 0000000..5e7d273
--- /dev/null
+++ b/st.redline.plugin/src-gen/.gitignore
@@ -0,0 +1,4 @@
+# Ignore everything in this directory
+*
+# Except this file
+!.gitignore
diff --git a/st.redline.plugin/src/redlineplugin/editors/MultiPageEditor.java b/st.redline.plugin/src/redlineplugin/editors/MultiPageEditor.java
index e8cdecd..67d4932 100644
--- a/st.redline.plugin/src/redlineplugin/editors/MultiPageEditor.java
+++ b/st.redline.plugin/src/redlineplugin/editors/MultiPageEditor.java
@@ -14,17 +14,14 @@
import org.eclipse.core.runtime.RegistryFactory;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.FontDialog;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.ui.IEditorInput;
@@ -36,25 +33,15 @@
import org.eclipse.ui.ide.IDE;
import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.xtext.EcoreUtil2;
-import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
-import org.eclipse.xtext.parseTreeConstruction.XtextParsetreeConstructor;
-import org.eclipse.xtext.parsetree.reconstr.Serializer;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.ui.editor.XtextEditor;
import org.eclipse.xtext.ui.editor.model.IXtextDocument;
import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
import org.eclipse.xtext.util.concurrent.IUnitOfWork;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-import st.redline.SmalltalkRuntimeModule;
import st.redline.smalltalk.Method;
import st.redline.smalltalk.impl.MethodImpl;
-import static org.eclipse.xtext.xtend2.lib.EObjectExtensions.*;
-
/**
* An example showing how to create a multi-page editor. This example has 3
* pages: