Commit Graph

7628 Commits

Author SHA1 Message Date
Kevin Millikin 907f31e6de Reland "[cfe] Build some annotations during outlining"
Reland the change to build some annotations during outlining, with a
bug fix.  Annotations from patch classes and procedures were not
applied to the actual class or procedure, which is fixed.

The original commit was reviewed at
https://dart-review.googlesource.com/c/sdk/+/103806

The revert was reviewed at
https://dart-review.googlesource.com/c/sdk/+/104220

The original commit message was:

    During the outline phase, after top-level type inference, compile
    annotations for libraries, classes, fields, procedures, and
    constructors.

Change-Id: I836160ddad4114ded72701e8a3938f703228931c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104560
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-06-03 10:20:15 +00:00
Konstantin Shcheglov 2c4a2237d2 Disable search.getDeclarations with summary2.
It is unlinked summary based, we don't support it with summary2.
So, to not crash we return the empty list.

R=brianwilkerson@google.com

Change-Id: Ic220ae3526a3a3e2f06c60b4e25d7e7cef69af60
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104201
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-01 18:21:48 +00:00
danrubel 6f2f92f578 improve extension method declaration recovery
Address comment in https://dart-review.googlesource.com/c/sdk/+/103580

Change-Id: Ie92e4fa752eaf851fec9465565d640524b569760
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-31 23:30:25 +00:00
Mike Fairhurst c5e03e5cce Fix tests that assign null to non-null locations
Change-Id: I3cda901d3645f162ddc60e071b0eaa46d06c356b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104284
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-31 18:57:35 +00:00
Konstantin Shcheglov 9d4649a44c Set context type for downward inference in constants.
R=brianwilkerson@google.com

Change-Id: Ifca9953d970906c7291c32f8db6f4d294429cce9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104283
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-31 18:31:44 +00:00
Konstantin Shcheglov b3f262298c Fix recording covariance for default parameters.
R=brianwilkerson@google.com

Change-Id: If904634685a223713e467fc93c0e04afd1378ce0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-31 16:56:44 +00:00
Brian Wilkerson abc8195541 Add more failing tests for downward inference in nnbd
Change-Id: I67225cd56c3ecf23cf7e03860aa750e7f951dcb8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104188
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-31 13:24:44 +00:00
Dan Rubel 2938630937 update parser to handle "!." in nnbd expressions
Fix https://github.com/dart-lang/sdk/issues/37111

Change-Id: I6e156a804085c9be12e5e7a0d0019cfeb77c9128
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104187
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-31 11:37:44 +00:00
Konstantin Shcheglov e34d63bd11 Visit return types of functions/methods to consumer GenericFunctionType(s).
R=brianwilkerson@google.com

Change-Id: I8f57065a6c54afc749168e02966f46a93ec0307d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104261
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-30 21:22:42 +00:00
Konstantin Shcheglov 0a66b3e644 Fix scopes for resolving class / mixin headers.
R=brianwilkerson@google.com

Change-Id: I981fc1b76435d2a7e2ae1045f49ade12febafa01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104186
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-30 21:13:15 +00:00
Brian Wilkerson d51d41b109 Add some failing tests for downward inference in nnbd
Change-Id: I8ae6924ef22efffc0ff5b42c45864eedf75e7c0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104184
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-30 19:27:16 +00:00
Brian Wilkerson 556c9134ac Update the SDK version associated with constant update hints
Change-Id: Id082dcfbbbf19672c8bc036161326a15c8f9d9f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104260
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-30 18:22:16 +00:00
Konstantin Shcheglov 7c956f4387 Make it possible to consume summary2 in build mode, but don't turn it on yet.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Iad4d625217e3eeb6d8e5142825224dc0b2dcf8bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104121
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-30 16:49:04 +00:00
Konstantin Shcheglov 13ff60ec02 Use Substitution for typeAfterSubstitution with summary2.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: If8c4a4ad7db406fa4af9f22456ec40d153588db9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104183
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-30 15:33:17 +00:00
Konstantin Shcheglov dad211bfca Store offset for ConstructorDeclaration.
R=brianwilkerson@google.com

Change-Id: I49ee91ee44b01f320b0e1d8b87ccaafe9774ded1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-30 15:25:22 +00:00
Konstantin Shcheglov 47ed7f737a Resolve default values in mixin method parameters.
R=brianwilkerson@google.com

Change-Id: Ie31fa9f484a0810731a08907fbb8a7725ca21115
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104165
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-30 15:25:14 +00:00
Vyacheslav Egorov 39ec9fc4f3 Revert "[cfe] Build some annotations during outlining"
This reverts commit 1df5fb3d57.

Reason for revert: large regressions on Flutter microbenchmarks. Reverting to prevent this reaching Flutter.

Original change's description:
> [cfe] Build some annotations during outlining
> 
> During the outline phase, after top-level type inference, compile
> annotations for libraries, classes, fields, procedures, and
> constructors.
> 
> Change-Id: I95ca65fd58ad88d9452a28d5a0652bee44aeda3a
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103806
> Commit-Queue: Kevin Millikin <kmillikin@google.com>
> Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>

