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: