Unable to infer the caption of this AST node: MatchArgs.MatchArgs
Submitted by Eelco Visser on 24 December 2010 at 12:22
java.lang.RuntimeException: Unable to infer the caption of this AST node: MatchArgs.MatchArgs
at org.strategoxt.imp.runtime.Environment.logException(Environment.java:345)
at org.strategoxt.imp.runtime.services.LabelProvider.getText(LabelProvider.java:28)
at org.strategoxt.imp.runtime.services.TreeModelBuilder.startItem(TreeModelBuilder.java:59)
at org.strategoxt.imp.runtime.services.TreeModelBuilder$TreeModelVisitor.preVisit(TreeModelBuilder.java:41)
at org.strategoxt.imp.runtime.parser.ast.AbstractVisitor.preVisit(AbstractVisitor.java:13)
at org.strategoxt.imp.runtime.parser.ast.AstNode.accept(AstNode.java:255)
at org.strategoxt.imp.runtime.parser.ast.AstNode.accept(AstNode.java:257)
at org.strategoxt.imp.runtime.parser.ast.AstNode.accept(AstNode.java:257)
at org.strategoxt.imp.runtime.parser.ast.AstNode.accept(AstNode.java:257)
at org.strategoxt.imp.runtime.parser.ast.AstNode.accept(AstNode.java:257)
at org.strategoxt.imp.runtime.parser.ast.AstNode.accept(AstNode.java:257)
at org.strategoxt.imp.runtime.services.TreeModelBuilder.visitTree(TreeModelBuilder.java:55)
at org.eclipse.imp.services.base.TreeModelBuilderBase.buildTree(TreeModelBuilderBase.java:30)
at org.strategoxt.imp.runtime.dynamicloading.DynamicTreeModelBuilder.buildTree(DynamicTreeModelBuilder.java:18)
at org.eclipse.imp.editor.IMPOutlinePage$3.run(IMPOutlinePage.java:104)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3405)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3102)
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)
Issue Log
This is a limitation of the current outliner (Spoofax/163): there is no way to specify how to get the caption that shows up in the outline. instead, it tries to infer the caption, but that doesn’t always work. You need to have a non-terminal with some lexical inside it, iirc. A workaround for the webdsl developers is to remove
MatchArgs.MatchArgs
from the outline definition.
Log in to post comments