Skip to content

Commit fd3b71c

Browse files
committed
Excude symbols that doesn't present in source from occurrence
1 parent 4925091 commit fd3b71c

37 files changed

+203
-602
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ class ExtractSemanticDB extends Phase:
295295
generated += occ
296296

297297
private def registerUseGuarded(qualSym: Option[Symbol], sym: Symbol, span: Span, treeSource: SourceFile)(using Context) =
298-
if !excludeUse(qualSym, sym) then
298+
if !excludeUse(qualSym, sym) && namePresentInSource(sym, span, treeSource) then
299299
registerUse(sym, span, treeSource)
300300

301301
private def registerUse(sym: Symbol, span: Span, treeSource: SourceFile)(using Context): Unit =
@@ -311,7 +311,7 @@ class ExtractSemanticDB extends Phase:
311311
else
312312
Span(span.start)
313313

314-
if sym.occursInSource then
314+
if namePresentInSource(sym, span, treeSource) then
315315
registerOccurrence(sname, finalSpan, SymbolOccurrence.Role.DEFINITION, treeSource)
316316
if !sym.is(Package) then
317317
registerSymbol(sym, symkinds)

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,6 @@ object Scala3:
176176
def isSyntheticWithIdent(using Context): Boolean =
177177
sym.is(Synthetic) && !sym.isAnonymous && !sym.name.isEmptyNumbered
178178

179-
/** Check if the symbol occurs in source code */
180-
def occursInSource(using Context): Boolean =
181-
!sym.is(Synthetic) && !sym.name.is(NameKinds.EvidenceParamName)
182-
183179
def symbolInfo(symkinds: Set[SymbolKind])(using LinkMode, TypeOps, SemanticSymbolBuilder, Context): SymbolInformation =
184180
val kind = sym.symbolKind(symkinds)
185181
val sname = sym.symbolName

