Skip to content

Use logical qualified names #9356

@farmaazon

Description

@farmaazon

Every entry in the suggestion database may be referred to in two ways:

  1. Physical paths, representing where the entity is defined in library file tree: for example, Standard.Base.Data.Boolean.Boolean represents Boolean type defined in Boolean module stored in src/Data directory of Standard.Base project.
  2. Logical paths, representing how the modules are reexported: for example, Standard.Base.Boolean.Boolean may represent Boolean type defined in Boolean module reexported in Main module of Standard.Base project.

The suggestion database fields contain only physical paths, and we want to keep it this way (as those are good for identification), but at any time we want to insert import, or substitute an identifier with is qualified name, it should be a logical path. The logical path should be specified by reading the reexport field to decide where the entity is reexported, and when that module is reexported, and so on until we reach Main of some library. Until #9351 is implemented, we should assume that every entry is reexported in a single place.

### Tasks
- [ ] https://github.com/enso-org/enso/issues/9572
- [ ] https://github.com/enso-org/enso/issues/9680
- [ ] https://github.com/enso-org/enso/issues/9681
- [ ] https://github.com/enso-org/enso/issues/9682

Metadata

Metadata

Assignees

No one assigned

    Labels

    -guid-intermediateDifficulty: some prior knowledge requiredp-mediumShould be completed in the next few sprints

    Type

    No type

    Projects

    Status

    Design done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions