Commit Graph

4444 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 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
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
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
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 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
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
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
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
Konstantin Shcheglov de0e35829d Discover available files before searching in known files.
Known files are only used for seaching top-level declarations.
But we already get something for user from it - we can give Quick Fix
for imports, even if the package to import is not used yet in the project.

R=brianwilkerson@google.com

Change-Id: Iaa6d7ad515325b1bad3e37e7c066c42df056c85c
Reviewed-on: https://dart-review.googlesource.com/56623
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-25 01:24:35 +00:00
Paul Berry 993b4caf0e Make the change to ContextRoot non-breaking.
In 4cf51e6c1a, a new argument was added
to the ContextRoot constructor, changing its signature in a breaking
way.

In theory this should not have broken other packages, because
ContextRoot is declared inside analyzer/lib/src.  But it turns out
that two packages are known to import from analyzer/lib/src and
construct ContextRoot: angular_analyzer_plugin and
built_value_generator.  To avoid breaking these packages, we need to
add the new constructor parameter as an optional (named) parameter.

Some time after after angular_analyzer_plugin and
built_value_generator have been updated, I'll send a later CL to mark
the named parameter as @required.

Change-Id: I5be063dd47a3dfefba08cb444687b91bf2ba3625
Reviewed-on: https://dart-review.googlesource.com/56603
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-24 21:56:25 +00:00
Peter von der Ahé 8d4a1ccaf6 Split ReadOnlyAccessGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: Idccd5af9aac79300186b3a07c636bb580bdd637c
Reviewed-on: https://dart-review.googlesource.com/56491
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-24 11:35:02 +00:00
Peter von der Ahé ee9e1c1571 Split TypeUseGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: I89bf0ca368308e98846c8ea8b7c765398c48ecf7
Reviewed-on: https://dart-review.googlesource.com/56490
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-24 11:35:02 +00:00
Peter von der Ahé 9ec756b31c Split DeferredAccessGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: I40a91e6455128fedac871eb2691197333e2cba15
Reviewed-on: https://dart-review.googlesource.com/56489
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-24 11:35:02 +00:00
Peter von der Ahé 163807ad40 Split LoadLibraryGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: Id6e3f3935ce4bd4989b544c251b0e859f256eb19
Reviewed-on: https://dart-review.googlesource.com/56486
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-24 11:35:02 +00:00
Peter von der Ahé 1d8a72cacd Split StaticAccessGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: I99a1e1365da67a867f6c4ed5883649f157306d92
Reviewed-on: https://dart-review.googlesource.com/56502
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-24 10:16:11 +00:00
Peter von der Ahé b3862d5a92 Split SuperIndexedAccessGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: Ia962668e1327b53af968be9efdc41ea6b124b4d0
Reviewed-on: https://dart-review.googlesource.com/56482
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-24 08:27:59 +00:00
Mike Fairhurst 1d59ab22ce Fix #29014, make function type parameters invariant.
With the restricted behavior, some tests have been removed, modified,
and added based on the new invariance.

Bug: 29014
Change-Id: I086749bbe40aaa723009f9ae06f58d85554cae53
Reviewed-on: https://dart-review.googlesource.com/56029
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-05-24 07:56:29 +00:00
Brian Wilkerson e5eee0d57a Add Forest support for labeled statements
Change-Id: I8ab9fd9ac202268f3be93eb2c92266d387cd0bab
Reviewed-on: https://dart-review.googlesource.com/56261
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-23 20:23:52 +00:00
Brian Wilkerson 1567b442dd Add Forest support for catch clauses
Change-Id: I6b28d1a759d51cab59005052e9a47c3cab358dd3
Reviewed-on: https://dart-review.googlesource.com/56080
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-23 18:52:12 +00:00
Mike Fairhurst 2a5724c75c New package:build workspace before we support it at the language level
Change-Id: I3252a55d520e7f67666684369467af8ec88aea29
Reviewed-on: https://dart-review.googlesource.com/56285
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-05-23 18:34:45 +00:00