Skip to content

Unstable representation of self variable #2504

@gkossakowski

Description

@gkossakowski

Project with three source files:

// Global.scala
class Global { 
  class Foo extends Namers
}

// Namers.scala
class Namers {
  class Namer { thisNamer => }
}

// Client.scala
class Client(global: Global)

steps

  1. compile
  2. add a whitespace to Global.scala and watch Client.scala being recompiled

problem

Whitespace change causes recompilation of dependent files.

notes

The problem is unstable representation of classes that have a self variable (check Namer). This instability comes from not forcing info of the symbol that represent self type/self variable. This is a regression caused by 1ce1123.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions