Skip to content

Intelligently handle case class's synthetic object definitions #6

@matanox

Description

@matanox

A synthetic object bearing the name of its case class, is defined by the compiler for every case class. This may be confusing for the user, especially when an object bearing the same name is explicitly defined in the code (in such case, there would be two objects with the same name as the case class).

The two objects may be connected by a method named readResolve which if I recall correctly, is some kind of Java internal-ish method.

It seems this all should be intelligently collapsed into fewer parts, entertaining a facade hiding these internals from the user, without the loss of real information such as usage links (e.g. in case any of the collapsed objects are used from elsewhere, this hopefully can be represented by collapsing the connections into the simpler facade, in a manner that maintains "correctness").

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