- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
[scala-tools-eclipse] Error in editor when opening source
Fri, 2009-12-04, 12:59
Sometimes the JDT (current nightly) will get stuck in some state where it
reports some errors on a source but will not allow me to edit it. The editor
will show an error message:
Could not open the editor: An unexpected exception was thrown.
Is this a new bug?
Gr. Silvio
This is the stack trace:
java.lang.NullPointerException
at
scala.tools.nsc.transform.UnCurry.scala$tools$nsc$transform$UnCurry$$expandAlias(UnCurry.scala:51)
at scala.tools.nsc.transform.UnCurry$$anon$2.apply(UnCurry.scala:60)
at scala.tools.nsc.transform.UnCurry$$anon$2.apply(UnCurry.scala:58)
at scala.tools.nsc.transform.UnCurry.transformInfo(UnCurry.scala:131)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$DefOwner$class.paramType$1(ScalaStructureBuilder.scala:393)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$DefOwner$$anonfun$6.apply(ScalaStructureBuilder.scala:399)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$DefOwner$$anonfun$6.apply(ScalaStructureBuilder.scala:399)
at
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:159)
at
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:159)
at scala.collection.LinearSeqLike$class.foreach(LinearSeqLike.scala:88)
at scala.collection.immutable.List.foreach(List.scala:29)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:159)
at scala.collection.immutable.List.map(List.scala:29)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$DefOwner$class.addDef(ScalaStructureBuilder.scala:399)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$Builder.addDef(ScalaStructureBuilder.scala:581)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:635)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseStats$1.apply(Trees.scala:1710)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseStats$1.apply(Trees.scala:1708)
at scala.collection.LinearSeqLike$class.foreach(LinearSeqLike.scala:88)
at scala.collection.immutable.List.foreach(List.scala:29)
at scala.tools.nsc.ast.Trees$Traverser.traverseStats(Trees.scala:1708)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:654)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2$$anonfun$apply$2.apply(ScalaStructureBuilder.scala:608)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2$$anonfun$apply$2.apply(ScalaStructureBuilder.scala:608)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.atBuilder(ScalaStructureBuilder.scala:672)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2.apply(ScalaStructureBuilder.scala:605)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2.apply(ScalaStructureBuilder.scala:605)
at scala.tools.nsc.ast.Trees$Traverser.atOwner(Trees.scala:1717)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:604)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:1702)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:1702)
at scala.collection.LinearSeqLike$class.foreach(LinearSeqLike.scala:88)
at scala.collection.immutable.List.foreach(List.scala:29)
at scala.tools.nsc.ast.Trees$Traverser.traverseTrees(Trees.scala:1702)
at scala.tools.nsc.ast.Trees$Traverser.traverse(Trees.scala:1629)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:666)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:1702)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:1702)
at scala.collection.LinearSeqLike$class.foreach(LinearSeqLike.scala:88)
at scala.collection.immutable.List.foreach(List.scala:29)
at scala.tools.nsc.ast.Trees$Traverser.traverseTrees(Trees.scala:1702)
at scala.tools.nsc.ast.Trees$Traverser.traverse(Trees.scala:1667)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:666)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$6$$anonfun$apply$5.apply(ScalaStructureBuilder.scala:645)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$6$$anonfun$apply$5.apply(ScalaStructureBuilder.scala:643)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.atBuilder(ScalaStructureBuilder.scala:672)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$6.apply(ScalaStructureBuilder.scala:643)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$6.apply(ScalaStructureBuilder.scala:643)
at scala.tools.nsc.ast.Trees$Traverser.atOwner(Trees.scala:1717)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:636)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseStats$1.apply(Trees.scala:1710)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseStats$1.apply(Trees.scala:1708)
at scala.collection.LinearSeqLike$class.foreach(LinearSeqLike.scala:88)
at scala.collection.immutable.List.foreach(List.scala:29)
at scala.tools.nsc.ast.Trees$Traverser.traverseStats(Trees.scala:1708)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:654)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2$$anonfun$apply$2.apply(ScalaStructureBuilder.scala:608)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2$$anonfun$apply$2.apply(ScalaStructureBuilder.scala:608)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.atBuilder(ScalaStructureBuilder.scala:672)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2.apply(ScalaStructureBuilder.scala:605)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2.apply(ScalaStructureBuilder.scala:605)
at scala.tools.nsc.ast.Trees$Traverser.atOwner(Trees.scala:1717)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:604)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:1702)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:1702)
at scala.collection.LinearSeqLike$class.foreach(LinearSeqLike.scala:88)
at scala.collection.immutable.List.foreach(List.scala:29)
at scala.tools.nsc.ast.Trees$Traverser.traverseTrees(Trees.scala:1702)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverse$1.apply(Trees.scala:1594)
at
scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverse$1.apply(Trees.scala:1594)
at scala.tools.nsc.ast.Trees$Traverser.atOwner(Trees.scala:1717)
at scala.tools.nsc.ast.Trees$Traverser.traverse(Trees.scala:1593)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.scala$tools$eclipse$javaelements$ScalaStructureBuilder$StructureBuilderTraverser$$super$traverse(ScalaStructureBuilder.scala:600)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$1.apply(ScalaStructureBuilder.scala:600)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$1.apply(ScalaStructureBuilder.scala:600)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.atBuilder(ScalaStructureBuilder.scala:672)
at
scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:600)
at
scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$buildStructure$1.apply(ScalaCompilationUnit.scala:87)
at
scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$buildStructure$1.apply(ScalaCompilationUnit.scala:78)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:22)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$class.locked(Cached.scala:75)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:20)
at
scala.tools.eclipse.ScalaPresentationCompiler$CachedCompilerResult.apply(ScalaPresentationCompiler.scala:51)
at
scala.tools.eclipse.ScalaPresentationCompiler.withCompilerResult(ScalaPresentationCompiler.scala:89)
at
scala.tools.eclipse.ScalaProject$$anonfun$withCompilerResult$1.apply(ScalaProject.scala:344)
at
scala.tools.eclipse.ScalaProject$$anonfun$withCompilerResult$1.apply(ScalaProject.scala:343)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:22)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$class.locked(Cached.scala:75)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:20)
at scala.tools.eclipse.ScalaProject$$anon$1.apply(ScalaProject.scala:35)
at
scala.tools.eclipse.ScalaProject.withPresentationCompiler(ScalaProject.scala:339)
at
scala.tools.eclipse.ScalaProject.withCompilerResult(ScalaProject.scala:343)
at
scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.withCompilerResult(ScalaCompilationUnit.scala:37)
at
scala.tools.eclipse.javaelements.ScalaSourceFile.withCompilerResult(ScalaSourceFile.scala:38)
at
scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.buildStructure(ScalaCompilationUnit.scala:78)
at
scala.tools.eclipse.javaelements.ScalaSourceFile.buildStructure(ScalaSourceFile.scala:38)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
at
org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:515)
at
org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:252)
at
org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:238)
at
org.eclipse.jdt.internal.core.CompilationUnit.getSourceRange(CompilationUnit.java:906)
at
org.eclipse.jdt.internal.ui.javaeditor.selectionactions.GoToNextPreviousMemberAction.update(GoToNextPreviousMemberAction.java:90)
at
org.eclipse.jdt.internal.ui.javaeditor.selectionactions.GoToNextPreviousMemberAction.(GoToNextPreviousMemberAction.java:69)
at
org.eclipse.jdt.internal.ui.javaeditor.selectionactions.GoToNextPreviousMemberAction.newGoToNextMemberAction(GoToNextPreviousMemberAction.java:56)
at
org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.createActions(JavaEditor.java:2718)
at
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.createActions(CompilationUnitEditor.java:1037)
at
scala.tools.eclipse.ScalaSourceFileEditor.createActions(ScalaSourceFileEditor.scala:23)
at
org.eclipse.ui.texteditor.AbstractTextEditor.createPartControl(AbstractTextEditor.java:3464)
at
org.eclipse.ui.texteditor.StatusTextEditor.createPartControl(StatusTextEditor.java:53)
at
org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.createPartControl(AbstractDecoratedTextEditor.java:427)
at
org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.createPartControl(JavaEditor.java:3078)
at
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.createPartControl(CompilationUnitEditor.java:1475)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:662)
at
org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:462)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at
org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:286)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2857)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676)
at
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:374)
at
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:178)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:229)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:208)
at
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
at
org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250)
at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:373)
at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:526)
at
org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
at
org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:842)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.runtime.Platform.run(Platform.java:888)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at
org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:840)
at
org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1101)
at
org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1205)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:613)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)