从Xtext 2.3.0升级到2.4.1:org.eclipse.xtext.xbase.validation.XtypeJavaValidator不存在

时间:2014-01-16 11:06:26

标签: eclipse xtext

org.eclipse.xtext.xbase.validation.XtypeJavaValidator应该在哪里?

Xtext需要在生成的文件Abstract*DslJavaValidator中使用它。此类型替换了Xtext 2.3.0中的org.eclipse.xtext.validation.AbstractDeclarativeValidator,但我无法在Xtext 2.4.1中找到此类。

2.4有XbaseJavaValidator但我不确定是否应该使用它(Xtext生成的代码并且不鼓励访问此类)。

是否有说明如何从2.3升级到2.4?

通过盲目地弄乱URL,我能够生成标题为“Whiteboard:v2.4”的list of bugs,但我不确定a)这是否是实际的错误列表和b)如何获取2.4.1的列表。

1 个答案:

答案 0 :(得分:0)

类的前缀是从基本语法生成的。所以如果你的语法以

开头
grammar ...
with org.eclipse.xtext.xbase.Xtype

代码生成器将尝试扩展XtypeJavaValidtor。如果您从Xbase派生,它将使用XbaseJavaValidtor(即语法名称+ JavaValidtor

This bug report contains a workaround

  

解决方法:在工作流程中传递inheritImplementation=false,如下所示:

fragment = validation.ValidatorFragment auto-inject {
  inheritImplementation = false
}
     

同样适用于ImportNamespacesScopingFragmentContentAssistFragmentQuickfixProviderFragment