是否可以在Xtext语法中为JvmTypeReference指定所需类型(例如界面)?
示例
Instantiation:
('new' type=JvmTypeReference (params=Params)?)
;
type=JvmTypeReference
必须是instanceof
某个指定的类。
答案 0 :(得分:1)
这在语法中是不可能的,但您可以通过自定义范围提供程序或提案提供程序实现所需的行为,请参阅此博客文章:https://kthoms.wordpress.com/2012/03/14/how-to-limit-proposed-java-types-to-implementors-of-an-interface/
答案 1 :(得分:0)
您可以实现对JvmConstructor的引用!
Instantiation:
'new' type=[JvmConstructor|QualifiedName] params=Params?;
你应该在你的语法中使用一个XimportSection然后你可以编写一个范围提供者,你可以直接将范围扩展到任何构造函数。