是#39;我无法从scala AT调用类。这些课程没有找到

时间:2014-04-21 17:10:21

标签: scala scala-2.10 scala-compiler

我想知道如何创建节点,以便它们在代码中实例化类。目前,如果我修改代码,它将无法识别节点。

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阶段中找不到该类型。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

Ident("pra")更改为Ident(newTypeName("pra"))