Skip to content

Performance of didRenameFiles for Rascal #847

@toinehartman

Description

@toinehartman

Describe the bug

The current implementation for computing rename edits for moved modules is quite slow, since it iterates over all qualified name instances. We should revisit this.

Some ideas:

  • A substring-based initial search, which discards most files, before parsing and visiting the tree (similar to what rename does).
  • Apply edits in multiple stages; module headers first, qualified references after. Apply edits to files that are open first?
  • Normalization of (redundantly) escaped qualified names should also be considered carefully.

Expected behavior
Fast and responsive refactorings.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions