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的列表。
答案 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 }
同样适用于
ImportNamespacesScopingFragment
,ContentAssistFragment
和QuickfixProviderFragment