0

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

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

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

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

任何帮助将不胜感激。

4

1 回答 1

0

你偶然发现了这个已经在 2.3(六月到期)修复的错误。作为一种解决方法,您可能希望绑定 LazyLinkingResource 的自定义实现并在 #getEObject 中捕获 IllegalNodeException。或者,您可以从自定义 LinkingService 返回一个空列表,而不是引发 IllegalNodeException。

于 2012-05-13T17:22:08.080 回答