Skip to content

Commit 9375ab1

Browse files
committed
Resolve real symbol from nested refined type
1 parent be31d56 commit 9375ab1

File tree

3 files changed

+111
-107
lines changed

3 files changed

+111
-107
lines changed

compiler/src/dotty/tools/dotc/semanticdb/TypeOps.scala

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,12 @@ class TypeOps:
162162
enterRefined(expr.resType)
163163
case m: LambdaType =>
164164
enterRefined(m.resType)
165+
case AndType(t1, t2) =>
166+
enterRefined(t1)
167+
enterRefined(t2)
168+
case OrType(t1, t2) =>
169+
enterRefined(t1)
170+
enterRefined(t2)
165171
case _ => ()
166172
}
167173
if sym.exists && sym.owner.exists then

tests/semanticdb/expect/Advanced.expect.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ object Test/*<-advanced::Test.*/ {
4545

4646
// see: https://github.com/lampepfl/dotty/pull/14608#discussion_r835642563
4747
lazy val foo/*<-advanced::Test.foo.*/: (reflect.Selectable/*->scala::reflect::Selectable#*/ { type A/*<-local16*/ = Int/*->scala::Int#*/ }) &/*->scala::`&`#*/ (reflect.Selectable/*->scala::reflect::Selectable#*/ { type A/*<-local17*/ = Int/*->scala::Int#*/; val a/*<-local18*/: A/*->local17*/ }) = ???/*->scala::Predef.`???`().*/
48-
def bar/*<-advanced::Test.bar().*/: foo/*->advanced::Test.foo.*/.A/*->local19*/ = foo/*->advanced::Test.foo.*/.a
48+
def bar/*<-advanced::Test.bar().*/: foo/*->advanced::Test.foo.*/.A/*->local17*/ = foo/*->advanced::Test.foo.*/.a
4949
}
5050

5151

0 commit comments

Comments
 (0)