Scala编译器是否公开了将Scala名称转换为基础JVM名称的功能?

Bri*_*ent 2 scala

我试图从Scala名称获取底层Java名称.

例如:

scala> trait `Foo~`
defined trait Foo$tilde

scala> magicTranslatorMethod("Foo~")
res0: String = Foo$tilde
Run Code Online (Sandbox Code Playgroud)

这个功能是在Scala编译器/反射/公共API的某个地方公开的吗?

kir*_*uku 5

scala> reflect.NameTransformer.encode("Foo~")
res0: String = Foo$tilde

scala> reflect.NameTransformer.decode("Foo$tilde")
res1: String = Foo~
Run Code Online (Sandbox Code Playgroud)