TBR=alexmarkov@google.com,dmitryas@google.com,askesc@google.com,kmillikin@google.com

Change-Id: I67c0719f9175c1bd75b609d7d5c0cea5c294bd6d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104220
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2019-05-30 08:46:55 +00:00
Kevin Millikin 1df5fb3d57 [cfe] Build some annotations during outlining
During the outline phase, after top-level type inference, compile
annotations for libraries, classes, fields, procedures, and
constructors.

Change-Id: I95ca65fd58ad88d9452a28d5a0652bee44aeda3a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103806
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-05-30 07:29:12 +00:00
Brian Wilkerson 0325ba4b4a Update test framework to uniformly use NNBD in type strings
Change-Id: I060ec6491c2100982a701a51f89af0f55ef8d706
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104162
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-30 04:04:02 +00:00
Mike Fairhurst 2268c65cbe First subtyping rules for nullable types
Change-Id: Ibaaea75f8b5e83f1fb7039332093121854108da8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103548
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-05-29 22:13:11 +00:00
Konstantin Shcheglov 76750c58f2 Issue 35553. Report WRONG_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE.
Locally I see that out of 198 language_2/superinterface_variance/ tests:

* With summary2 we pass 197, and fail 1 test.

* With summary1 we pass 165, and Crash in 33 tests.

R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/35553
Change-Id: I79b5d7d2931c2d0c42ae6f12c19324deb7af784f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103960
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-29 17:13:30 +00:00
Brian Wilkerson 98a4dba4b3 Update Element.appendTo to more closely match Dart syntax
Change-Id: I74bf13f3b072c734b018517e6d06e182a0736bb9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103961
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-29 17:06:40 +00:00
Konstantin Shcheglov a332c414f1 Switch server to using DeclarationsTracker for 'Import Library' quick fixes.
We need this to stop using UnlinkedUnit with summary2.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Iaca2f19e6a168818e171f09e6eeda71a75854232
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103921
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-29 16:45:32 +00:00
Brian Wilkerson d74d49e748 Convert more diagnostic tests to include location
Change-Id: Ie7b31b09969acba5efbf9f27008ec805da15a8cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104060
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-29 16:28:20 +00:00
Konstantin Shcheglov b1d3a212a7 Fill references to dynamic/Naver in LinkedElementFactory.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I85f61c6322a6332ac6b095aaf8cf4203460babc3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-29 01:20:42 +00:00
Brian Wilkerson 2e51423c3d Convert the way function types are displayed to better match the syntax of Dart
Change-Id: Id5068bd52b3a35c70cb0d2ccc735469e2f8a0d3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103701
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-05-28 20:48:51 +00:00
Paul Berry 9556a95038 Fix string->bytes encoding in overlay_file_system
Change-Id: I2777c09908172c282f59cb2bf0ed5bd208442dd4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-28 20:01:05 +00:00
danrubel fee615c5a5 consolidate multiple modifier error codes
This consolidates the following error codes into MODIFIER_OUT_OF_ORDER

* COVARIANT_AFTER_VAR
* EXTERNAL_AFTER_CONST
* EXTERNAL_AFTER_FACTORY
* EXTERNAL_AFTER_STATIC
* STATIC_AFTER_CONST
* STATIC_AFTER_FINAL
* STATIC_AFTER_VAR

Change-Id: I3f8c41bacc65ebc5d9255806cbee89cddb5ffeb1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103880
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-28 17:01:16 +00:00
Todd Volkert 6aee4f390b Make analyzer's File.readAsBytesSync() impls return Uint8List
As part of the rollout plkan for https://github.com/dart-lang/sdk/issues/36900

Bug: dartbug.com/36900
Change-Id: Ic56cc1054ebae5967a1273b19f886a5e41b9460b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103060
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Todd Volkert <tvolkert@google.com>
2019-05-28 15:02:16 +00:00
Konstantin Shcheglov 527c165426 Deprecate 'abstract' setter in elements, replace with 'isAbstract'.
I deprecated 'abstract', but I don't see any uses of it outside of
analyzer, which I have fixed. So, maybe we should remove them right now?

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ifd86a6b0148be49df6455672742f825ffd50f661
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103661
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-05-28 04:16:43 +00:00
Konstantin Shcheglov d368bb8ecd Make some fields in LinkedNode informative.
R=brianwilkerson@google.com

Change-Id: I76eef7f07678723944e221d65936864d400b561f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-27 21:25:36 +00:00
Konstantin Shcheglov eff6e95385 Improve code generation for variant classes.
Change-Id: Iabaceebdf6efbec80d0026b74f71eac45b742760
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103600
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-24 21:55:16 +00:00
Brian Wilkerson e43d81af5f Folders containing overlayed files should exist even if they do not exist on disk
Change-Id: I511b5075cb10b2594dce9dc33f165b64d9527043
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103565
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-24 20:47:46 +00:00
pq e42d4a1d89 fix missing returns in lambdas
Change-Id: I5005ffc057749468844d47e8e5c195871586bd57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103601
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-05-24 19:24:02 +00:00
Dan Rubel f4f2c77d4a improve missing body error messages
This builds on the prior CL to improve the error messages
for missing switch statement body, missing finally clause body,
and others.

