私たちのコードは、次のメッセージで Scala コンパイラを強制終了しています。
[error] how can getCommonSuperclass() do its job if different class symbols
get the same bytecode-level internal name: scala/Tuple2$mcJD$sp
それを理解するために、私はあるべき姿を理解しようとしてTuple2$mcJD$sp
います。のために生成されたクラス(Long, Double)
ですか?これはどこかに文書化されていますか?ありがとう!
これまでに見つけたいくつかの手がかり:
- 型の略語はClass.getNameに記載されているものと一致すると思います。
- 名前はSpecializeTypes.specializedNameで生成されます。コードによると、フォーマットは
m<abbreviated method specialization types>c<abbreviated class specialization types>$sp
.
おそらく、コンパイラの内部的なものと見なされ、どこにも文書化されていません。