@@ -1064,21 +1064,20 @@ abstract class Erasure extends InfoTransform
1064
1064
}
1065
1065
else if (args.isEmpty && interceptedMethods(fn.symbol)) {
1066
1066
if (poundPoundMethods.contains(fn.symbol)) {
1067
- val qual1 = preErase(qual)
1068
1067
// This is unattractive, but without it we crash here on ().## because after
1069
1068
// erasure the ScalaRunTime.hash overload goes from Unit => Int to BoxedUnit => Int.
1070
1069
// This must be because some earlier transformation is being skipped on ##, but so
1071
1070
// far I don't know what. For null we now define null.## == 0.
1072
1071
def staticsCall (methodName : TermName ): Tree = {
1073
- val newTree = gen.mkMethodCall(RuntimeStaticsModule , methodName, qual1 :: Nil )
1072
+ val newTree = gen.mkMethodCall(RuntimeStaticsModule , methodName, qual :: Nil )
1074
1073
global.typer.typed(newTree)
1075
1074
}
1076
1075
1077
- qual1 .tpe.typeSymbol match {
1078
- case UnitClass | NullClass => BLOCK (qual1, LIT (0 ) )
1079
- case IntClass => qual1
1080
- case s @ (ShortClass | ByteClass | CharClass ) => numericConversion(qual1 , s)
1081
- case BooleanClass => If (qual1 , LIT (true .## ), LIT (false .## ))
1076
+ qual .tpe.typeSymbol match {
1077
+ case UnitClass | NullClass => LIT (0 )
1078
+ case IntClass => qual
1079
+ case s @ (ShortClass | ByteClass | CharClass ) => numericConversion(qual , s)
1080
+ case BooleanClass => If (qual , LIT (true .## ), LIT (false .## ))
1082
1081
case LongClass => staticsCall(nme.longHash)
1083
1082
case FloatClass => staticsCall(nme.floatHash)
1084
1083
case DoubleClass => staticsCall(nme.doubleHash)
0 commit comments