Closed tanishiking closed 2 years ago
Originally reported https://github.com/scalameta/metals/issues/4246
3.1.3
package exampleNew trait Foo { def foo: String } object Foo { lazy val make: Foo = new Foo { override lazy val foo: String = "foo" } }
package exampleNew trait Foo/*<-exampleNew::Foo#*/ { def foo/*<-exampleNew::Foo#foo().*/: String/*->scala::Predef.String#*/ } object Foo/*<-exampleNew::Foo.*/ { lazy val make/*<-exampleNew::Foo.make.*/: Foo/*->exampleNew::Foo#*/ = new Foo/*->exampleNew::Foo#*/ { override lazy val foo/*<-local0*/: String/*->scala::Predef.String#*/ = "foo" } }
package exampleNew trait Foo/*<=exampleNew.Foo#*/ { def foo/*<=exampleNew.Foo#foo().*/: String/*=>scala.Predef.String#*/ } object Foo/*<=exampleNew.Foo.*/ { lazy val make/*<=exampleNew.Foo.make.*/: Foo/*=>exampleNew.Foo#*/ = new /*<=local0*/Foo/*=>exampleNew.Foo#*/ /*=>java.lang.Object#`<init>`().*/{ override lazy val foo/*<=local1*/: String/*=>scala.Predef.String#*/ = "foo" } }
Symbols: ... local0 => final class $anon extends AnyRef with Foo { +1 decls } AnyRef => scala/AnyRef# Foo => exampleNew/Foo# local1 => lazy val method foo: String <: exampleNew/Foo#foo(). String => scala/Predef.String#
I'm working on it :)
Originally reported https://github.com/scalameta/metals/issues/4246
Compiler version
3.1.3
Minimized code
Output
Expectation