@@ -241,7 +241,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
241
241
242
242
def elementType = enteringTyper {
243
243
val arrayParent = tpe :: tpe.parents collectFirst {
244
- case dotc.core.Types .TypeRef (_, ArrayClass , elem :: Nil ) => elem
244
+ case dotc.core.Types .TypeRef (_, ctx.definitions. ArrayClass , elem :: Nil ) => elem
245
245
}
246
246
arrayParent getOrElse sys.error(fun.fullName + " : " + (tpe :: tpe.baseTypeSeq.toList).mkString(" , " ))
247
247
}
@@ -353,7 +353,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
353
353
case lblDf : LabelDef => genLabelDef(lblDf, expectedType)
354
354
355
355
case ValDef (_, nme.THIS , _, _) =>
356
- debuglog(" skipping trivial assign to _$this: " + tree)
356
+ ctx. debuglog(" skipping trivial assign to _$this: " + tree)
357
357
358
358
case ValDef (_, _, _, rhs) =>
359
359
val sym = tree.symbol
@@ -400,7 +400,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
400
400
else {
401
401
mnode.visitVarInsn(asm.Opcodes .ALOAD , 0 )
402
402
generatedType =
403
- if (tree.symbol == ArrayClass ) ObjectReference
403
+ if (tree.symbol == ctx.definitions. ArrayClass ) ObjectReference
404
404
else brefType(thisName) // inner class (if any) for claszSymbol already tracked.
405
405
}
406
406
@@ -412,7 +412,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
412
412
val sym = tree.symbol
413
413
generatedType = symInfoTK(sym)
414
414
val hostClass = findHostClass(qualifier.tpe, sym)
415
- debuglog(s " Host class of $sym with qual $qualifier ( ${qualifier.tpe}) is $hostClass" )
415
+ ctx. debuglog(s " Host class of $sym with qual $qualifier ( ${qualifier.tpe}) is $hostClass" )
416
416
val qualSafeToElide = treeInfo isQualifierSafeToElide qualifier
417
417
418
418
def genLoadQualUnlessElidable (): Unit = { if (! qualSafeToElide) { genLoadQualifier(tree) } }
@@ -440,11 +440,12 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
440
440
}
441
441
442
442
case Literal (value) =>
443
+ import core .Constants ._
443
444
if (value.tag != UnitTag ) (value.tag, expectedType) match {
444
- case (dotc.core. Constants . IntTag , LONG ) => bc.lconst(value.longValue); generatedType = LONG
445
- case (dotc.core. Constants . FloatTag , DOUBLE ) => bc.dconst(value.doubleValue); generatedType = DOUBLE
446
- case (dotc.core. Constants . NullTag , _ ) => bc.emit(asm.Opcodes .ACONST_NULL ); generatedType = RT_NULL
447
- case _ => genConstant(value); generatedType = tpeTK(tree)
445
+ case (IntTag , LONG ) => bc.lconst(value.longValue); generatedType = LONG
446
+ case (FloatTag , DOUBLE ) => bc.dconst(value.doubleValue); generatedType = DOUBLE
447
+ case (NullTag , _ ) => bc.emit(asm.Opcodes .ACONST_NULL ); generatedType = RT_NULL
448
+ case _ => genConstant(value); generatedType = tpeTK(tree)
448
449
}
449
450
450
451
case blck : Block => genBlock(blck, expectedType)
@@ -517,7 +518,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
517
518
*/
518
519
def genConstant (const : Constant ): Unit = {
519
520
520
- import dotc . core .Constants ._
521
+ import core .Constants ._
521
522
522
523
(const.tag: @ switch) match {
523
524
@@ -587,7 +588,10 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
587
588
case nextCleanup :: rest =>
588
589
if (saveReturnValue) {
589
590
if (insideCleanupBlock) {
590
- cunit.warning(r.pos, " Return statement found in finally-clause, discarding its return-value in favor of that of a more deeply nested return." )
591
+ ctx.warning(
592
+ " Return statement found in finally-clause, discarding its return-value in favor of that of a more deeply nested return." ,
593
+ core.Decorators .sourcePos(r.pos)
594
+ )
591
595
bc drop returnType
592
596
} else {
593
597
// regarding return value, the protocol is: in place of a `return-stmt`, a sequence of `adapt, store, jump` are inserted.
@@ -611,11 +615,10 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
611
615
case Apply (TypeApply (fun, targs), _) =>
612
616
613
617
val sym = fun.symbol
614
- val cast = sym match {
615
- case Object_isInstanceOf => false
616
- case Object_asInstanceOf => true
617
- case _ => abort(s " Unexpected type application $fun[sym: ${sym.fullName}] in: $app" )
618
- }
618
+ val cast =
619
+ if (sym == ctx.definitions.Object_isInstanceOf ) false
620
+ else if (sym == ctx.definitions.Object_asInstanceOf ) true
621
+ else abort(s " Unexpected type application $fun[sym: ${sym.fullName}] in: $app" )
619
622
620
623
val Select (obj, _) = fun
621
624
val l = tpeTK(obj)
@@ -753,7 +756,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
753
756
fun match {
754
757
case Select (qual, _) =>
755
758
val qualSym = findHostClass(qual.tpe, sym)
756
- if (qualSym == ArrayClass ) {
759
+ if (qualSym == ctx.definitions. ArrayClass ) {
757
760
targetTypeKind = tpeTK(qual)
758
761
ctx.log(s " Stored target type kind for ${sym.fullName} as $targetTypeKind" )
759
762
}
@@ -766,7 +769,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
766
769
767
770
case _ =>
768
771
}
769
- if ((targetTypeKind != null ) && (sym == definitions.Array_clone ) && invokeStyle.isDynamic) {
772
+ if ((targetTypeKind != null ) && (sym == ctx. definitions.Array_clone ) && invokeStyle.isDynamic) {
770
773
val target : String = targetTypeKind.getInternalName
771
774
bc.invokevirtual(target, " clone" , " ()Ljava/lang/Object;" )
772
775
}
@@ -910,7 +913,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
910
913
}
911
914
912
915
/* Generate code that loads args into label parameters. */
913
- def genLoadLabelArguments (args : List [Tree ], lblDef : LabelDef , gotoPos : dotc. util.Positions .Position ): Unit = {
916
+ def genLoadLabelArguments (args : List [Tree ], lblDef : LabelDef , gotoPos : util.Positions .Position ): Unit = {
914
917
915
918
val aps = {
916
919
val params : List [Symbol ] = lblDef.params.map(_.symbol)
@@ -1024,7 +1027,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
1024
1027
def genCallMethod (method : Symbol ,
1025
1028
style : InvokeStyle ,
1026
1029
hostClass0 : Symbol = null ,
1027
- pos : dotc. util.Positions .Position = dotc. util.Positions .NoPosition ) {
1030
+ pos : util.Positions .Position = util.Positions .NoPosition ) {
1028
1031
1029
1032
val siteSymbol = claszSymbol
1030
1033
val hostSymbol = if (hostClass0 == null ) method.owner else hostClass0;
@@ -1307,7 +1310,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
1307
1310
1308
1311
markProgramPoint(lNonNull)
1309
1312
locals.load(eqEqTempLocal)
1310
- genCallMethod(Object_equals , icodes.opcodes.Dynamic )
1313
+ genCallMethod(ctx.definitions. Object_equals , icodes.opcodes.Dynamic )
1311
1314
genCZJUMP(success, failure, icodes.NE , BOOL )
1312
1315
}
1313
1316
}
0 commit comments