|
Re: How to create an additional outline node with xtext? [message #654341 is a reply to message #654177] |
Tue, 15 February 2011 09:39 |
Jan Koehnlein Messages: 760 Registered: July 2009 Location: Hamburg |
Senior Member |
|
|
Could either be a regression or you're referring to stale model. The
latter could happen if you build your outline with references to the
EObjects of your model from outside a document transaction
(IXtextDocument.readOnly() / .modify()). The Xtext 1.0 API makes this
very easy that's one reason why we fully redesigned it in Xtext 2.0.
Could you file a bug with
- the version number you're using now
- a reproducible example?
Am 14.02.11 14:52, schrieb Eckle:
> Since xtext 1.00, outline-view isn't working any more, because i add
> virtual nodes to the outline that are not part of the real model.
>
> The Error Log shows a Unhandled event loop exception (see stacktrace
> below).
>
> So how do i add virtual nodes to the outline correctly?
>
> org.eclipse.swt.SWTException: Failed to execute runnable
> (java.lang.StringIndexOutOfBoundsException: String index out of range: -1)
> at org.eclipse.swt.SWT.error(SWT.java:4083)
> at org.eclipse.swt.SWT.error(SWT.java:3998)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:137)
>
> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:4041)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3660)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2640)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:24 38)
> at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
>
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:664)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at
> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:115)
>
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:196)
>
> 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(EclipseS tarter.java:369)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 619)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
> Caused by: java.lang.StringIndexOutOfBoundsException: String index out
> of range: -1
> at java.lang.String.charAt(Unknown Source)
> at
> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eObjectForURIFra gmentSegment(BasicEObjectImpl.java:514)
>
> at
> org.eclipse.emf.ecore.resource.impl.ResourceImpl.getEObject( ResourceImpl.java:782)
>
> at
> org.eclipse.emf.ecore.resource.impl.ResourceImpl.getEObject( ResourceImpl.java:758)
>
> at org.eclipse.xtext.resource.XtextResource.access$1(XtextResou rce.java:1)
> at
> org.eclipse.xtext.resource.XtextResource$1.getEObject(XtextR esource.java:92)
>
> at
> org.eclipse.xtext.resource.DefaultFragmentProvider.getEObjec t(DefaultFragmentProvider.java:26)
>
> at
> org.eclipse.xtext.resource.XtextResource.getEObject(XtextRes ource.java:260)
> at
> org.eclipse.xtext.linking.lazy.LazyLinkingResource.getEObjec t(LazyLinkingResource.java:123)
>
> at
> org.eclipse.xtext.resource.EObjectHandleImpl$ResourceAccess. exec(EObjectHandleImpl.java:55)
>
> at
> org.eclipse.xtext.resource.EObjectHandleImpl$ResourceAccess. exec(EObjectHandleImpl.java:1)
>
> at
> org.eclipse.xtext.util.concurrent.IStateAccess$AbstractImpl. readOnly(IStateAccess.java:40)
>
> at
> org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(Xte xtDocument.java:70)
>
> at
> org.eclipse.xtext.resource.EObjectHandleImpl.readOnly(EObjec tHandleImpl.java:39)
>
> at
> org.eclipse.xtext.ui.editor.outline.ContentOutlineNode.proce ssHandleForChildren(ContentOutlineNode.java:126)
>
> at
> org.eclipse.xtext.ui.editor.outline.ContentOutlineNode.compu teChildren(ContentOutlineNode.java:121)
>
> at
> org.eclipse.xtext.ui.editor.outline.ContentOutlineNode.getCh ildren(ContentOutlineNode.java:104)
>
> at
> org.eclipse.xtext.ui.editor.outline.ContentOutlineNode.getCh ildrenAsArray(ContentOutlineNode.java:136)
>
> at
> org.eclipse.xtext.ui.editor.outline.ContentOutlineNode.hasCh ildren(ContentOutlineNode.java:147)
>
> at
> org.eclipse.xtext.ui.editor.outline.transformer.Transforming TreeProvider.hasChildren(TransformingTreeProvider.java:84)
>
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2086)
>
> at org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer .java:588)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2112)
>
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(Abst ractTreeViewer.java:2794)
>
> at org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.j ava:852)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:830)
>
> at
> org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractT reeViewer.java:804)
>
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.createChildren( AbstractTreeViewer.java:778)
>
> at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeView er.java:644)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandT oLevel(AbstractTreeViewer.java:1714)
>
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandT oLevel(AbstractTreeViewer.java:1724)
>
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.internalInitial izeTree(AbstractTreeViewer.java:1493)
>
> at
> org.eclipse.jface.viewers.TreeViewer.internalInitializeTree( TreeViewer.java:833)
>
> at
> org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractT reeViewer.java:1476)
>
> at
> org.eclipse.jface.viewers.StructuredViewer.preservingSelecti on(StructuredViewer.java:1422)
>
> at
> org.eclipse.jface.viewers.TreeViewer.preservingSelection(Tre eViewer.java:403)
>
> at
> org.eclipse.jface.viewers.StructuredViewer.preservingSelecti on(StructuredViewer.java:1383)
>
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(Ab stractTreeViewer.java:1469)
>
> at org.eclipse.jface.viewers.ContentViewer.setInput(ContentView er.java:274)
> at
> org.eclipse.jface.viewers.StructuredViewer.setInput(Structur edViewer.java:1664)
>
> at
> org.eclipse.xtext.ui.editor.outline.XtextContentOutlinePage. internalSetInput(XtextContentOutlinePage.java:269)
>
> at
> org.eclipse.xtext.ui.editor.outline.XtextContentOutlinePage. access$2(XtextContentOutlinePage.java:263)
>
> at
> org.eclipse.xtext.ui.editor.outline.XtextContentOutlinePage$ 3.run(XtextContentOutlinePage.java:432)
>
> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:134)
>
> ... 23 more
>
--
Need professional support for Eclipse Modeling?
Go visit: http://xtext.itemis.com
---
Get professional support from the Xtext committers at www.typefox.io
|
|
|
Powered by
FUDForum. Page generated in 0.02800 seconds