Skip to content

Commit

Permalink
(Scala3) Delegate to SymDenotation#isAccessibleFrom for accessibility…
Browse files Browse the repository at this point in the history
… check
  • Loading branch information
masonedmison committed Sep 12, 2024
1 parent 2279432 commit cdbf1ea
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class CompilerSearchVisitor(
owner.isStatic && owner.isPublic

private def isAccessible(sym: Symbol): Boolean = try
sym != NoSymbol && sym.isPublic && sym.isStatic ||
sym.isAccessibleFrom(ctx.owner.info) ||
isAccessibleImplicitClass(sym)
catch
case err: AssertionError =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,4 +230,64 @@ class ImportMissingSymbolCrossLspSuite
scalaVersion = V.scala3,
)

check(
"i6732-happy",
s"""|package example.a {
| private [example] object A {
| val foo = "foo"
| }
|}
|package example.b {
| object B {
| val bar = <<A>>.foo
| }
|}
|""".stripMargin,
s"""|${ImportMissingSymbol.title("A", "example.a")}
|${CreateNewSymbol.title("A")}
|""".stripMargin,
s"""|import example.a.A
|package example.a {
| private [example] object A {
| val foo = "foo"
| }
|}
|package example.b {
| object B {
| val bar = A.foo
| }
|}
|""".stripMargin,
scalaVersion = V.scala3,
)

check(
"i6732-negative (private)",
s"""|package example.a {
| private object A {
| val foo = "foo"
| }
|}
|package example.b {
| object B {
| val bar = <<A>>
| }
|}
|""".stripMargin,
"",
s"""|package example.a {
| private object A {
| val foo = "foo"
| }
|}
|package example.b {
| object B {
| val bar = A
| }
|}
|""".stripMargin,
expectNoDiagnostics = false,
filterAction = _.getTitle() == ImportMissingSymbol.title("A", "example.a"),
scalaVersion = V.scala3,
)
}

0 comments on commit cdbf1ea

Please sign in to comment.