b5da327ed9
Make the parser handle metadata properly according to the spec. There has been some confusion in regards to metadata because https://github.com/dart-lang/language/blob/master/accepted/future-releases/small-features-21Q1/feature-specification.md (used to) say we needed a spec update. That was done in the parser in https://dart-review.googlesource.com/c/sdk/+/182668 but really that made the parser adhere to the spec as it was which is also correct (as the spec change wasn't needed at all). The parser also needs to be able to skip metadata, though, and that wasn't done it that CL which caused the issues in https://github.com/dart-lang/sdk/issues/45120 The work directly in this CL is: * Add lots of comments to parseMetadata to make them more up-to-date with the spec. * Fix skipMetadata to correspond to parseMetadata. * Tests verifying that 45120 is fixed in the parser and that metadata in general works as expected in the parser. (In working on this, the future specification was corrected to say that the spec did not need updating. Thanks to Erik for the quick turn-around there). Bug: #45120 Change-Id: Id1e4912cac7e5d9113efe083b3ecd06e6834a16e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190880 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>