contribute static instance of JavaScriptLanguageToolkit to DLTK
diff --git a/plugins/org.eclipse.dltk.javascript.core/plugin.xml b/plugins/org.eclipse.dltk.javascript.core/plugin.xml
index 1f02bfe..ca262ce 100644
--- a/plugins/org.eclipse.dltk.javascript.core/plugin.xml
+++ b/plugins/org.eclipse.dltk.javascript.core/plugin.xml
@@ -19,7 +19,7 @@
    <extension
          point="org.eclipse.dltk.core.language">
       <language
-            class="org.eclipse.dltk.javascript.core.JavaScriptLanguageToolkit"
+            class="org.eclipse.dltk.javascript.core.JavaScriptLanguageToolkit$Factory"
             nature="org.eclipse.dltk.javascript.core.nature"/>
 </extension>
    <!--
diff --git a/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/javascript/core/JavaScriptLanguageToolkit.java b/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/javascript/core/JavaScriptLanguageToolkit.java
index f9d1a39..d8c8000 100644
--- a/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/javascript/core/JavaScriptLanguageToolkit.java
+++ b/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/javascript/core/JavaScriptLanguageToolkit.java
@@ -12,12 +12,20 @@
 import java.io.File;
 
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IExecutableExtensionFactory;
 import org.eclipse.dltk.core.AbstractLanguageToolkit;
 import org.eclipse.dltk.core.IDLTKLanguageToolkit;
 import org.eclipse.dltk.core.environment.IFileHandle;
 
 public class JavaScriptLanguageToolkit extends AbstractLanguageToolkit {
-	private static JavaScriptLanguageToolkit sInstance = new JavaScriptLanguageToolkit();
+	public static class Factory implements IExecutableExtensionFactory {
+		public Object create() throws CoreException {
+			return getDefault();
+		}
+	}
+
+	private static final JavaScriptLanguageToolkit sInstance = new JavaScriptLanguageToolkit();
 
 	public JavaScriptLanguageToolkit() {
 	}