Commit Graph

6070 Commits

Author SHA1 Message Date
pq af2d02f9c8 fix lint code reporting
Fixes: https://github.com/dart-lang/linter/issues/1568

Change-Id: I38d6138aa76fd79c11ef4d603705fdf2e29541e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102581
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-05-15 15:36:39 +00:00
Konstantin Shcheglov f6d3466856 Work around DDC with summary2 for now.
We will need to patch DDC to link summary2, but for now it uses
sumamry1, and I'd like to build SDK and run analyzer tests on bots.

R=brianwilkerson@google.com

Change-Id: I7ac74b87a4bce1a1e08925256dc1edfc55406f3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102503
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-15 13:36:19 +00:00
Konstantin Shcheglov 6ac6d3ae7d Fix FileState refresh2 to allow caching.
R=brianwilkerson@google.com

Change-Id: I1654809d90ae24f41a42f9130266493f27525003
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-15 01:57:17 +00:00
Mike Fairhurst a3073fc581 check null condition in assert
Change-Id: I4de11a7de3e5106ce9d5fbaf89d0b0965d637b08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102221
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-14 22:24:34 +00:00
Konstantin Shcheglov ebaf0ad8b1 Record GenericFunctionType nodes separately in the unit.
This fixes most failures related to them.

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

Change-Id: Icbd9eac52159064d5ffc43a4b30b75589a089a94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102480
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-14 21:32:33 +00:00
Dan Rubel c855b9bfa3 move error token processing to parser
Change-Id: Ic886db54e68206d7ddc9f68bacaaecf9f86aafc0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102461
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-14 15:49:33 +00:00
danrubel a50dcd8fe6 remove unused field
Change-Id: Id789870f4e4be6189356a1cd25ed06f397e9d0f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102462
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-05-14 13:00:46 +00:00
Paul Berry 27df933bd1 Fix some hints in the analyzer package.
Change-Id: I46dd91ef2a78dffc08f2fdb45d9646a966a3315d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102380
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-13 12:51:30 +00:00
Konstantin Shcheglov d0869386f6 More optimizations for summary2 storage format.
1. Unwrap ArgumentList and TypeArgumentList.

2. Don't even try to write and read tokens.

Performance difference does not look significant, but we are now
talking about something like 5% or 10% difference with summary1, so
probably any improvement matters.

R=brianwilkerson@google.com

Change-Id: I5bdd090e1897cfdf596a99af8a198d0078fc7d18
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102280
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-12 22:03:57 +00:00
Konstantin Shcheglov ca92a30299 Reuse LibraryScope in MetadataResolver.
R=brianwilkerson@google.com

Change-Id: If8ef8003fa800924facb5e59a99e1b7885a94093
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102281
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-12 17:24:57 +00:00
Konstantin Shcheglov 42c35d7bd6 Optimize summary2.
1. Don't store tokens.
2. Start moving toward storing only semantic information.
3. Don't use DeclarationSplicer, DeclarationResolver.
4. GenericFunctionType(s) don't work, we need a way to associate AST
location to summary location. I think it is solvable.

Change-Id: If0bf9f20f8092068488322129853b788dd947eb0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102127
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-11 15:49:39 +00:00
Mike Fairhurst b91a4f5423 [analyzer] Resolve methodName staticType when Function to check Function?
Change-Id: I85d43821d4b792c269f386616dcc21d144772c5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102201
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-10 21:45:29 +00:00
Paul Berry 11b59bec8d Store compilation unit NNBD status in unlinked summary.
This is needed for two reasons:

1. Summary linking, because type inference needs to behave differently
for opted-in vs. opted-out libraries.

2. Summary resynthesis, because TypeParameterElement.type needs to
behave differently for opted-in vs. opted-out libraries.

Note that reason 1 won't apply to the summary2 mechanism, because it
has access to full ASTs when doing type inference.  But it will still
need to record compilation unit NNBD status for reason 2.

This CL merely stores the correct data in the summary; it doesn't
address resynthesis, linking, or summary2.

Change-Id: I1aa2226e5865ef76747267de6198223997d6ad0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101920
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-05-10 21:34:08 +00:00
Sam Rawlins dac5a56422 Fix workspace/package identification for package:build packages
Fixes https://github.com/dart-lang/linter/issues/1393

Change-Id: I064faad8da50bc1a6c8a80a0412f792914915f8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102200
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-10 21:31:18 +00:00
Paul Berry 370b393ac5 Remove redundant optimization from callers of withNullability.
Change-Id: I9b9ccd3b5c85499ac2667e864374a86b5ff1c2f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102000
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-10 21:12:48 +00:00
Brian Wilkerson 5cffcd9e2c Add the class NonNullableTypeProvider to access SDK classes in opted-in context
Change-Id: Id0cd7c8cd6f93701a5e603753b10a27236292d41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102202
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-10 18:51:38 +00:00
Brian Wilkerson 36d8e3a9ba Fix more places where hardcoded types need to be made non-nullable under NNBD
Change-Id: I16dbabecdef743b291a4ae85414e95ffa533d723
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102060
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-10 17:52:47 +00:00
Paul Berry 63001295c0 optionally report scanner errors before parsing
The fasta parser handles error tokens produced by the scanner
but the old parser expect error tokens to have been already
translated into error messages. This updates the analyzer scanner
to optionally translate scanner errors.

