File tree 2 files changed +34
-2
lines changed
compiler/src/dotty/tools/dotc/transform
2 files changed +34
-2
lines changed Original file line number Diff line number Diff line change @@ -109,8 +109,8 @@ object ResolveSuper {
109
109
sym = other.symbol
110
110
// Having a matching denotation is not enough: it should also be a subtype
111
111
// of the superaccessor's type, see i5433.scala for an example where this matters
112
- val otherTp = other.asSeenFrom(base.typeRef ).info
113
- val accTp = acc.asSeenFrom(base.typeRef ).info
112
+ val otherTp = other.asSeenFrom(base.thisType ).info
113
+ val accTp = acc.asSeenFrom(base.thisType ).info
114
114
// Since the super class can be Java defined,
115
115
// we use relaxed overriding check for explicit nulls if one of the symbols is Java defined.
116
116
// This forces `Null` to be a subtype of non-primitive value types during override checking.
Original file line number Diff line number Diff line change
1
+ class Label
2
+ class Component
3
+
4
+ trait RenderableCellsCompanion :
5
+ type Renderer [- A ] <: CellRenderer [A ]
6
+ type DefaultRenderer [- A ] <: Label & Renderer [A ]
7
+
8
+ trait CellRendererCompanion :
9
+ type CellInfo
10
+ def labeled [A ](): DefaultRenderer [A ]
11
+ protected trait LabelRenderer [- A ] extends CellRenderer [A ]:
12
+ override abstract def componentFor (info : companion.CellInfo ): Component = super .componentFor(info)
13
+
14
+ trait CellRenderer [- A ]:
15
+ val companion : CellRendererCompanion
16
+ def componentFor (cellInfo : companion.CellInfo ): Component
17
+
18
+ sealed trait TreeRenderers extends RenderableCellsCompanion :
19
+ this : Tree .type =>
20
+
21
+ trait Renderer [- A ] extends CellRenderer [A ]:
22
+ final override val companion = Renderer
23
+
24
+ object Renderer extends CellRendererCompanion :
25
+ final override class CellInfo
26
+ override def labeled [A ]() = new DefaultRenderer [A ] with LabelRenderer [A ] {}
27
+
28
+ class DefaultRenderer [- A ] extends Label with Renderer [A ]:
29
+ override def componentFor (info : Renderer .CellInfo ): Component = ???
30
+
31
+ class Tree extends Component
32
+ object Tree extends TreeRenderers
You can’t perform that action at this time.
0 commit comments