d75661c6d8
This CL is a bit different from many previous CLs in a couple of ways. The smallest difference is that I realized that some of the logic could be shared and that we have a utility method that just need to be enhanced a bit to support primary constructors. At some point we should go back to the previous implementations and update them to use the utility method. The larger difference is the use of a pair of wrapper classes to encapsulate some of the differences between primary and secondary constructors. I'm not sure how I feel about the two approaches. On the one hand, the wrapper classes feel a bit heavy-handed, but on the other hand they could make a lot of code more DRY. Your thoughts would be appreciated. Closes https://github.com/dart-lang/sdk/issues/63047 Change-Id: I93af6d2a529bbc0491cf64ff03f7a58e6b874d81 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/495461 Reviewed-by: Keerti Parthasarathy <keertip@google.com> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Samuel Rawlins <srawlins@google.com>