Change-Id: I62383965285511c93e8fbf6a4cada97e9e4e3c04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102143
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-10 17:49:57 +00:00
Konstantin Shcheglov 2c86872a5f Store isAsynchronous and isGenerator in executables.
So, that we don't have to read bodies to know if these executables
are async / generators.

R=brianwilkerson@google.com

Change-Id: I1a88f896a9d1b0539a021b1f12b7b55ac44ca44a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 23:32:11 +00:00
Konstantin Shcheglov 4a058a3773 Check for hasDefaultValue / hasInitializer directly, without reding the initializer.
R=brianwilkerson@google.com

Change-Id: I29b37bc2305bf044d8a5b28b78edeba4cab9c120
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102102
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 23:32:05 +00:00
Mike Fairhurst 536ecbac7b Add language 2 tests for null access errors
Change-Id: Icde35448c183a3b9311811aab388909d17e36ceb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101461
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 18:59:11 +00:00
Brian Wilkerson 130ad1bcf9 Stop reporting some errors when constant evaluation produces a valid object with an unknown state (issue 36873)
Change-Id: I1bf9c0aebaee24ab0c9e2b40c9881d478e33f87c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102001
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 18:45:01 +00:00
Brian Wilkerson d1a5eb5900 Fix the special casing of binary operators with primitive types when NNBD is enabled
Change-Id: I36f7f63b26eb3ea87efbe7af96d2134ea6402158
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102020
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 18:44:12 +00:00
danrubel b4e2c0246c update parser to handle leading error tokens
This is the first of several CLs that move error tokens to the head
of the token stream so that parser handling of error tokens
can be simplified and less error prone.

In this particular CL:
- update parser to handle error tokens at the head of the token stream
- remove several places that analyzer was preprocessing error tokens
   now that the parser handles them

Change-Id: Iddf60ab2879567a345a692b64043bd42f1871947
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-09 18:36:31 +00:00
Paul Berry 1407e59079 Add preliminary NNBD support to the summary linker.
Change-Id: I256d66333d9715ed720bd6ea87d21fd00e17635a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101900
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-08 22:35:49 +00:00
Paul Berry 34d2fd42bd Add summary deserialization support for nullability.
In a follow-up CL I will add nullability support to the summary
linker.

Change-Id: I99f3dce1a695da65c7c09c11e73462c93aeb637f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101882
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-08 22:30:39 +00:00
Konstantin Shcheglov 299bf667ac Get codeOffset/codeLength through LazyNode.
So, that it works whether nodes are lazy or full.

R=brianwilkerson@google.com

Change-Id: I4c8916f05b0f73a6f825d4c15e45dade5f702582
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101881
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-08 21:44:41 +00:00
Paul Berry 39858b1225 Remove CompilationUnitImpl.isNonNullableLibrary
And plumb FeatureSet into more of the analysis engine.

Change-Id: I40f7061d48c5eb2a597f95a32738bd3133fe21d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101224
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-08 21:36:59 +00:00
Paul Berry 51fe641e82 Create a SynchronousSession class.
In the long term this class will take over much of the role played by
RestrictedAnalysisContext.  For now it is simply a container for the
analysis options, declared variables, type provider, and type system.

In follow-up CLs I will plumb this object through various parts of the
analyzer, especially the LinterContext; this will enable the
canBeConst... methods to be moved into SynchronousSession, and that
will allow us to stop creating a LinterContext in
BestPracticesVerifier.

Change-Id: I7ac2d386c10d2e5339d9715848b185c163e1f858
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101860
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-08 19:57:31 +00:00
Brian Wilkerson f80f0bfcfd Reland "Implement the type Never"
This reverts commit 78e50a5f9b.

Change-Id: I2ec4cdcfda4a6d199308a3b25a2ed0792e9d9a26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101621
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-08 13:26:45 +00:00
Brian Wilkerson 8143450941 Convert comments in the constant evaluation code
Change-Id: I564d9ac227a8d5b4e8b02a5496dd08f84658e984
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101632
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-08 00:20:59 +00:00
Mike Fairhurst a8b6e18b62 Resolve x ?? y as LUB(X!, Y) instead of LUB(X, Y).
Change-Id: I081d8ec153916fb37e2a949d9fa85a6ea778438e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/92390
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
2019-05-07 16:34:17 +00:00
Brian Wilkerson 78e50a5f9b Revert "Implement the type Never"
This reverts commit 40a06c3a77.

