0
我正在寫使用一個的XBase DSL和我添加這在語法返回XExpression
一個新的解析器規則自定義類:進口在XbaseCompiler
DatastepExpression returns xbase::XExpression: {DatastepExpression} 'data' name=ID '{' '}';
,並添加相應的功能到XbaseTypeComputer
子類:
protected def _computeTypes(DatastepExpression expression, ITypeComputationState state) {
var type = getTypeForName(typeof(FileDataset), state)
state.acceptActualType(type)
}
現在我想的方法到XbaseCompiler子類中添加:
override protected doInternalToJavaStatement(XExpression expr, ITreeAppendable it, boolean isReferenced) {
switch expr {
DatastepExpression: {
newLine
append('''FileDataset «expr.name»;''')
}
default:
super.doInternalToJavaStatement(expr, it, isReferenced)
}
}
其中FileDataset
是我的語言API中的自定義類。 如何讓這個類出現在生成文件頂部的導入中?
此刻,當我用我的語言(在運行時Eclipse中)創建一個新文件時,生成的Java文件包含FileDataset
變量聲明,但它下面有一條紅色波浪線,錯誤「FileDataset無法解析爲類型「