Jvm Xtext:无法解析为类型
我的代码中有奇怪的错误:Jvm Xtext:无法解析为类型,jvm,dsl,xtext,xtend,Jvm,Dsl,Xtext,Xtend,我的代码中有奇怪的错误: import dsltest.models.Plant import dsltest.controllers.PlantController.create package dsltest.assemblers { assembler PlantAssembler : Plant { state CREATES create => PENDING end state PENDING end } }
import dsltest.models.Plant
import dsltest.controllers.PlantController.create
package dsltest.assemblers {
assembler PlantAssembler : Plant {
state CREATES
create => PENDING
end
state PENDING
end
}
}
错误:
“dsltest.controllers.PlantController.create无法解析为类型。”在导入时出现(第二行)。第一行导入时没有错误
“创建”是一个由控制器封装的方法-“PlantController”
我试图清理这个项目,但没用。请有人帮我解决这个问题。您应该使用静态导入声明来导入静态成员:
import static dsltest.controllers.PlantController.create
否则,
dsltest.controllers.PlantController.create
将被视为对JvmDeclaredType
的引用。您应该使用静态导入声明来导入静态成员:
import static dsltest.controllers.PlantController.create
否则,
dsltest.controllers.PlantController.create
将被视为对JvmDeclaredType
的引用,该方法是静态的吗?您仍然会得到相同的错误吗?该方法必须是静态的。无法导入实例方法,因为首先需要PlantController类的实例。XImportSection的默认语义类似于java:。如您所见,它不会隐式创建导入类型的实例并将其放在声明类型的范围内。您是否为PlantaAssembler推断了一个类,并为每个州推断了一个方法?如果是这样,您可以将一个带有PlantController类型扩展修饰符的字段添加到此类。该方法是静态的吗?您仍然会得到相同的错误吗?该方法必须是静态的。无法导入实例方法,因为首先需要PlantController类的实例。XImportSection的默认语义类似于java:。如您所见,它不会隐式创建导入类型的实例并将其放在声明类型的范围内。您是否为PlantaAssembler推断了一个类,并为每个州推断了一个方法?如果是这样,您可以将一个带有PlantController类型扩展修饰符的字段添加到此类中。