Skip to content

Incorrect SemantiDB production of method signatures with shadowed parameters #23160

Open
@MatthieuSLR9

Description

@MatthieuSLR9

Compiler version

scala version 3.7.2

Minimized code

class IncorrectScalaBehavior {
def foo(x: Int) = {val x: Boolean = true}
}

SemanticDB output

Summary:
Schema => SemanticDB v4
Uri => tests/pos/HelloWorld2.scala
Text => empty
Language => Scala
Symbols => 5 entries
Occurrences => 7 entries

Symbols:
empty/IncorrectScalaBehavior# => class IncorrectScalaBehavior extends Object { self: IncorrectScalaBehavior => +2 decls }
empty/IncorrectScalaBehavior#<init>(). => primary ctor (): IncorrectScalaBehavior
empty/IncorrectScalaBehavior#foo(). => method foo(val x: Boolean): Unit
empty/IncorrectScalaBehavior#foo().(x) => param x: Int
local0 => val local x: Boolean

Occurrences:
[0:6..0:28) <= empty/IncorrectScalaBehavior#
[1:2..1:2) <= empty/IncorrectScalaBehavior#<init>().
[1:6..1:9) <= empty/IncorrectScalaBehavior#foo().
[1:10..1:11) <= empty/IncorrectScalaBehavior#foo().(x)
[1:13..1:16) => scala/Int#
[1:25..1:26) <= local0
[1:28..1:35) => scala/Boolean#

Expectation

We expect this line
empty/IncorrectScalaBehavior#foo(). => method foo(val x: Boolean): Unit
to be
empty/IncorrectScalaBehavior#foo(). => method foo(x: Int): Unit

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions