Commit Graph

5571 Commits

Author SHA1 Message Date
Konstantin Shcheglov a8c2263d3f Issue 33336. AnalysisDriver.discoverAvailableFiles() should notify the scheduler that there is work to do.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/33336
Change-Id: I543179853cc529f3919214a0bbe952026a45d816
Reviewed-on: https://dart-review.googlesource.com/58500
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-05 17:07:19 +00:00
Brian Wilkerson 1f03109200 Proposed replacement for SourceFactory
Change-Id: Iadcb71a4f9682d4cb9636aea6bb0b91f3bf040f9
Reviewed-on: https://dart-review.googlesource.com/58160
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-06-05 16:09:49 +00:00
Dan Rubel daee781179 Revise beginTypeVariable event in event sequence
This is the first CL in a series aimed at removing the need to reparse type variables in
https://github.com/dart-lang/sdk/blob/master/pkg/front_end/lib/src/fasta/kernel/body_builder.dart#L3669
and ultimately improving recovery by removing parseType.

* Move calls to listener.beginTypeVariable after parsing metadata and identifier
* Pass variable name via beginTypeVariable rather than via handleIdentifier
* Add additional check in test for issue 31846

Change-Id: I983b9d17675fc899c83df69fa1777059903e3f52
Reviewed-on: https://dart-review.googlesource.com/58300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-06-05 15:11:00 +00:00
Ryan Macnak 53f7bb175e Revert "Make --sync-async the default for the VM."
This reverts commit 1ddf553eb6.

Reason for revert: Failing service tests

Original change's description:
> Make --sync-async the default for the VM.
> 
> Change-Id: Ic6d7bbc27835ea7b197cccf05724adb99e95dd51
> Reviewed-on: https://dart-review.googlesource.com/57580
> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>

TBR=vegorov@google.com,kustermann@google.com,floitsch@google.com

Change-Id: I062cb40badf0d1cf1808bee152fdd4074b00179d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/58380
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-04 21:04:20 +00:00
Florian Loitsch 1ddf553eb6 Make --sync-async the default for the VM.
Change-Id: Ic6d7bbc27835ea7b197cccf05724adb99e95dd51
Reviewed-on: https://dart-review.googlesource.com/57580
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-06-04 18:05:20 +00:00
Paul Berry e59cf89fa3 Clean up FunctionTypeImpl constructors.
Previously, FunctionTypeImpl.elementWithNameAndArgs was used for two
purposes: (1) when creating a FunctionTypeImpl for an executable
element, to initialize _typeArguments to the types of the type
parameters that are in scope, and (2) when creating a FunctionTypeImpl
for a typedef, to supply the type arguments necessary to instantiate
the typedef.  (1) turns out to be unnecessary, since the
FunctionTypeImpl.typeArguments getter automatically gathers type
arguments from enclosing elements if necessary, and (2) makes more
sense to do as part of the .forTypedef constructor.  So this CL
removes FunctionTypeImpl.elementWithNameAndArgs and updates its
callers to use the unnamed constructor or the .forTypedef constructor,
as appropriate.

Also, a check is added to make sure that the unnamed constructor is
never accidentally used for typedefs.  So now FunctionTypeImpl has
just three public constructors, each with a clear use case, enforced
either by an assertion or by the type system:

- The unnamed constructor (for executable elements, not typedefs)

- The .forTypedef constructor (for typedefs only)

- The .fresh constructor (for creating one FunctionTypeImpl from
  another by binding fresh type parameters)

Finally, the public constructors for FunctionTypeImpl are all changed
to factories so that client code can't inadvertently FunctionTypeImpl.
(It shouldn't anyway, since FunctionTypeImpl is defined inside src/,
but this gives an extra level of safety).

Change-Id: I5f7abc1ca114eb612cbf539c1d61fc0cace5a4dd
Reviewed-on: https://dart-review.googlesource.com/58043
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-04 14:05:46 +00:00
Konstantin Shcheglov 5c2cec0e19 Make _FilesReferencingNameTask faster by using maintained FileSystemState.knownFiles list.
This makes the task itself 1.4 times faster, and search 15% faster.

