Skip to content

[SemanticDB] Unnecessary Apply synthetics in export clause, if exported symbols has using parameters #15292

@tanishiking

Description

@tanishiking

Compiler version

3.1.3-RC4

Minimized code

package exampleexport

object Lib:
  def xxx1(using i: Int) = 1
  def xxx2(using j: Int) = 2

export Lib.*

Output

Synthetics:
[6:7..6:10):Lib => *(j)
[6:7..6:10):Lib => *(i)
Full SemanticDB output
expect/Export.scala
-------------------

Summary:
Schema => SemanticDB v4
Uri => Export.scala
Text => empty
Language => Scala
Symbols => 10 entries
Occurrences => 9 entries
Synthetics => 2 entries

Symbols:
exampleexport/Export$package. => final package object exampleexport extends Object { self: exampleexport.type => +3 decls }
exampleexport/Export$package.xxx1(). => final method xxx1 (implicit given param i: Int): Int
exampleexport/Export$package.xxx1().(i) => implicit given param i: Int
exampleexport/Export$package.xxx2(). => final method xxx2 (implicit given param j: Int): Int
exampleexport/Export$package.xxx2().(j) => implicit given param j: Int
exampleexport/Lib. => final object Lib extends Object { self: Lib.type => +3 decls }
exampleexport/Lib.xxx1(). => method xxx1 (implicit given param i: Int): Int
exampleexport/Lib.xxx1().(i) => implicit given param i: Int
exampleexport/Lib.xxx2(). => method xxx2 (implicit given param j: Int): Int
exampleexport/Lib.xxx2().(j) => implicit given param j: Int

Occurrences:
[0:8..0:21): exampleexport <- exampleexport/
[2:7..2:10): Lib <- exampleexport/Lib.
[3:6..3:10): xxx1 <- exampleexport/Lib.xxx1().
[3:17..3:18): i <- exampleexport/Lib.xxx1().(i)
[3:20..3:23): Int -> scala/Int#
[4:6..4:10): xxx2 <- exampleexport/Lib.xxx2().
[4:17..4:18): j <- exampleexport/Lib.xxx2().(j)
[4:20..4:23): Int -> scala/Int#
[6:7..6:10): Lib -> exampleexport/Lib.

Synthetics:
[6:7..6:10):Lib => *(j)
[6:7..6:10):Lib => *(i)

Expectation

There shouldn't be synthetics for export.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions