Our code is killing the Scala compiler with this message:
[error] how can getCommonSuperclass() do its job if different class symbols
get the same bytecode-level internal name: scala/Tuple2$mcJD$sp
To figure it out I'm trying to understand what Tuple2$mcJD$sp
is supposed to be. Is it the class generated for (Long, Double)
? Is this documented somewhere? Thanks!
Some clues I have found so far:
- I think the type abbreviations match those documented in Class.getName.
- The name is generated in SpecializeTypes.specializedName. According to the code, the format is
m<abbreviated method specialization types>c<abbreviated class specialization types>$sp
.
Maybe it's considered a compiler internal thing and not documented anywhere.