Change-Id: Ia2def1f3a75d5581356c12aee4705ef21870f749
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103571
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-24 17:03:25 +00:00
Dan Rubel ec1ddcdb83 improve extension message missing body error message
This improves the missing class, mixin, and extension method body
error messages and lays the groundwork for improving other
missing body error messages such as switch statement, finally clause,
and others.

Change-Id: I0a4d1338fe91eee3cfe7d61652e168df1302d212
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103570
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-24 17:03:25 +00:00
Devon Carew 9081f28fbb [analyzer] fix a copy paste doc issue and 2 unused imports
Change-Id: I20f4ae5454c2bceafd3b86e279357dee3b321006
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103644
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2019-05-24 16:31:25 +00:00
Paul Berry 3c34c8fa2f Fix type substitution of "star" types.
When performing type substitution, there are three types involved, the
substitution site (`this` in TypeImpl.substitute2), the type we are
replacing (`parameterType` in TypeImpl.substitute2), and the
replacement type (`argumentType` in TypeImpl.substitute2).

Previously, we only handled the nullabilities of `this` and
`argumentType`.  This CL adds support for the possibility that
`parameterType` might have nullability "*".  This happens because
TypeParameterElement.type returns a star type, so for instance when
subsituting `int` for `T` in `List<T>` to form `List<int>`, we are
actually substituting `int` for `T*` in `List<T*>`.

Change-Id: I0a61fdc47ec8aa205dc0c539c49ea7799ed4ac05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103542
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-05-24 15:43:45 +00:00
Paul Berry 0e5d18f281 Ensure that nullability promotion of the Null type yields Never.
Change-Id: I2232f80bbf5c8a9e51f305a603c06ca2b3ad8aea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103573
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-24 14:57:15 +00:00
Paul Berry 5278d4059a Sort non_nullable_test.dart
Change-Id: I356b49fb64daf4245f936d795ccaad5b0588a408
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103550
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
2019-05-24 14:53:45 +00:00
Lasse R.H. Nielsen eca6c8953f Allow async as an identifier everywhere.
Fixes #37063

Bug: http://dartbug.com/37063
Change-Id: I2253c3088fbe33eca1072f2480cf0cf3cc363362
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103524
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2019-05-24 08:21:14 +00:00
Konstantin Shcheglov 8208e872f8 Refactor summary IDL generator.
I need to make changes to 'collectApiSignature' and 'flushInformative'
to support variants, and we have lots of code around already.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I9ba3b61a22b9e9e2c547e97d5c5adaa07443b24a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103552
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-24 00:30:49 +00:00
Paul Berry 22c086fbe5 Remove unsafe uses of TypeImpl.withNullability (use TypeSystem instead).
Change-Id: I5df47ca582aa5583055d3700668de992676bc42a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103541
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-24 00:21:29 +00:00
Mike Fairhurst 704446d159 Disable implicit casts but keep dynamic casts when NNBD enabled
Change-Id: Ia0a3271c9137bc8c7fa4cdbd469cf93d9453b69c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103405
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-23 23:41:52 +00:00
Dan Rubel 1ffcccd9cc add extension method header parser recovery
Change-Id: Ia7424a467014471c01eb30604a062430de42f84d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-23 21:43:29 +00:00
Konstantin Shcheglov c4d691064a Remove unused methods from LinkedUnitContext.
R=brianwilkerson@google.com

Change-Id: I5acc7ab0381ac8912b3d4ba6bec89d7554aea43b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103547
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-23 20:42:20 +00:00
Konstantin Shcheglov 4b7c05f2ce Remove LinkedNodeVariablesDeclaration.
We don't need it anymore - we can go up the AST hierarchy to the
enclosing TopLevelVariableDeclaration.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Iadc9985bb5bcaa465c3505794ceac51e7b06a930
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103564
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-05-23 19:39:00 +00:00
Paul Berry 7bbd8ea29d Introduce a representation of the type Never?.
This type is equivalent to the existing type `Null`, but we need it
anyway because `Null` can only be accessed via the type provider, and
there are circumstances where we need to create this type and don't
have access to the type provider.

It also may prove beneficial to be able to distinguish between `Null`
and `Never?` in diagnostic messages.

Change-Id: I6118e87c8c4736a508a3f366f2762a96198db7ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103540
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-23 17:15:21 +00:00
Brian Wilkerson 28f701982b Add diagnostic location info to more tests
Change-Id: Id5d0e617a55abc2e1ed3d0bac7ae56544aa348e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103543
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-05-23 16:18:50 +00:00
Brian Wilkerson 1993669102 Clean up examples in analyzer docs that were using deprecated APIs and add a test to catch future breakages
Change-Id: I74bdb4c7474d130ae87e7cdc5991d7fadc79e453
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103465
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-23 13:15:36 +00:00