Scala在哪里存储无法用Java表示的信息?

时间:2013-05-09 07:45:26

标签: scala bytecode

有些构造在java中没有等价物。例子是

  • 命名参数
  • 实例私人成员

Scala在哪里/如何存储这些东西所需的信息(第一种情况下的某种标志,第二种情况下的参数名称?

如果我做得对,这必须存储在字节代码中,因为即使我只有一个没有源代码的编译库也可以工作!?

1 个答案:

答案 0 :(得分:8)

此信息在类文件中名为ScalaSig的注释中捕获(有关示例,请参阅this answer)。

您可以使用内部API javap -verboseparse it查看(不是非常人性化的)注释,但通常neither should be necessary