-
Notifications
You must be signed in to change notification settings - Fork 93
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove unused data from compilation unit annotation model util map #665…
… (#677) The CompilationUnitDocumentProvider uses in its Java-specific annotation model a utility map to navigate from document positions back to annotations. The current implementation is slow whenever a document contains plenty of annotations (such as the occurrences of the name of a marked method), as the map internally uses a list for representing the annotations which becomes slow in adding/removing when containing plenty of data. This is especially a problem on batch replacements of annotations (e.g. when selecting a different method to be marked in the document), as every single annotation is processed by the map individually. In addition, the map currently stores data that is never used, as only the specific JavaMarkerAnnotations are used from that map. This change thus does the following: - Specializes the utility map to only contain the required type of annotations - Refactors the map implementation to simplify the code and make it more comprehensible Fixes #665
- Loading branch information
1 parent
84d450b
commit 979b884
Showing
1 changed file
with
71 additions
and
95 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters