我正在编写一个基于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中是不可重现的。
非常感谢任何帮助。
答案 0 :(得分:0)
你在这个bug中遇到了磕磕绊的问题,已经修复了2.3(截至6月)。 作为一种变通方法,您可能希望绑定LazyLinkingResource的自定义实现并捕获#getEObject中的IllegalNodeException。 Alternativley您可以从自定义LinkingService返回一个空列表,而不是引发IllegalNodeException。