org.eclipse.xtext.linking.impl.IllegalNodeException弹出错误而不是仅写入日志

时间:2012-05-13 16:24:58

标签: eclipse-plugin xtext

我正在编写一个基于xtext的编辑器。 (v 2.2.1)(Eclipse Indigo) 我有一个扩展DefaultLinkingServic并覆盖该方法的类: public List getLinkedObjects(EObject context,EReference ref,INode node)抛出IllegalNodeException。 当无法解析对象时,该方法抛出IllegalNodeException。 抛出异常(并且应该抛出)时,错误不仅会写入错误日志,而且会导致弹出窗口出现错误:

在“Xtext验证”期间发生内部错误。 org.eclipse.xtext.linking.impl.IllegalNodeException:Action App.f不适用于指定的参数。

这是非常有问题的,特别是如果文件有多个错误,这使得无法在编辑器中编辑任何内容,因为弹出窗口反复出现在屏幕上。

这个问题在几个IDE中是一致的,但在其他IDE中是不可重现的。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你在这个bug中遇到了磕磕绊的问题,已经修复了2.3(截至6月)。 作为一种变通方法,您可能希望绑定LazyLinkingResource的自定义实现并捕获#getEObject中的IllegalNodeException。 Alternativley您可以从自定义LinkingService返回一个空列表,而不是引发IllegalNodeException。