R=brianwilkerson@google.com

Change-Id: I35444d46ee220fdb960d299f007739f044a20813
Reviewed-on: https://dart-review.googlesource.com/58143
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-03 20:47:46 +00:00
Konstantin Shcheglov 5269e21913 Fix for MockSdk on Windows.
TBR

R=brianwilkerson@google.com

Change-Id: I8d25f64615d4c1ac620b6d5f52771bf3c3c351c2
Reviewed-on: https://dart-review.googlesource.com/58161
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-03 20:17:42 +00:00
Konstantin Shcheglov 9d83013040 Use known FileState from FileSystemState directly.
We check all known files now, so we don't need looking up FileState(s)
by paths. It is expensive when we do it for thousand files in multiple
drivers.

Stopwatch is also not free, so now we check it every 100 files.

This makes _FilesReferencingNameTask about 4 times faster.
In total search of an element in a priority file is 2 times faster.

R=brianwilkerson@google.com

Change-Id: I2738df8035f84d20a8b7e1b6d3040d4461c2609d
Reviewed-on: https://dart-review.googlesource.com/58141
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-02 16:45:06 +00:00
Konstantin Shcheglov b3b528648b Discover all SDK libraries.
R=brianwilkerson@google.com

Change-Id: Icfd881400179fc2c224945d5f013e2137b3d5fdf
Reviewed-on: https://dart-review.googlesource.com/58041
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-02 04:14:25 +00:00
Brian Wilkerson b19560e7ad Implement stubs for the remaining converted generators
Change-Id: If62d12fb3e916e9f5f8dc3366e2ee5d206a4ba21
Reviewed-on: https://dart-review.googlesource.com/58004
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-06-01 21:59:44 +00:00
Paul Berry 1bc9b8d00c Mark ContextRoot.pathContext constructor argument as required.
This should be a non-breaking change since this is an internal
analyzer API.  All clients that were making use of this internal API
have been updated to pass in the required argument.

Change-Id: Iec81454f6382c8de9ff6340d372338e678a3c73a
Reviewed-on: https://dart-review.googlesource.com/57920
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-01 18:37:24 +00:00
Vyacheslav Egorov b7bc0d06c4 Fix state machine in _DiscoverAvailableFilesTask.perform
* When iterating over folders with folderIterator we must check
elapsed time and decide to exit before we call moveNext. If we
do it in an oposite order we will skip the current element when we
come back - because we will call moveNext again.

* Only add driver.addedFiles *once* to the list of files. Previous
we were adding it everytime we called perform() leading to duplicates
in the list.

Change-Id: Idd1d2a272661fe204b24af0be4539c3a154c9652
Reviewed-on: https://dart-review.googlesource.com/57826
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-06-01 18:34:14 +00:00
danrubel 2c44dc11c7 Improve type variable recovery
Change-Id: I159508d07d28f1e2d02f5de66a67938b37bc82cd
Reviewed-on: https://dart-review.googlesource.com/57940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-06-01 18:29:13 +00:00
Brian Wilkerson 2a545d7153 Initial implementations for some of the generator methods
Change-Id: Idb4d5c2b6c5b6d283d27823d9ec9f9fb66900a74
Reviewed-on: https://dart-review.googlesource.com/57902
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-01 17:34:43 +00:00
Konstantin Shcheglov f6ece48aba Fix the test that want to run async code to be async.
R=brianwilkerson@google.com

Change-Id: Ia428ac71dd7a0e86daf4542d256fa6ffee3a65b5
Reviewed-on: https://dart-review.googlesource.com/57900
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-01 17:03:08 +00:00
Brian Wilkerson cb07f74f4b Clean up some of analyzers generators based on feedback
Change-Id: I3d12bd1a253becef162df4a78e6844e04634c1cd
Reviewed-on: https://dart-review.googlesource.com/57860
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-01 16:25:06 +00:00
Brian Wilkerson 545ad130a2 Fix a couple of bugs in the analyzer forest implementation
Change-Id: Iff246ba92976bab87b643ee9e96efa8f1db0cccb
Reviewed-on: https://dart-review.googlesource.com/57715
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-01 15:11:34 +00:00
Konstantin Shcheglov 85b4a799eb Search references to elements and subtypes in all known (and discovered) files.
We discover classes in packages, so it should improve situation for Flutter.

