File tree 2 files changed +23
-1
lines changed
compiler/src/dotty/tools/dotc/core 2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -925,7 +925,7 @@ object SymDenotations {
925
925
/** The top-level class containing this denotation,
926
926
* except for a toplevel module, where its module class is returned.
927
927
*/
928
- final def topLevelClass (implicit ctx : Context ): Symbol = {
928
+ def topLevelClass (implicit ctx : Context ): Symbol = {
929
929
def topLevel (d : SymDenotation ): Symbol = {
930
930
if (d.isEffectiveRoot || (d is PackageClass ) || (d.owner is PackageClass )) d.symbol
931
931
else topLevel(d.owner)
@@ -1877,6 +1877,7 @@ object SymDenotations {
1877
1877
override def owner : Symbol = throw new AssertionError (" NoDenotation.owner" )
1878
1878
override def computeAsSeenFrom (pre : Type )(implicit ctx : Context ): SingleDenotation = this
1879
1879
override def mapInfo (f : Type => Type )(implicit ctx : Context ): SingleDenotation = this
1880
+ override def topLevelClass (implicit ctx : Context ): Symbol = symbol
1880
1881
NoSymbol .denot = this
1881
1882
validFor = Period .allInRun(NoRunId )
1882
1883
}
Original file line number Diff line number Diff line change
1
+ object App {
2
+ def main (args : Array [String ]): Unit = {
3
+ trait FooT {
4
+ type T
5
+ type Bar [A ]
6
+
7
+ def get (k : Bar [T ]): String
8
+ }
9
+ val test : FooT = new FooT {
10
+ type T = String
11
+ type Bar [A ] = J [A ]
12
+ sealed abstract class J [A ]
13
+ final case object JName extends J [T ]
14
+ final case object JInt extends J [Int ]
15
+
16
+ def get (k : J [T ]): String = k match {
17
+ case JName => " Age"
18
+ }
19
+ }
20
+ }
21
+ }
You can’t perform that action at this time.
0 commit comments