File tree Expand file tree Collapse file tree 4 files changed +24
-5
lines changed
compiler/src/dotty/tools/dotc/core
tests/pos/java-inherited-type1 Expand file tree Collapse file tree 4 files changed +24
-5
lines changed Original file line number Diff line number Diff line change @@ -54,10 +54,10 @@ object ContextOps:
5454 // can be referenced from an ident in a subclass or by a selection prefixed by the subclass.
5555 val toSearch = if (preSym.is(Flags .Module )) then
5656 if preSym.companionClass.exists then
57- preSym.companionClass.asClass.nonSelfBaseClasses
57+ preSym.companionClass.asClass.baseClasses
5858 else Nil
5959 else
60- preSym.asClass.nonSelfBaseClasses
60+ preSym.asClass.baseClasses
6161
6262 toSearch.iterator.map { bc =>
6363 val pre1 = bc.thisType
Original file line number Diff line number Diff line change @@ -1866,9 +1866,6 @@ object SymDenotations {
18661866 def baseClasses (implicit onBehalf : BaseData , ctx : Context ): List [ClassSymbol ] =
18671867 baseData._1
18681868
1869- def nonSelfBaseClasses (implicit onBehalf : BaseData , ctx : Context ): List [ClassSymbol ] =
1870- baseClasses.tail
1871-
18721869 /** Like `baseClasses.length` but more efficient. */
18731870 def baseClassesLength (using BaseData , Context ): Int =
18741871 // `+ 1` because the baseClassSet does not include the current class unlike baseClasses
Original file line number Diff line number Diff line change @@ -5,4 +5,9 @@ object Test {
55 j.ident1(null );
66 j.select(null );
77 j.select1(null );
8+
9+ val message : TestMessage = null
10+ val builder : TestMessage .Builder = message.toBuilder
11+ builder.setName(" name" )
12+
813}
Original file line number Diff line number Diff line change 1+ abstract class AbstractMessage {
2+ public static abstract class Builder <BuilderType extends Builder <BuilderType >> {
3+ }
4+ }
5+
6+ class TestMessage extends AbstractMessage {
7+
8+ public Builder toBuilder () {
9+ return null ;
10+ }
11+
12+ public static class Builder extends AbstractMessage .Builder <Builder > {
13+ public Builder setName (String name ) {
14+ return this ;
15+ }
16+ }
17+ }
You can’t perform that action at this time.
0 commit comments