Community
Participate
Working Groups
When opening the compare editor (e.g. using Compare With > Local History...) then hovering over text in the right pane doesn't show the popup (e.g. hovering over a Java type reference in an Xtend2 editor). Instead an "Unhandled event loop exception" will be logged to the error log: java.lang.NullPointerException at org.eclipse.xtext.resource.EObjectAtOffsetHelper.internalResolveElementAt(EObjectAtOffsetHelper.java:39) at org.eclipse.xtext.resource.EObjectAtOffsetHelper.resolveCrossReferencedElementAt(EObjectAtOffsetHelper.java:35) at org.eclipse.xtext.xbase.jvmmodel.JvmEObjectAtOffsetHelper.resolveCrossReferencedElementAt(JvmEObjectAtOffsetHelper.java:26) at org.eclipse.xtext.xtend2.resource.XtendEObjectAtOffsetHelper.resolveCrossReferencedElementAt(XtendEObjectAtOffsetHelper.java:29) at org.eclipse.xtext.ui.editor.hover.AbstractEObjectHover.getXtextElementAt(AbstractEObjectHover.java:91) at org.eclipse.xtext.ui.editor.hover.AbstractEObjectHover$1.exec(AbstractEObjectHover.java:51) at org.eclipse.xtext.ui.editor.hover.AbstractEObjectHover$1.exec(AbstractEObjectHover.java:1) at org.eclipse.xtext.util.concurrent.AbstractReadWriteAcces.readOnly(AbstractReadWriteAcces.java:32) at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:86) at org.eclipse.xtext.ui.editor.hover.AbstractEObjectHover.getHoverRegion(AbstractEObjectHover.java:49) at org.eclipse.xtext.ui.editor.hover.AbstractCompositeHover.getHoverRegion(AbstractCompositeHover.java:62) at org.eclipse.jface.text.TextViewerHoverManager.computeInformation(TextViewerHoverManager.java:140) at org.eclipse.jface.text.AbstractInformationControlManager.doShowInformation(AbstractInformationControlManager.java:1120) at org.eclipse.jface.text.AbstractHoverInformationControlManager$MouseTracker.mouseHover(AbstractHoverInformationControlManager.java:519) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:195) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3543) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1250) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1273) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1079) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3441) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3100) 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:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) 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) at org.eclipse.equinox.launcher.Main.main(Main.java:1287) It appears like the reason is that the XtextDocument doesn't have an XtextResource, just its contents, as that's how the document is created in StreamContentDocumentProvider#createDocument(). Shouldn't we instead load the XtextResource with the content and set that using XtextDocument#setInput()?
Created attachment 194887 [details] proposed patch pls verify & test
please apply and push
Pushed to master.
Closing all bugs that were set to RESOLVED before Neon.0