Skip to content

typechecking fails when package declaration and source location not in sync #9309

Open
@scabug

Description

@scabug

This is a presentation compiler bug we have known for a really long time in the Scala IDE, but I just realised we have never opened a ticket here (despite talking about the issue with several members of the Scala team).

Basically, the presentation compilers fails to resolve symbols from source whose package declaration is not in sync with the source filesystem location.

a/b/A.scala
package a // notice here it's `a` and not `a.b`

class A
// Foo.scala
object Foo {
  new a.A()
}

Typechecking source Foo.scala alone reports the following error

type A is not a member of package a

The problem goes away if source a/b/A.scala is also typechecked.

We have a number of tickets in the Scala IDE issue tracker that are linked to issue reported here, e.g., https://scala-ide-portfolio.assembla.com/spaces/scala-ide/tickets/1001154

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions