mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Several kinds of declarations can override other declarations, but the computation and storage for these “overridden” declarations was scattered in at least 3 different places, with different resolution paths. Pull them all together into two bits of LazySemanticInfo in ValueDecl (“have we computed overrides?” and “are there any overrides?”), with a side table for the actual list of overrides. One side effect here is that the AST can now represent multiple overridden declarations, although only associated type declarations track this information. Start using LazyResolver::resolveOverriddenDecl() more consistently, unifying it with the separate path we had for associated type overrides. All of this is staging for a move to the request-evaluator for overridden declaration computation.
184 KiB
184 KiB