We don't yet discover files in SDK per se (although I already see a lot
of subclasses), so might still miss some files, but all search bits are
in place, we just need to do discovery in SDK. Should be easy to do
in a day or two.

Also search for private and local elements probably still work only
for added files, again will get to it in a following CL.

https://github.com/flutter/flutter-intellij/issues/2296
https://github.com/flutter/flutter-intellij/issues/2258
https://github.com/dart-lang/sdk/issues/26762
https://github.com/dart-lang/sdk/issues/29112

R=brianwilkerson@google.com

Change-Id: Ib2b73b4cb31fd14b2514e70fbfe58735418e74d5
Reviewed-on: https://dart-review.googlesource.com/57760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-01 14:47:43 +00:00
Konstantin Shcheglov 6458b5da2f Always include added files into the list of files to discover.
R=brianwilkerson@google.com

Change-Id: Ida9f306652f7b991303dc849bb21dc1d384fa6e3
Reviewed-on: https://dart-review.googlesource.com/57711
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-31 22:44:06 +00:00
Mike Fairhurst 99dadf4d7f Remove unneeded (and incorrectly typed) mock step
Correctly typed as far as old mockito is concerned because it does not
check types. With this fixed we'll be clear to upgrade mockito inside
the SDK to the one that does.

Change-Id: If68c0bb02c8652be6b891c189fabee135423f94c
Reviewed-on: https://dart-review.googlesource.com/57712
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-05-31 22:38:37 +00:00
Paul Berry f87933d845 Introduce tests specific to behaviors of FunctionType.
I am about to start embarking on bug fixes and refactors to
FunctionType, so I want a set of tests that I can use to make sure I
don't break any important behaviors.  These tests use a mock element
model, so they don't rely on any behaviors outside of FunctionTypeImpl
itself.

Change-Id: I037f6a8cd2ee2a94fba13bb9b6be9e7090e254e8
Reviewed-on: https://dart-review.googlesource.com/57708
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-31 22:04:27 +00:00
Paul Berry 64cfdb4cc6 Remove _explicitTypeParameters and substitute4 from FunctionTypeImpl.
substitute4 was only used by the kernel resynthesizer, which is not
being maintained at the moment (and which I believe needs to be
reworked anyhow).  With substitute4 gone, _explicitTypeParameters was
always null (except in the case of CircularFunctionTypeImpl, where it
had no effect), so we can just replace it with literal `null`.

Change-Id: I5248e0f93b9a39c55d3e4e8b62150536656608e8
Reviewed-on: https://dart-review.googlesource.com/57709
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-31 21:58:06 +00:00
Brian Wilkerson 7a76a40438 Add several other generators
Change-Id: I328eeff5bdf87387ddb9b2a4d31825fc3b630824
Reviewed-on: https://dart-review.googlesource.com/57706
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-31 20:25:06 +00:00
Brian Wilkerson 89c2da2846 Add generator for unlinked names
Change-Id: I5841b3ff86133eedd14d8bef26c3d1b2dd78f34d
Reviewed-on: https://dart-review.googlesource.com/57703
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-31 19:21:16 +00:00
Konstantin Shcheglov 0aad13db00 Revert 'Copy @failingTest annotations to mixin applications.'
This reverts commit 242bc3413c.

R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/33099
Change-Id: I8a1b24926072fe64e3ab73d38a1fa73695237fc4
Reviewed-on: https://dart-review.googlesource.com/57701
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-31 18:40:27 +00:00
Konstantin Shcheglov 1a185867a9 Search for element declarations in discovered available files.
R=brianwilkerson@google.com

