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: アクション App.f は、指定された引数には適用されません。

これは、特にファイルに複数のエラーがあり、エディターで何も編集できない場合、ポップアップが画面に繰り返し表示されるため、非常に問題になります。

この問題はいくつかの IDE で一貫して発生しますが、他の IDE では再現できません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

このバグは 2.3 (6 月予定) で既に修正されています。回避策として、LazyLinkingResource のカスタム実装をバインドし、#getEObject で IllegalNodeException をキャッチすることができます。または、IllegalNodeException を発生させる代わりに、カスタム LinkingService から空のリストを返すこともできます。

于 2012-05-13T17:22:08.080 に答える