参考Xtext / Xbase语法中生成的类型

时间:2017-06-02 00:15:18

标签: xtext xbase

我正在使用Xbase编写Xtext语法。该语法允许用户从一个DSL文件创建一组具有超类型的Java类。因此,我创建了如下规则:

javaClass:
  name=ID ':' supertype=JvmParameterizedTypeReference

我的类文件生成器非常有效,只要该类型不引用由DSL创建的类文件即可。当在例如第3行中创建类ClassA,并且在第4行中定义了另一个具有超类型= ClassA的类ClassB时,解析器不接受该文件。

我知道这是因为ClassA在解析ClassB时不是已知的类型,因为生成器在整个文件被解析后启动。

是否可以解决我的问题并使用户能够引用先前在同一DSL文件中声明的类?

1 个答案:

答案 0 :(得分:1)

您推断出JVM模型吗?它允许第一个索引可用类,然后在知道所有类时为它们推断JVM模型。请参阅:https://eclipse.org/Xtext/documentation/305_xbase.html#xbase-inferred-type

相关问题