File tree 3 files changed +21
-4
lines changed
compiler/src/dotty/tools/dotc/core 3 files changed +21
-4
lines changed Original file line number Diff line number Diff line change @@ -405,8 +405,21 @@ class Definitions {
405
405
// We load SeqType from the alias in scala package object
406
406
// - in 2.12: scala.collection.Seq
407
407
// - in 2.13: scala.collection.immutable.Seq
408
- val alias = ctx.base.staticRef(" scala.Seq" .toTypeName).requiredSymbol(_.isAliasType)
409
- alias.info.classSymbol.typeRef
408
+
409
+ // force to avoid cycles
410
+ // ctx.requiredClassRef("scala.collection.Seq").symbol.ensureCompleted()
411
+ // ctx.requiredClassRef("scala.collection.immutable.Seq").symbol.ensureCompleted()
412
+
413
+ // // Using type Seq[+A] = ...
414
+ // val alias = ctx.base.staticRef("scala.Seq".toTypeName).requiredSymbol(_.isAliasType)
415
+ // alias.info.classSymbol.typeRef
416
+
417
+ // Using val Seq = ...
418
+ val scalaSeq = ctx.base.staticRef(" scala.Seq" .toTermName)
419
+ val seqName = scalaSeq.info.resultType.termSymbol.fullName
420
+ ctx.requiredClassRef(seqName.toTypeName)
421
+
422
+ // ctx.requiredClassRef("scala.collection.Seq")
410
423
}
411
424
412
425
def SeqClass (implicit ctx : Context ) = SeqType .symbol.asClass
Original file line number Diff line number Diff line change 1
1
package object scala {
2
2
type Throwable = java.lang.Throwable // needed for some reasons
3
3
4
- type Seq [+ A ] = scala.Seq [A ]
4
+ type Seq [+ A ] = scala.collection.Seq [A ]
5
+ val Seq = scala.collection.Seq
5
6
}
Original file line number Diff line number Diff line change 1
1
package scala
2
2
3
- trait Seq [@ specialized(1 , 2 ) A ]
3
+ package collection {
4
+ trait Seq [@ specialized(1 , 2 ) A ]
5
+ object Seq
6
+ }
4
7
5
8
class specialized (types : Int * ) extends scala.annotation.StaticAnnotation
You can’t perform that action at this time.
0 commit comments