Change-Id: Idb8d4528aa1edffe60db63067e3d42fd89058b6b
Reviewed-on: https://dart-review.googlesource.com/57700
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-31 17:38:53 +00:00
Brian Wilkerson 95afe4171a Add an implementation of the UnresolvedNameGenerator for analyzer
Change-Id: I685dc6071980c2df4adb755d6e5e8daf9ecc211b
Reviewed-on: https://dart-review.googlesource.com/57420
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-31 16:24:02 +00:00
Dan Rubel fcb41fb50d Replace more calls to parseTypeVariablesOpt with computeTypeParamOrArg
Change-Id: I03966a8b06516f8cff612ccea25443da682f8da9
Reviewed-on: https://dart-review.googlesource.com/57541
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-31 16:20:13 +00:00
Peter von der Ahé 7ce24328c3 Add UnlinkedScope
This scope is for use when building an AST before building the outline.

Change-Id: I90786449fb4e7d755e64d40f91c4cb67a02a6082
Reviewed-on: https://dart-review.googlesource.com/57581
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-31 14:11:24 +00:00
Peter von der Ahé 032925c4ff Remove obsolete features
Remove tree-shaker as we're not using it, and it creates problems
when the SDK changes.

Remove scopes from AstBuilder as we will be phasing out AstBuilder
in favor of using BodyBuilder and the Forest API.

Change-Id: I51950c5d8bfb0493587336325f9da8f5bf8ecea6
Reviewed-on: https://dart-review.googlesource.com/57261
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-31 07:24:54 +00:00
danrubel a53b585498 Fix more Analyzer tests
* Add "usingFastaParser" accessor for Analyzer engine tests
* Update Analyzer compile time error code tests
* Add additional checks for async/await/yield as identifiers
* Update built-in as type variable error message
* Check for "this." in local declaration parameters
* Remove unnecessary asserts

and address comment in https://dart-review.googlesource.com/c/sdk/+/57022

Change-Id: I54b5ac22f912289dad6360646fae7eca717bbd98
Reviewed-on: https://dart-review.googlesource.com/57220
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-31 00:25:03 +00:00
Sam Rawlins cc9c8f93f5 Add HintCode for duplicate shown/hidden names
Bug: https://github.com/dart-lang/sdk/issues/33182
Change-Id: Ibb82c44357bc59044340c6d8b1904c7815d19215
Reviewed-on: https://dart-review.googlesource.com/57161
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2018-05-30 17:22:40 +00:00
Peter von der Ahé 3b6caa3517 Split UnresolvedNameGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: I487a1704943fbe40ca20031372a436f74ef32752
Reviewed-on: https://dart-review.googlesource.com/57320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-30 15:17:40 +00:00
Brian Wilkerson 13987b073d Add Forest method to access the name of a variable declaration
Change-Id: I2c24961573887ea56b0a09152c8926b3445e6c01
Reviewed-on: https://dart-review.googlesource.com/57006
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-30 13:46:23 +00:00
Brian Wilkerson ae9f5d2a1b Add Forest API for logical expressions
Change-Id: Ib9efeb06d1c6857b07f3c42724310621416a0fc8
Reviewed-on: https://dart-review.googlesource.com/57080
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-30 13:20:10 +00:00
danrubel d116e62d76 Improve catch parameter recovery
Change-Id: Ib4479eb7682c7093e9076f12a85d5a2f911a3f1d
Reviewed-on: https://dart-review.googlesource.com/57022
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-30 01:31:49 +00:00
Paul Berry ec47e524bc Switch to non-alpha versions for analyzer/front_end/kernel.
After some discussion, we decided that it's not necessary to publish
alpha versions when making non-breaking changes.  (The rationale for
publishing alpha versions is to minimize the number of breaking
changes, since breaking changes to a popular package can potentially
slow down pub's version solver, but this is not an issue for
non-breaking changes).

Change-Id: I3f4f975712af43b6b0475f2c68dc430c394454cb
Reviewed-on: https://dart-review.googlesource.com/57140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-29 23:26:07 +00:00
Konstantin Shcheglov 6cc7aa803a Change names/declarations tasks in AnalysisDriver sync.
Not sure why they were async, they don't call any async API themselves.

