我想知道如何创建节点,以便它们在代码中实例化类。目前,如果我修改代码,它无法识别节点。
object Test{
def main(args: Array[String]) {
val a= new Avi;
}
}
class Avi{}
class pra{}
在 AST 中,我创建了以下节点并将 ValDef 节点替换为参数 a
val newRhs = Select(New(Ident("pra")),newTermName("<init>"));
retTree = treeCopy.ValDef(vd, mods, name, tpt, newRhs);
我收到以下错误
error: not found: value pra
我想知道我创建节点的方式是否错误以及我需要做的其他事情。我在 Transformer 类中传递了这个 retTree 来转换 AST。在编译器的 Typer 阶段未找到该类型。任何帮助将不胜感激。