生成的构造函数AST类型

时间:2015-08-20 08:54:00

标签: scala types abstract-syntax-tree

如果您使用-Xprint:typer标记运行SBT或REPL,并为其提供基本内容,例如object treesclass trees,则可能会获得此输出:

package <empty> {
  class trees extends scala.AnyRef {
    def <init>(): trees = {
      trees.super.<init>();
      ()
    }
  }
}

如果object返回类型为trees.type,但有趣的是结果的类型,Unit(),即:< / p>

def <init>(): trees = { // <- expect type trees
  trees.super.<init>();
  () // <- Should be of type Unit
}

显然,如果它是由编译器本身生成并且正常工作,那么它为什么以及如何工作呢?

0 个答案:

没有答案