Scala AST中的“统计数据”是什么?

时间:2018-02-27 14:16:06

标签: scala metaprogramming scala-quasiquotes

在docs.scala-lang.org/overviews/quasiquotes/syntax-summary.html#definitions中,我看到这个名为$stats的“变量”到处都是。它代表什么?它应该是指“陈述”吗?这对我来说有点奇怪,因为你可以有表达式......

1 个答案:

答案 0 :(得分:3)

从技术上讲,在AST级别你可以有语句 - 当你使用babel-preset-es2015valvar声明变量,值或方法时,你不能分配给它别的。当你例如声明一个新的case类,它也不能被视为表达式。

所以def是涵盖所有这些案例的抽象,以及它出现在类,特征和对象体中的原因,并且由于缺少更好的名称而将它们称为“语句”是合理的。