Reason for revert: Introduced a bug that is blocking a roll.

Original change's description:
> Implement the type Never
> 
> Change-Id: Icbf407bc19f602c8382946b1e735905cc165c59c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100993
> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Paul Berry <paulberry@google.com>

TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com,mfairhurst@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Iebb5b8327b0be7129298f39b343555b812314abf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101640
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-07 16:22:37 +00:00
Konstantin Shcheglov 986c0791dc Build local elements in constructor initializers.
R=brianwilkerson@google.com

Change-Id: Idb4645bc46a6f4804167d45e6ad809be33be8d53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-07 15:36:52 +00:00
Konstantin Shcheglov 00c6c53ff8 Include 'exists' into unlinked signature.
We don't report UNUSED_IMPORT when the library file does not exist,
so that libraryElement.isSynthetic, and an empty but existing file
is not the same as not existing at all.

R=brianwilkerson@google.com

Change-Id: I33d911b01f2ca7e1f5c4fdda7083507f469ec6c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-07 15:28:57 +00:00
Konstantin Shcheglov 32f146afe2 Fix tests that are probably opinions how something should be resolved.
R=brianwilkerson@google.com

Change-Id: I981feeb3e7a128789b8b7fd38e81e4e19beed22e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-07 15:28:47 +00:00
Konstantin Shcheglov d2d8e8a4a5 Prefer hasLibraryDirective over hasPartOfDirective.
R=brianwilkerson@google.com

Change-Id: Ic411bd057ef1befd1aecd1f05a485430ec16b89d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101467
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-07 15:20:56 +00:00
danrubel a83fbc5edb remove unused enable lazyAssignmentOperators flag
Change-Id: I4112fe4ad5a08916d124216753a995d607a9892d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101485
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-07 13:06:39 +00:00
Konstantin Shcheglov 3173e594ba Skip not classes in mixin superclass constraints.
R=brianwilkerson@google.com

Change-Id: Ic9f3ed3e032839e1dd953be7dd938c9283851bf8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101466
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-07 01:00:53 +00:00
Konstantin Shcheglov b27436158a Get GenericFunctionType element from the node, not the type.
R=brianwilkerson@google.com

Change-Id: Ida2c7765fb74e6a768f771a8123dc5fbf541f512
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101462
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 22:20:52 +00:00
Konstantin Shcheglov 259ab698ab Fix for CompilationUnitElementImpl.nameOffset and type alias code range.
R=brianwilkerson@google.com

Change-Id: I90bb0b74ea52eea883ee4c8accb8f2055ba568a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101490
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 22:01:12 +00:00
Konstantin Shcheglov 04db35c3b5 Prevent infinite recursion via not 'self'.
When we are checking `A`, we will catch self-reference and stop.
But when we are checking `B`, we still need to stop.

typedef A A();
typedef B(A a);

R=brianwilkerson@google.com

Change-Id: I8ad57a94301ec3379c2480c782637c502aa02675
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101464
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 21:57:04 +00:00
Mike Fairhurst 7928dbd270 [analyzer] Resolve nullability of generic function types
Change-Id: Ie14ae8844b83f54b5e2c9d1d5424ca8f015bb5d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101463
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-06 21:18:59 +00:00
Mike Fairhurst 36c315eacc [analyzer] resolve x?.y to return T?
Change-Id: I3ef319621753364b8d70e79b2ab32d7ec9c1e8d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/92383
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-06 21:09:39 +00:00
Konstantin Shcheglov 457e58c637 Type promotion requires current function body.
So, wee set one when resolving constructor initializers, even if it
is empty.

R=brianwilkerson@google.com

Change-Id: Ia63e60ed40bbf7e9c7f681acbce9548cc03bca65
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101486
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 20:52:13 +00:00
danrubel 79f4ecf191 report error on const method with empty body
Fix https://github.com/dart-lang/dart_style/issues/810

Change-Id: I5ff31f0cdcc89f9b05b9079698a752b875518da2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101441
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-06 20:00:38 +00:00
Konstantin Shcheglov 6aab33ff09 Fix for setter names in library local declarations.
R=brianwilkerson@google.com

Change-Id: Ie4df5f075b39d78eb508e9dfb7a5bb0e9442e0d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101484
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 19:53:15 +00:00
Konstantin Shcheglov 271c8465f4 Rewrite AST when resolving constants.
R=brianwilkerson@google.com

Change-Id: I952a5848e498fac54b29202edce66eea019d3414
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101483
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-06 19:52:43 +00:00
Konstantin Shcheglov dd185a029e Build local elements for metadata.
R=brianwilkerson@google.com

Change-Id: Ie4f997eb577d2b8496bb68ce7ab546f20ae14787
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101482
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-06 19:52:35 +00:00
danrubel 4655f63670 update analyzer.Scanner to track featureSet
Change-Id: Ide1ed3fc83831ab2a957b6e823f515135611614b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101440
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 17:46:52 +00:00