tests/semanticdb/expect/Advanced.expect.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ class Wildcards/*<-advanced::Wildcards#*/ {
2424
object Test/*<-advanced::Test.*/ {
2525
val s/*<-advanced::Test.s.*/ = new Structural/*->advanced::Structural#*/
2626
val s1/*<-advanced::Test.s1.*/ = s/*->advanced::Test.s.*/.s1/*->advanced::Structural#s1().*/
27-
val s1x/*<-advanced::Test.s1x.*/ = /*->scala::reflect::Selectable.reflectiveSelectable().*/s/*->advanced::Test.s.*/.s1/*->advanced::Structural#s1().*//*->scala::reflect::Selectable#selectDynamic().*/.x
27+
val s1x/*<-advanced::Test.s1x.*/ = s/*->advanced::Test.s.*/.s1/*->advanced::Structural#s1().*/.x
2828
val s2/*<-advanced::Test.s2.*/ = s/*->advanced::Test.s.*/.s2/*->advanced::Structural#s2().*/
29-
val s2x/*<-advanced::Test.s2x.*/ = /*->scala::reflect::Selectable.reflectiveSelectable().*/s/*->advanced::Test.s.*/.s2/*->advanced::Structural#s2().*//*->scala::reflect::Selectable#selectDynamic().*/.x
29+
val s2x/*<-advanced::Test.s2x.*/ = s/*->advanced::Test.s.*/.s2/*->advanced::Structural#s2().*/.x
3030
val s3/*<-advanced::Test.s3.*/ = s/*->advanced::Test.s.*/.s3/*->advanced::Structural#s3().*/
31-
val s3x/*<-advanced::Test.s3x.*/ = /*->scala::reflect::Selectable.reflectiveSelectable().*/s/*->advanced::Test.s.*/.s3/*->advanced::Structural#s3().*//*->scala::reflect::Selectable#applyDynamic().*/.m(???/*->scala::Predef.`???`().*/)
31+
val s3x/*<-advanced::Test.s3x.*/ = s/*->advanced::Test.s.*/.s3/*->advanced::Structural#s3().*/.m(???/*->scala::Predef.`???`().*/)
3232

3333
val e/*<-advanced::Test.e.*/ = new Wildcards/*->advanced::Wildcards#*/
3434
val e1/*<-advanced::Test.e1.*/ = e/*->advanced::Test.e.*/.e1/*->advanced::Wildcards#e1().*/

tests/semanticdb/expect/Annotations.expect.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class Annotations/*<-annot::Annotations#*/[@TypeParameterAnnotation/*->com::java
2121

2222
class B/*<-annot::B#*/ @ConstructorAnnotation/*->com::javacp::annot::ConstructorAnnotation#*/()(x/*<-annot::B#x.*/: Int/*->scala::Int#*/) {
2323
@ConstructorAnnotation/*->com::javacp::annot::ConstructorAnnotation#*/
24-
def this/*<-annot::B#`<init>`(+1).*/() = this(42)
24+
def this() = this(42)
2525
}
2626

2727
@ObjectAnnotation/*->com::javacp::annot::ObjectAnnotation#*/

tests/semanticdb/expect/Classes.expect.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package classes
22
import scala.language/*->scala::language.*/.experimental/*->scala::language.experimental.*/.macros/*->scala::language.experimental.macros.*/
3-
class C1/*<-classes::C1#*/(val x1/*<-classes::C1#x1.*/: Int/*->scala::Int#*/) extends AnyVal/*->scala::AnyVal#*//*->scala::AnyVal#`<init>`().*/
3+
class C1/*<-classes::C1#*/(val x1/*<-classes::C1#x1.*/: Int/*->scala::Int#*/) extends AnyVal/*->scala::AnyVal#*/
44

5-
class C2/*<-classes::C2#*/(val x2/*<-classes::C2#x2.*/: Int/*->scala::Int#*/) extends AnyVal/*->scala::AnyVal#*//*->scala::AnyVal#`<init>`().*/
5+
class C2/*<-classes::C2#*/(val x2/*<-classes::C2#x2.*/: Int/*->scala::Int#*/) extends AnyVal/*->scala::AnyVal#*/
66
object C2/*<-classes::C2.*/
77

88
case class C3/*<-classes::C3#*/(x/*<-classes::C3#x.*/: Int/*->scala::Int#*/)
@@ -49,7 +49,7 @@ object N/*<-classes::N.*/ {
4949
val anonClass/*<-classes::N.anonClass.*/ = new C7/*->classes::C7#*/(42) {
5050
val local/*<-local0*/ = ???/*->scala::Predef.`???`().*/
5151
}
52-
val anonFun/*<-classes::N.anonFun.*/ = List/*->scala::package.List.*//*->scala::collection::IterableFactory#apply().*/(1).map/*->scala::collection::immutable::List#map().*/ { i/*<-local3*/ =>
52+
val anonFun/*<-classes::N.anonFun.*/ = List/*->scala::package.List.*/(1).map/*->scala::collection::immutable::List#map().*/ { i/*<-local3*/ =>
5353
val local/*<-local4*/ = 2
5454
local/*->local4*/ +/*->scala::Int#`+`(+4).*/ 2
5555
}

tests/semanticdb/expect/EndMarkers.expect.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package endmarkers:
22

33
class MultiCtor/*<-endmarkers::MultiCtor#*/(val i/*<-endmarkers::MultiCtor#i.*/: Int/*->scala::Int#*/):
4-
def this/*<-endmarkers::MultiCtor#`<init>`(+1).*/() =
4+
def this() =
55
this(23)
6-
end this/*->endmarkers::MultiCtor#`<init>`(+1).*/
6+
end this
77
end MultiCtor/*->endmarkers::MultiCtor#*/
88

99
def topLevelMethod/*<-endmarkers::EndMarkers$package.topLevelMethod().*/: String/*->scala::Predef.String#*/ =
@@ -21,11 +21,11 @@ package endmarkers:
2121
class Container/*<-endmarkers::Container#*/:
2222

2323
def foo/*<-endmarkers::Container#foo().*/ =
24-
(/*->scala::Tuple3.apply().*/1,2,3)
24+
(1,2,3)
2525
end foo/*->endmarkers::Container#foo().*/
2626

2727
val bar/*<-endmarkers::Container#bar.*/ =
28-
(/*->scala::Tuple3.apply().*/4,5,6)
28+
(4,5,6)
2929
end bar/*->endmarkers::Container#bar.*/
3030

3131
var baz/*<-endmarkers::Container#baz().*/ =
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package object endmarkers2/*<-endmarkers2::package.*/:
1+
package object endmarkers2:
22

33
type Foo/*<-endmarkers2::package.Foo#*/ =
44
Unit/*->scala::Unit#*/
55
end Foo/*->endmarkers2::package.Foo#*/
66

7-
end endmarkers2/*->endmarkers2::package.*/
7+
end endmarkers2

tests/semanticdb/expect/Enums.expect.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ object Enums/*<-_empty_::Enums.*/:
88
enum Directions/*<-_empty_::Enums.Directions#*/:
99
case North/*<-_empty_::Enums.Directions.North.*/, East/*<-_empty_::Enums.Directions.East.*/, South/*<-_empty_::Enums.Directions.South.*/, West/*<-_empty_::Enums.Directions.West.*/
1010

11-
enum Suits/*<-_empty_::Enums.Suits#*/ derives /*->scala::CanEqual.derived.*/CanEqual:
11+
enum Suits/*<-_empty_::Enums.Suits#*/ derives CanEqual:
1212
case Hearts/*<-_empty_::Enums.Suits.Hearts.*/, Spades/*<-_empty_::Enums.Suits.Spades.*/, Clubs/*<-_empty_::Enums.Suits.Clubs.*/, Diamonds/*<-_empty_::Enums.Suits.Diamonds.*/
1313

1414
object Suits/*<-_empty_::Enums.Suits.*/:
@@ -47,14 +47,14 @@ object Enums/*<-_empty_::Enums.*/:
4747
case Refl/*<-_empty_::Enums.`<:<`.Refl#*/[C/*<-_empty_::Enums.`<:<`.Refl#[C]*/]() extends (C/*->_empty_::Enums.`<:<`.Refl#[C]*/ <:</*->_empty_::Enums.`<:<`#*/ C/*->_empty_::Enums.`<:<`.Refl#[C]*/)
4848

4949
object <:</*<-_empty_::Enums.`<:<`.*/ :
50-
given /*<-_empty_::Enums.`<:<`.`given_<:<_T_T`().*/[T/*<-_empty_::Enums.`<:<`.`given_<:<_T_T`().[T]*/]: (T/*->_empty_::Enums.`<:<`.`given_<:<_T_T`().[T]*/ <:</*->_empty_::Enums.`<:<`#*/ T/*->_empty_::Enums.`<:<`.`given_<:<_T_T`().[T]*/) = Refl/*->_empty_::Enums.`<:<`.Refl.*//*->_empty_::Enums.`<:<`.Refl.apply().*/()
50+
given [T/*<-_empty_::Enums.`<:<`.`given_<:<_T_T`().[T]*/]: (T/*->_empty_::Enums.`<:<`.`given_<:<_T_T`().[T]*/ <:</*->_empty_::Enums.`<:<`#*/ T/*->_empty_::Enums.`<:<`.`given_<:<_T_T`().[T]*/) = Refl/*->_empty_::Enums.`<:<`.Refl.*/()
5151

5252
extension [A/*<-_empty_::Enums.unwrap().[A]*/, B/*<-_empty_::Enums.unwrap().[B]*/](opt/*<-_empty_::Enums.unwrap().(opt)*/: Option/*->scala::Option#*/[A/*->_empty_::Enums.unwrap().[A]*/]) def unwrap/*<-_empty_::Enums.unwrap().*/(using ev/*<-_empty_::Enums.unwrap().(ev)*/: A/*->_empty_::Enums.unwrap().[A]*/ <:</*->_empty_::Enums.`<:<`#*/ Option/*->scala::Option#*/[B/*->_empty_::Enums.unwrap().[B]*/]): Option/*->scala::Option#*/[B/*->_empty_::Enums.unwrap().[B]*/] = ev/*->_empty_::Enums.unwrap().(ev)*/ match
53-
case Refl/*->_empty_::Enums.`<:<`.Refl.*//*->_empty_::Enums.`<:<`.Refl.unapply().*/() => opt/*->_empty_::Enums.unwrap().(opt)*/.flatMap/*->scala::Option#flatMap().*/(identity/*->scala::Predef.identity().*//*->local0*/[Option/*->scala::Option#*/[B/*->_empty_::Enums.unwrap().[B]*/]])
53+
case Refl/*->_empty_::Enums.`<:<`.Refl.*/() => opt/*->_empty_::Enums.unwrap().(opt)*/.flatMap/*->scala::Option#flatMap().*/(identity/*->scala::Predef.identity().*/[Option/*->scala::Option#*/[B/*->_empty_::Enums.unwrap().[B]*/]])
5454

55-
val some1/*<-_empty_::Enums.some1.*/ = Some/*->scala::Some.*//*->scala::Some.apply().*/(Some/*->scala::Some.*//*->scala::Some.apply().*/(1)).unwrap/*->_empty_::Enums.unwrap().*//*->_empty_::Enums.`<:<`.`given_<:<_T_T`().*/
55+
val some1/*<-_empty_::Enums.some1.*/ = Some/*->scala::Some.*/(Some/*->scala::Some.*/(1)).unwrap/*->_empty_::Enums.unwrap().*/
5656

57-
enum Planet/*<-_empty_::Enums.Planet#*/(mass/*<-_empty_::Enums.Planet#mass.*/: Double/*->scala::Double#*/, radius/*<-_empty_::Enums.Planet#radius.*/: Double/*->scala::Double#*/) extends Enum/*->java::lang::Enum#*/[Planet/*->_empty_::Enums.Planet#*/]/*->java::lang::Enum#`<init>`().*/:
57+
enum Planet/*<-_empty_::Enums.Planet#*/(mass/*<-_empty_::Enums.Planet#mass.*/: Double/*->scala::Double#*/, radius/*<-_empty_::Enums.Planet#radius.*/: Double/*->scala::Double#*/) extends Enum/*->java::lang::Enum#*/[Planet/*->_empty_::Enums.Planet#*/]:
5858
private final val G/*<-_empty_::Enums.Planet#G.*/ = 6.67300E-11
5959
def surfaceGravity/*<-_empty_::Enums.Planet#surfaceGravity().*/ = G/*->_empty_::Enums.Planet#G.*/ */*->scala::Double#`*`(+6).*/ mass/*->_empty_::Enums.Planet#mass.*/ //*->scala::Double#`::`(+6).*/ (radius/*->_empty_::Enums.Planet#radius.*/ */*->scala::Double#`*`(+6).*/ radius/*->_empty_::Enums.Planet#radius.*/)
6060
def surfaceWeight/*<-_empty_::Enums.Planet#surfaceWeight().*/(otherMass/*<-_empty_::Enums.Planet#surfaceWeight().(otherMass)*/: Double/*->scala::Double#*/) = otherMass/*->_empty_::Enums.Planet#surfaceWeight().(otherMass)*/ */*->scala::Double#`*`(+6).*/ surfaceGravity/*->_empty_::Enums.Planet#surfaceGravity().*/
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package example
22

33
class EtaExpansion/*<-example::EtaExpansion#*/ {
4-
Some/*->scala::Some.*//*->scala::Some.apply().*/(1).map/*->scala::Option#map().*/(identity/*->scala::Predef.identity().*//*->local0*/)
5-
List/*->scala::package.List.*//*->scala::collection::IterableFactory#apply().*/(1).foldLeft/*->scala::collection::LinearSeqOps#foldLeft().*/("")(_ +/*->java::lang::String#`+`().*/ _)
4+
Some/*->scala::Some.*/(1).map/*->scala::Option#map().*/(identity/*->scala::Predef.identity().*/)
5+
List/*->scala::package.List.*/(1).foldLeft/*->scala::collection::LinearSeqOps#foldLeft().*/("")(_ +/*->java::lang::String#`+`().*/ _)
66
}

tests/semanticdb/expect/Example.expect.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package example
33
import scala.concurrent.Future/*->scala::concurrent::Future.*//*->scala::concurrent::Future#*/
44

55
object Example/*<-example::Example.*/ { self/*<-local0*/ =>
6-
new scala.collection.mutable.Stack/*->scala::collection::mutable::Stack#*/[Int/*->scala::Int#*/]/*->scala::collection::mutable::Stack#`<init>`(+1).*/()
6+
new scala.collection.mutable.Stack/*->scala::collection::mutable::Stack#*/[Int/*->scala::Int#*/]()
77
def main/*<-example::Example.main().*/(args/*<-example::Example.main().(args)*/: Array/*->scala::Array#*/[String/*->scala::Predef.String#*/]): Unit/*->scala::Unit#*/ = {
88
println/*->scala::Predef.println(+1).*/(1)
99
}
10-
val x/*<-example::Example.x.*/ = scala.reflect.classTag/*->scala::reflect::package.classTag().*/[Int/*->scala::Int#*/]/*->scala::reflect::ClassTag.apply().*/
10+
val x/*<-example::Example.x.*/ = scala.reflect.classTag/*->scala::reflect::package.classTag().*/[Int/*->scala::Int#*/]
1111
}

tests/semanticdb/expect/Extension.expect.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package ext
22

33
extension (s/*<-ext::Extension$package.foo().(s)*//*<-ext::Extension$package.`#*#`().(s)*/: String/*->scala::Predef.String#*/)
44
def foo/*<-ext::Extension$package.foo().*/: Int/*->scala::Int#*/ = 42
5-
def #*#/*<-ext::Extension$package.`#*#`().*/ (i/*<-ext::Extension$package.`#*#`().(i)*/: Int/*->scala::Int#*/): (String/*->scala::Predef.String#*/, Int/*->scala::Int#*/) = (/*->scala::Tuple2.apply().*/s/*->ext::Extension$package.`#*#`().(s)*/, i/*->ext::Extension$package.`#*#`().(i)*/)
5+
def #*#/*<-ext::Extension$package.`#*#`().*/ (i/*<-ext::Extension$package.`#*#`().(i)*/: Int/*->scala::Int#*/): (String/*->scala::Predef.String#*/, Int/*->scala::Int#*/) = (s/*->ext::Extension$package.`#*#`().(s)*/, i/*->ext::Extension$package.`#*#`().(i)*/)
66

77
val a/*<-ext::Extension$package.a.*/ = "asd".foo/*->ext::Extension$package.foo().*/
88

@@ -12,7 +12,7 @@ trait Read/*<-ext::Read#*/[+T/*<-ext::Read#[T]*/]:
1212
def fromString/*<-ext::Read#fromString().*/(s/*<-ext::Read#fromString().(s)*/: String/*->scala::Predef.String#*/): Option/*->scala::Option#*/[T/*->ext::Read#[T]*/]
1313

1414
extension (s/*<-ext::Extension$package.readInto().(s)*/: String/*->scala::Predef.String#*/)
15-
def readInto/*<-ext::Extension$package.readInto().*/[T/*<-ext::Extension$package.readInto().[T]*/](using Read/*->ext::Read#*/[T/*->ext::Extension$package.readInto().[T]*/]): Option/*->scala::Option#*/[T/*->ext::Extension$package.readInto().[T]*/] = summon/*->scala::Predef.summon().*/[Read/*->ext::Read#*/[T/*->ext::Extension$package.readInto().[T]*/]]/*->ext::Extension$package.readInto().(x$2)*/.fromString/*->ext::Read#fromString().*/(s/*->ext::Extension$package.readInto().(s)*/)
15+
def readInto/*<-ext::Extension$package.readInto().*/[T/*<-ext::Extension$package.readInto().[T]*/](using Read/*->ext::Read#*/[T/*->ext::Extension$package.readInto().[T]*/]): Option/*->scala::Option#*/[T/*->ext::Extension$package.readInto().[T]*/] = summon/*->scala::Predef.summon().*/[Read/*->ext::Read#*/[T/*->ext::Extension$package.readInto().[T]*/]].fromString/*->ext::Read#fromString().*/(s/*->ext::Extension$package.readInto().(s)*/)
1616

1717
trait Functor/*<-ext::Functor#*/[F/*<-ext::Functor#[F]*/[_]]:
1818
extension [T/*<-ext::Functor#map().[T]*/](t/*<-ext::Functor#map().(t)*/: F/*->ext::Functor#[F]*/[T/*->ext::Functor#map().[T]*/]) def map/*<-ext::Functor#map().*/[U/*<-ext::Functor#map().[U]*/](f/*<-ext::Functor#map().(f)*/: T/*->ext::Functor#map().[T]*/ => U/*->ext::Functor#map().[U]*/): F/*->ext::Functor#[F]*/[U/*->ext::Functor#map().[U]*/]

tests/semanticdb/expect/ForComprehension.expect.scala

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,39 @@ package example
22

33
class ForComprehension/*<-example::ForComprehension#*/ {
44
for {
5-
a/*<-local0*/ <- List/*->scala::package.List.*//*->scala::collection::IterableFactory#apply().*/(1)/*->scala::collection::immutable::List#flatMap().*/
6-
b/*<-local1*//*->scala::Tuple2.apply().*//*->local1*//*->local3*//*->scala::Tuple2.unapply().*/ <- List/*->scala::package.List.*//*->scala::collection::IterableFactory#apply().*/(1)/*->scala::collection::IterableOps#withFilter().*/
7-
if b/*->local1*/ >/*->scala::Int#`>`(+3).*/ 1/*->scala::collection::WithFilter#map().*/
8-
c/*<-local2*//*->local2*/ = a/*->local0*/ +/*->scala::Int#`+`(+4).*/ b/*->local1*//*->scala::collection::immutable::List#map().*/
9-
} yield (/*->scala::Tuple3.apply().*/a/*->local0*/, b/*->local1*/, c/*->local2*/)
5+
a/*<-local0*/ <- List/*->scala::package.List.*/(1)
6+
b/*<-local1*//*->local1*/ <- List/*->scala::package.List.*/(1)
7+
if b/*->local1*/ >/*->scala::Int#`>`(+3).*/ 1
8+
c/*<-local2*//*->local2*/ = a/*->local0*/ +/*->scala::Int#`+`(+4).*/ b/*->local1*/
9+
} yield (a/*->local0*/, b/*->local1*/, c/*->local2*/)
1010
for {
11-
a/*<-local4*/ <- List/*->scala::package.List.*//*->scala::collection::IterableFactory#apply().*/(1)/*->scala::collection::immutable::List#flatMap().*/
12-
b/*<-local5*/ <- List/*->scala::package.List.*//*->scala::collection::IterableFactory#apply().*/(a/*->local4*/)/*->scala::collection::IterableOps#withFilter().*/
11+
a/*<-local4*/ <- List/*->scala::package.List.*/(1)
12+
b/*<-local5*/ <- List/*->scala::package.List.*/(a/*->local4*/)
1313
if (
14-
/*->scala::Tuple2.apply().*/a/*->local4*/,
14+
a/*->local4*/,
1515
b/*->local5*/
16-
) ==/*->scala::Any#`==`().*/ (/*->scala::Tuple2.apply().*/1, 2)/*->scala::collection::WithFilter#flatMap().*/
17-
/*->local6*//*->scala::Tuple2.unapply().*/(
18-
/*->scala::Tuple2.unapply().*/c/*<-local7*/,
16+
) ==/*->scala::Any#`==`().*/ (1, 2)
17+
(
18+
c/*<-local7*/,
1919
d/*<-local8*/
20-
) <- List/*->scala::package.List.*//*->scala::collection::IterableFactory#apply().*/((/*->scala::Tuple2.apply().*/a/*->local4*/, b/*->local5*/))/*->scala::collection::IterableOps#withFilter().*//*->scala::collection::WithFilter#withFilter().*/
20+
) <- List/*->scala::package.List.*/((a/*->local4*/, b/*->local5*/))
2121
if (
22-
/*->scala::Tuple4.apply().*/a/*->local4*/,
22+
a/*->local4*/,
2323
b/*->local5*/,
2424
c/*->local7*/,
2525
d/*->local8*/
26-
) ==/*->scala::Any#`==`().*/ (/*->scala::Tuple4.apply().*/1, 2, 3, 4)/*->scala::collection::WithFilter#map().*/
27-
e/*<-local9*//*->scala::Tuple2.apply().*//*->local9*/ = (
28-
/*->scala::Tuple4.apply().*/a/*->local4*/,
26+
) ==/*->scala::Any#`==`().*/ (1, 2, 3, 4)
27+
e/*<-local9*//*->local9*/ = (
28+
a/*->local4*/,
2929
b/*->local5*/,
3030
c/*->local7*/,
3131
d/*->local8*/
32-
)/*->scala::collection::IterableOps#withFilter().*/
33-
if e/*->local9*/ ==/*->scala::Any#`==`().*/ (/*->scala::Tuple4.apply().*/1, 2, 3, 4)/*->scala::collection::WithFilter#flatMap().*/
34-
f/*<-local10*/ <- List/*->scala::package.List.*//*->scala::collection::IterableFactory#apply().*/(e/*->local9*/)/*->scala::collection::immutable::List#map().*/
32+
)
33+
if e/*->local9*/ ==/*->scala::Any#`==`().*/ (1, 2, 3, 4)
34+
f/*<-local10*/ <- List/*->scala::package.List.*/(e/*->local9*/)
3535
} yield {
3636
(
37-
/*->scala::Tuple6.apply().*/a/*->local4*/,
37+
a/*->local4*/,
3838
b/*->local5*/,
3939
c/*->local7*/,
4040
d/*->local8*/,

tests/semanticdb/expect/Givens.expect.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ package b
44
object Givens/*<-a::b::Givens.*/:
55

66
extension [A/*<-a::b::Givens.sayHello().[A]*/](any/*<-a::b::Givens.sayHello().(any)*/: A/*->a::b::Givens.sayHello().[A]*/)
7-
def sayHello/*<-a::b::Givens.sayHello().*/ = s"/*->scala::StringContext.apply().*/Hello, I am $any/*->a::b::Givens.sayHello().(any)*/"/*->scala::StringContext#s().*/
7+
def sayHello/*<-a::b::Givens.sayHello().*/ = s"Hello, I am $any/*->a::b::Givens.sayHello().(any)*/"
88

99
extension [B/*<-a::b::Givens.sayGoodbye().[B]*//*<-a::b::Givens.saySoLong().[B]*/](any/*<-a::b::Givens.sayGoodbye().(any)*//*<-a::b::Givens.saySoLong().(any)*/: B/*->a::b::Givens.sayGoodbye().[B]*//*->a::b::Givens.saySoLong().[B]*/)
10-
def sayGoodbye/*<-a::b::Givens.sayGoodbye().*/ = s"/*->scala::StringContext.apply().*/Goodbye, from $any/*->a::b::Givens.sayGoodbye().(any)*/"/*->scala::StringContext#s().*/
11-
def saySoLong/*<-a::b::Givens.saySoLong().*/ = s"/*->scala::StringContext.apply().*/So Long, from $any/*->a::b::Givens.saySoLong().(any)*/"/*->scala::StringContext#s().*/
10+
def sayGoodbye/*<-a::b::Givens.sayGoodbye().*/ = s"Goodbye, from $any/*->a::b::Givens.sayGoodbye().(any)*/"
11+
def saySoLong/*<-a::b::Givens.saySoLong().*/ = s"So Long, from $any/*->a::b::Givens.saySoLong().(any)*/"
1212

1313
val hello1/*<-a::b::Givens.hello1.*/ = 1.sayHello/*->a::b::Givens.sayHello().*/
1414
val goodbye1/*<-a::b::Givens.goodbye1.*/ = 1.sayGoodbye/*->a::b::Givens.sayGoodbye().*/
@@ -18,7 +18,7 @@ object Givens/*<-a::b::Givens.*/:
1818
def empty/*<-a::b::Givens.Monoid#empty().*/: A/*->a::b::Givens.Monoid#[A]*/
1919
extension (x/*<-a::b::Givens.Monoid#combine().(x)*/: A/*->a::b::Givens.Monoid#[A]*/) def combine/*<-a::b::Givens.Monoid#combine().*/(y/*<-a::b::Givens.Monoid#combine().(y)*/: A/*->a::b::Givens.Monoid#[A]*/): A/*->a::b::Givens.Monoid#[A]*/
2020

21-
given Monoid/*->a::b::Givens.Monoid#*/[String] with/*<-a::b::Givens.given_Monoid_String.*//*->scala::Predef.String#*/
21+
given Monoid/*->a::b::Givens.Monoid#*/[String/*->scala::Predef.String#*/] with
2222
def empty/*<-a::b::Givens.given_Monoid_String.empty().*/ = ""
2323
extension (x/*<-a::b::Givens.given_Monoid_String.combine().(x)*/: String/*->scala::Predef.String#*/) def combine/*<-a::b::Givens.given_Monoid_String.combine().*/(y/*<-a::b::Givens.given_Monoid_String.combine().(y)*/: String/*->scala::Predef.String#*/) = x/*->a::b::Givens.given_Monoid_String.combine().(x)*/ +/*->java::lang::String#`+`().*/ y/*->a::b::Givens.given_Monoid_String.combine().(y)*/
2424

0 commit comments

Comments
 (0)