Closed
Description
Follow-up from: #49796. This is required to evolve support for existing and upcoming language features and will unblock:
- TargetKind has no value for representing a type parameter #49796
- Support mustBeOverriden on constructors #53357
- Add a TargetKind for annotations on imports, exports, and part directives. #52274
- [meta] Add TargetKind.constructor #47421
Background: an earlier attempt at this refactoring was reverted in 813ca7f for appearing to cause a measurable performance regression.
813339e is a trimmed down version of that attempted change; with it landed, we'll monitor any performance impact. If there is no impact we'll publish a new version of package:meta
(bumping minor version) and see if any unexpected ecosystem impact shakes out.
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
refactor `TargetKind` enum to class
Add changelog entry for `TargetKind` refactor
pq commentedon Sep 6, 2023
UPDATE
package:meta
v1.10.0 with this change has been published. Assuming no ecosystem issues shake out, we'll go ahead and start adding newTargetKind
s.pq commentedon Sep 8, 2023
8a5ddec adds the first new target kind (for extension types). We haven't published that yet so we can still back it out but it looks like this migration may be in the clear. 🤞
pq commentedon Sep 12, 2023
This feels done. If we see any issues we can reopen.