@@ -39,7 +39,6 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
3939 import DottyBackendInterface .symExtensions
4040 import bTypes ._
4141 import coreBTypes ._
42- import BCodeBodyBuilder ._
4342
4443 protected val primitives : DottyPrimitives
4544
@@ -359,7 +358,7 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
359358 // but I was able to derrive it by reading
360359 // AbstractValidatingLambdaMetafactory.validateMetafactoryArgs
361360
362- val DesugaredSelect (prefix, _) = fun
361+ val DesugaredSelect (prefix, _) = fun : @ unchecked
363362 genLoad(prefix)
364363 }
365364
@@ -431,7 +430,7 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
431430 if (value.tag != UnitTag ) (value.tag, expectedType) match {
432431 case (IntTag , LONG ) => bc.lconst(value.longValue); generatedType = LONG
433432 case (FloatTag , DOUBLE ) => bc.dconst(value.doubleValue); generatedType = DOUBLE
434- case (NullTag , _ ) => bc.emit(asm.Opcodes .ACONST_NULL ); generatedType = RT_NULL
433+ case (NullTag , _ ) => bc.emit(asm.Opcodes .ACONST_NULL ); generatedType = srNullRef
435434 case _ => genConstant(value); generatedType = tpeTK(tree)
436435 }
437436
@@ -490,7 +489,7 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
490489 val thrownType = expectedType
491490 // `throw null` is valid although scala.Null (as defined in src/libray-aux) isn't a subtype of Throwable.
492491 // Similarly for scala.Nothing (again, as defined in src/libray-aux).
493- assert(thrownType.isNullType || thrownType.isNothingType || thrownType.asClassBType.isSubtypeOf(ThrowableReference ))
492+ assert(thrownType.isNullType || thrownType.isNothingType || thrownType.asClassBType.isSubtypeOf(jlThrowableRef ))
494493 emit(asm.Opcodes .ATHROW )
495494 end genAdaptAndSendToDest
496495
@@ -674,8 +673,8 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
674673 else if (l.isPrimitive) {
675674 bc drop l
676675 if (cast) {
677- mnode.visitTypeInsn(asm.Opcodes .NEW , classCastExceptionReference .internalName)
678- bc dup ObjectReference
676+ mnode.visitTypeInsn(asm.Opcodes .NEW , jlClassCastExceptionRef .internalName)
677+ bc dup ObjectRef
679678 emit(asm.Opcodes .ATHROW )
680679 } else {
681680 bc boolconst false
@@ -725,7 +724,7 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
725724 lineNumber(app)
726725 app match {
727726 case Apply (_, args) if app.symbol eq defn.newArrayMethod =>
728- val List (elemClaz, Literal (c : Constant ), ArrayValue (_, dims)) = args
727+ val List (elemClaz, Literal (c : Constant ), ArrayValue (_, dims)) = args : @ unchecked
729728
730729 generatedType = toTypeKind(c.typeValue)
731730 mkArrayConstructorCall(generatedType.asArrayBType, app, dims)
@@ -777,15 +776,15 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
777776 val nativeKind = tpeTK(expr)
778777 genLoad(expr, nativeKind)
779778 val MethodNameAndType (mname, methodType) = asmBoxTo(nativeKind)
780- bc.invokestatic(BoxesRunTime .internalName, mname, methodType.descriptor, itf = false )
779+ bc.invokestatic(srBoxesRuntimeRef .internalName, mname, methodType.descriptor, itf = false )
781780 generatedType = boxResultType(fun.symbol) // was toTypeKind(fun.symbol.tpe.resultType)
782781
783782 case Apply (fun, List (expr)) if Erasure .Boxing .isUnbox(fun.symbol) && fun.symbol.denot.owner != defn.UnitModuleClass =>
784783 genLoad(expr)
785784 val boxType = unboxResultType(fun.symbol) // was toTypeKind(fun.symbol.owner.linkedClassOfClass.tpe)
786785 generatedType = boxType
787786 val MethodNameAndType (mname, methodType) = asmUnboxTo(boxType)
788- bc.invokestatic(BoxesRunTime .internalName, mname, methodType.descriptor, itf = false )
787+ bc.invokestatic(srBoxesRuntimeRef .internalName, mname, methodType.descriptor, itf = false )
789788
790789 case app @ Apply (fun, args) =>
791790 val sym = fun.symbol
@@ -802,7 +801,7 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
802801 if (invokeStyle.hasInstance) genLoadQualifier(fun)
803802 genLoadArguments(args, paramTKs(app))
804803
805- val DesugaredSelect (qual, name) = fun // fun is a Select, also checked in genLoadQualifier
804+ val DesugaredSelect (qual, name) = fun : @ unchecked // fun is a Select, also checked in genLoadQualifier
806805 val isArrayClone = name == nme.clone_ && qual.tpe.widen.isInstanceOf [JavaArrayType ]
807806 if (isArrayClone) {
808807 // Special-case Array.clone, introduced in 36ef60e. The goal is to generate this call
@@ -845,7 +844,7 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
845844 } // end of genApply()
846845
847846 private def genArrayValue (av : tpd.JavaSeqLiteral ): BType = {
848- val ArrayValue (tpt, elems) = av
847+ val ArrayValue (tpt, elems) = av : @ unchecked
849848
850849 lineNumber(av)
851850 genArray(elems, tpt)
@@ -1237,7 +1236,7 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
12371236 liftStringConcat(tree) match {
12381237 // Optimization for expressions of the form "" + x
12391238 case List (Literal (Constant (" " )), arg) =>
1240- genLoad(arg, ObjectReference )
1239+ genLoad(arg, ObjectRef )
12411240 genCallMethod(defn.String_valueOf_Object , InvokeStyle .Static )
12421241
12431242 case concatenations =>
@@ -1409,7 +1408,7 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
14091408
14101409 /* Generate the scala ## method. */
14111410 def genScalaHash (tree : Tree ): BType = {
1412- genLoad(tree, ObjectReference )
1411+ genLoad(tree, ObjectRef )
14131412 genCallMethod(NoSymbol , InvokeStyle .Static ) // used to dispatch ## on primitives to ScalaRuntime.hash. Should be implemented by a miniphase
14141413 }
14151414
@@ -1508,8 +1507,8 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
15081507 val nonNullSide = if (ScalaPrimitivesOps .isReferenceEqualityOp(code)) ifOneIsNull(l, r) else null
15091508 if (nonNullSide != null ) {
15101509 // special-case reference (in)equality test for null (null eq x, x eq null)
1511- genLoad(nonNullSide, ObjectReference )
1512- genCZJUMP(success, failure, op, ObjectReference , targetIfNoJump)
1510+ genLoad(nonNullSide, ObjectRef )
1511+ genCZJUMP(success, failure, op, ObjectRef , targetIfNoJump)
15131512 } else {
15141513 val tk = tpeTK(l).maxType(tpeTK(r))
15151514 genLoad(l, tk)
@@ -1530,7 +1529,7 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
15301529 import ScalaPrimitivesOps .{ ZNOT , ZAND , ZOR , EQ }
15311530
15321531 // lhs and rhs of test
1533- lazy val DesugaredSelect (lhs, _) = fun
1532+ lazy val DesugaredSelect (lhs, _) = fun : @ unchecked
15341533 val rhs = if (args.isEmpty) tpd.EmptyTree else args.head // args.isEmpty only for ZNOT
15351534
15361535 def genZandOrZor (and : Boolean ): Unit = {
@@ -1627,42 +1626,42 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
16271626 } else defn.BoxesRunTimeModule_externalEquals
16281627 }
16291628
1630- genLoad(l, ObjectReference )
1631- genLoad(r, ObjectReference )
1629+ genLoad(l, ObjectRef )
1630+ genLoad(r, ObjectRef )
16321631 genCallMethod(equalsMethod, InvokeStyle .Static )
16331632 genCZJUMP(success, failure, Primitives .NE , BOOL , targetIfNoJump)
16341633 }
16351634 else {
16361635 if (isNull(l)) {
16371636 // null == expr -> expr eq null
1638- genLoad(r, ObjectReference )
1639- genCZJUMP(success, failure, Primitives .EQ , ObjectReference , targetIfNoJump)
1637+ genLoad(r, ObjectRef )
1638+ genCZJUMP(success, failure, Primitives .EQ , ObjectRef , targetIfNoJump)
16401639 } else if (isNull(r)) {
16411640 // expr == null -> expr eq null
1642- genLoad(l, ObjectReference )
1643- genCZJUMP(success, failure, Primitives .EQ , ObjectReference , targetIfNoJump)
1641+ genLoad(l, ObjectRef )
1642+ genCZJUMP(success, failure, Primitives .EQ , ObjectRef , targetIfNoJump)
16441643 } else if (isNonNullExpr(l)) {
16451644 // SI-7852 Avoid null check if L is statically non-null.
1646- genLoad(l, ObjectReference )
1647- genLoad(r, ObjectReference )
1645+ genLoad(l, ObjectRef )
1646+ genLoad(r, ObjectRef )
16481647 genCallMethod(defn.Any_equals , InvokeStyle .Virtual )
16491648 genCZJUMP(success, failure, Primitives .NE , BOOL , targetIfNoJump)
16501649 } else {
16511650 // l == r -> if (l eq null) r eq null else l.equals(r)
1652- val eqEqTempLocal = locals.makeLocal(ObjectReference , nme.EQEQ_LOCAL_VAR .mangledString, defn.ObjectType , r.span)
1651+ val eqEqTempLocal = locals.makeLocal(ObjectRef , nme.EQEQ_LOCAL_VAR .mangledString, defn.ObjectType , r.span)
16531652 val lNull = new asm.Label
16541653 val lNonNull = new asm.Label
16551654
1656- genLoad(l, ObjectReference )
1657- genLoad(r, ObjectReference )
1655+ genLoad(l, ObjectRef )
1656+ genLoad(r, ObjectRef )
16581657 locals.store(eqEqTempLocal)
1659- bc dup ObjectReference
1660- genCZJUMP(lNull, lNonNull, Primitives .EQ , ObjectReference , targetIfNoJump = lNull)
1658+ bc dup ObjectRef
1659+ genCZJUMP(lNull, lNonNull, Primitives .EQ , ObjectRef , targetIfNoJump = lNull)
16611660
16621661 markProgramPoint(lNull)
1663- bc drop ObjectReference
1662+ bc drop ObjectRef
16641663 locals.load(eqEqTempLocal)
1665- genCZJUMP(success, failure, Primitives .EQ , ObjectReference , targetIfNoJump = lNonNull)
1664+ genCZJUMP(success, failure, Primitives .EQ , ObjectRef , targetIfNoJump = lNonNull)
16661665
16671666 markProgramPoint(lNonNull)
16681667 locals.load(eqEqTempLocal)
@@ -1753,9 +1752,9 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
17531752
17541753 val metafactory =
17551754 if (flags != 0 )
1756- lambdaMetaFactoryAltMetafactoryHandle // altMetafactory required to be able to pass the flags and additional arguments if needed
1755+ jliLambdaMetaFactoryAltMetafactoryHandle // altMetafactory required to be able to pass the flags and additional arguments if needed
17571756 else
1758- lambdaMetaFactoryMetafactoryHandle
1757+ jliLambdaMetaFactoryMetafactoryHandle
17591758
17601759 bc.jmethod.visitInvokeDynamicInsn(methodName, desc, metafactory, bsmArgs : _* )
17611760
@@ -1772,27 +1771,5 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
17721771 private def isEmittedInterface (sym : Symbol ): Boolean = sym.isInterface ||
17731772 sym.is(JavaDefined ) && (toDenot(sym).isAnnotation || sym.is(ModuleClass ) && (sym.companionClass.is(PureInterface )) || sym.companionClass.is(Trait ))
17741773
1775- }
17761774
1777- object BCodeBodyBuilder {
1778- val lambdaMetaFactoryMetafactoryHandle = new Handle (
1779- Opcodes .H_INVOKESTATIC ,
1780- " java/lang/invoke/LambdaMetafactory" ,
1781- " metafactory" ,
1782- " (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;" ,
1783- /* itf = */ false )
1784-
1785- val lambdaMetaFactoryAltMetafactoryHandle = new Handle (
1786- Opcodes .H_INVOKESTATIC ,
1787- " java/lang/invoke/LambdaMetafactory" ,
1788- " altMetafactory" ,
1789- " (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;" ,
1790- /* itf = */ false )
1791-
1792- val lambdaDeserializeBootstrapHandle = new Handle (
1793- Opcodes .H_INVOKESTATIC ,
1794- " scala/runtime/LambdaDeserialize" ,
1795- " bootstrap" ,
1796- " (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;" ,
1797- /* itf = */ false )
17981775}
0 commit comments