Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
CasUtil.indexCovered() currently uses a quite naive approach of going over all of the covering candidate annotations and calling selectCovered for each of them. This can be done smarter by iterating simultaneously over the covering and covered type while maintaining a memory in which only the potentially covering annotations are maintained and compared against the covered annotations. Any annotation of the covering type can be purged from this memory once it cannot match any covering annotation anymore. This approach exploits the sort order inherent in the annotation index.