commit | 5f4511a30e808bb4f05badcfd9c5b69771e29701 | [log] [tgz] |
---|---|---|
author | Konstantin Shcheglov <scheglov@google.com> | Thu Oct 18 18:03:05 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Thu Oct 18 18:03:05 2018 +0000 |
tree | d9266bf8257074717951bad80277144ca0e2f374 | |
parent | 2a635008659ef0cd400d3db4a3822cf2e36b41f2 [diff] |
Stop adding tokens to unit API signature at EOF. R=brianwilkerson@google.com, danrubel@google.com Fixes https://github.com/dart-lang/sdk/issues/34850 Change-Id: Iaa4a537ee7f69446129663467241cc8a8498d57b Reviewed-on: https://dart-review.googlesource.com/c/80680 Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/unlinked_api_signature.dart b/pkg/analyzer/lib/src/dart/analysis/unlinked_api_signature.dart index 95fea50..ffd8229 100644 --- a/pkg/analyzer/lib/src/dart/analysis/unlinked_api_signature.dart +++ b/pkg/analyzer/lib/src/dart/analysis/unlinked_api_signature.dart
@@ -70,13 +70,23 @@ if (begin is CommentToken) { begin = (begin as CommentToken).parent; } + Token token = begin; while (token != null) { addToken(token); + if (token == end) { break; } - token = token.next; + + var nextToken = token.next; + + // Stop if EOF. + if (nextToken == token) { + break; + } + + token = nextToken; } }
diff --git a/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart b/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart index 1510b74..25fa645 100644 --- a/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart
@@ -752,6 +752,16 @@ '''); } + test_issue34850() { + assertNotSameSignature(r''' +foo +Future<List<int>> bar() {} +''', r''' +foo +Future<List<int>> bar() async {} +'''); + } + test_mixin_field_withoutType() { assertNotSameSignature(r''' mixin M {