R=brianwilkerson@google.com

Change-Id: I5ba1c5124e9cf224f13b91d1fc8ecd85e4e0a206
Reviewed-on: https://dart-review.googlesource.com/57100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-29 22:07:39 +00:00
danrubel 718e1578a0 Update Analyzer AstBuilder to optionally parse function bodies
Change-Id: I4fa60b12315f1a16eb288b3431bb308d4d4f52db
Reviewed-on: https://dart-review.googlesource.com/57021
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-29 18:18:56 +00:00
Alexander Markov 1ca17b6d03 [vm/kernel] Recognize desugared mixin applications in dart:mirrors
Kernel mixin transformation desugars mixin applications into normal
classes. Mixed-in type is pulled into interfaces list.
However, dart:mirrors needs to know the original mixed-in type of
a mixin application.

This change solves this problem by propagating a 'isTransformedMixinApplication'
attribute of a class through kernel AST, kernel binary and VM objects
into dart:mirrors implementation.

Fixes: https://github.com/dart-lang/sdk/issues/33240
Change-Id: I98ca69294e1ad445402a5ca91d90c30447aabcb2
Reviewed-on: https://dart-review.googlesource.com/56721
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-05-29 18:12:26 +00:00
Konstantin Shcheglov 8b0c1f8044 Fix AstRewriteVisitor to set elements/types for instance creation nodes.
R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter/issues/17429
Change-Id: I818fabb2faf1b0ffb68957a9713a22e53db25709
Reviewed-on: https://dart-review.googlesource.com/57000
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-29 18:08:07 +00:00
Paul Berry 84fcf42c25 Bump analyzer version in preparation for publishing.
Change-Id: I1d794db9f086f8fb8830d7974b79653d549423c6
Reviewed-on: https://dart-review.googlesource.com/56708
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Janice Collins <jcollins@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-29 17:47:46 +00:00
danrubel 96dd9d49db Update Analyzer tests to pass NonExistingSource rather than null
Change-Id: I770d50a31230e7e3fdabecf4cbffc6fee76e1fb5
Reviewed-on: https://dart-review.googlesource.com/57020
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-29 17:12:26 +00:00
Dan Rubel b7336ab443 Improve field type argument recovery
This CL improves recovery when parsing field type arguments
and adds more tests for parsing type parameters and type arguments.

Change-Id: Ib6ee4081f898d0421d90a66de84d686206a06a8f
Reviewed-on: https://dart-review.googlesource.com/56682
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-29 16:30:46 +00:00
Brian Wilkerson b79e06630c Add a recovery test
Change-Id: Ib74d61b9999ad6640afbd64b9753d76d09eee44f
Reviewed-on: https://dart-review.googlesource.com/56711
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-26 14:42:52 +00:00
danrubel b4699ae795 Improve type parameter and type argument recovery
This improves recovery when parsing type arguments in
* top level fields and functions
* class members

and when parsing type parameters in
* top level functions
* class declaration
* class methods

Change-Id: I7dbb520d6bb39c0d13b27698658dafe580f2b16c
Reviewed-on: https://dart-review.googlesource.com/56681
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-26 02:25:53 +00:00
Brian Wilkerson abed87be08 Make BodyBuilder.handleCatchBlock use FormalParameters as catchParameters.
Change-Id: Ib3523faa2a7fa122e56ecef5b9ed6c42a1a8b90d
Reviewed-on: https://dart-review.googlesource.com/56604
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-25 15:41:03 +00:00
Brian Wilkerson 48e8b4cdbb Make Forest.forStatement take the conditionStatement rather than extracting the rightSeparator
Change-Id: I4fc8abddfc04cdde018480d7a078c46d3241b80d
Reviewed-on: https://dart-review.googlesource.com/56602
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-25 13:34:13 +00:00
Peter von der Ahé 8e25851870 Split LargeIntAccessGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: Ida249f93ad0b80bb52bb3278a1e2949c668b0e64
Reviewed-on: https://dart-review.googlesource.com/56493
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-25 07:45:46 +00:00