- Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Description
Compiler version
3.4.0
Minimized code
Semanticdb does not include occurences in lifted args.
It can affect also other scenarios, but this one is a nice minimisation.
object T: def enrichedCompilerCompletions() = val compilerCompletions: Seq[String] = ??? compilerCompletions .toList .filterInteresting() extension (l: List[String]) def filterInteresting(qualType: String = ""): List[String] = ???
Output
[[syntax trees at end of typer]] package <empty>#106 { final lazy module val T: T#123 = new T#123#124#125()#126#127 final module class T() extends Object#181#186#187()#188 { this: T#128.type#129 => def enrichedCompilerCompletions(): List[String]#386 = { val compilerCompletions: Seq#37[String#42]#44 = ???#48#51 { val l$1: List[String]#350 = compilerCompletions#52.toList#54#352 T.filterInteresting#344(l$1#353)#355( this#357.filterInteresting$default$2#358(l$1#353)#359)#367 }#368 }#370 #388 extension (l: List#64[String#69]#71#76) def filterInteresting( qualType: String#79#150): List#87[String#92]#94 = ???#98#152 def filterInteresting$default$2(l: List#64[String#69]#71#360): String @uncheckedVariance#365 = ""#83#389 }#393 }#394
With semanticdb:
Test.scala ---------- Summary: Schema => SemanticDB v4 Uri => Test.scala Text => empty Language => Scala Symbols => 9 entries Occurrences => 17 entries Symbols: _empty_/T. => final object T extends Object { self: T.type => +4 decls } _empty_/T.enrichedCompilerCompletions(). => method enrichedCompilerCompletions(): List[String] _empty_/T.filterInteresting$default$2(). => method filterInteresting$default$2(l: List[String]): String @uncheckedVariance _empty_/T.filterInteresting$default$2().(l) => param l: List[String] _empty_/T.filterInteresting(). => method filterInteresting(l: List[String])(qualType: String): List[String] _empty_/T.filterInteresting().(l) => param l: List[String] _empty_/T.filterInteresting().(qualType) => param qualType: String local0 => val local compilerCompletions: Seq[String] local1 => val local l$1: List[String] Occurrences: [3:7..3:8) <= _empty_/T. [4:6..4:33) <= _empty_/T.enrichedCompilerCompletions(). [5:8..5:27) <= local0 [5:29..5:32) => scala/package.Seq# [5:33..5:39) => scala/Predef.String# [5:43..5:46) => scala/Predef.`???`(). [9:7..9:24) => _empty_/T.filterInteresting(). [11:13..11:14) <= _empty_/T.filterInteresting$default$2().(l) [11:13..11:14) <= _empty_/T.filterInteresting().(l) [11:16..11:20) => scala/package.List# [11:21..11:27) => scala/Predef.String# [12:8..12:25) <= _empty_/T.filterInteresting(). [12:26..12:34) <= _empty_/T.filterInteresting().(qualType) [12:36..12:42) => scala/Predef.String# [12:50..12:54) => scala/package.List# [12:55..12:61) => scala/Predef.String# [12:65..12:68) => scala/Predef.`???`().
Expectation
Semanticdb should properly find occurences for val l$1: List[String]#350 = compilerCompletions#52.toList#54#352
after lifting.