Commit Graph

2125 Commits

Author SHA1 Message Date
Sigmund Cherem f541f060ee [fe] deferred access checks for several access patterns of classes.
This adds checks for allocations and type values, and provides a compile
time error for type declarations, is-checks, and as-casts.

Change-Id: I3bfed41b0dd45abeb02158f0537102c779511998
Reviewed-on: https://dart-review.googlesource.com/36383
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-02-02 20:44:16 +00:00
Florian Loitsch 3b8e4d41a7 Reapply "Run async functions immediately."
Which was reverted in commit 032be73dbe.
Originally commited in commit 67bac0bce6.
Original review URL: https://dart-review.googlesource.com/5263

Change-Id: Ic7333c29e502a3924dc6aade8ffa46fc8aa5b04a
Reviewed-on: https://dart-review.googlesource.com/38120
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-02 15:50:16 +00:00
Jens Johansen c562c47f4c Disable loading corrupt dill in incremental_load_from_dill_test
Change-Id: If0f873de3ca69531a0e95bb8270db7c1645b06c6
Reviewed-on: https://dart-review.googlesource.com/38124
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-02 09:07:19 +00:00
Jens Johansen 7d06a43afa Revert "Avoid file io in incremental_load_from_dill_test"
This reverts commit 69412b2da7.

Reason for revert: Didn't work.

Original change's description:
> Avoid file io in incremental_load_from_dill_test
> 
> Attempt to avoid failure on Windows.
> 
> Change-Id: Ib86d36e377e655dc85f5a3e2da219e911fa3fa3c
> Reviewed-on: https://dart-review.googlesource.com/37761
> Reviewed-by: Jens Johansen <jensj@google.com>

TBR=ahe@google.com,jensj@google.com,kmillikin@google.com

Change-Id: I0f1957fd3a4f60dfcf86e907d2e36d243521b25e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37745
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-02-02 09:03:43 +00:00
Jens Johansen 69412b2da7 Avoid file io in incremental_load_from_dill_test
Attempt to avoid failure on Windows.

Change-Id: Ib86d36e377e655dc85f5a3e2da219e911fa3fa3c
Reviewed-on: https://dart-review.googlesource.com/37761
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-02 07:53:55 +00:00
Siva Chandra 71dba8a0e5 Link the platform kernel with the command line dart executable.
Change-Id: Ib376a259e2e9ff9b487820c041d6795f8f7192d1
Reviewed-on: https://dart-review.googlesource.com/37420
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-02-01 15:11:29 +00:00
Florian Loitsch 032be73dbe Revert "Run async functions immediately."
This reverts commit 67bac0bce6.

Reason for revert: broke the bot.

Original change's description:
> Run async functions immediately.
> 
> Migrated from https://codereview.chromium.org/2478703003/
> 
> Change-Id: I1d678c01ba5876490b12c676c500171328361d31
> Reviewed-on: https://dart-review.googlesource.com/5263
> Commit-Queue: Florian Loitsch <floitsch@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Vijay Menon <vsm@google.com>
> Reviewed-by: William Hesse <whesse@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>

TBR=whesse@google.com,rnystrom@google.com,vegorov@google.com,kustermann@google.com,zra@google.com,floitsch@google.com,jmesserly@google.com,vsm@google.com,regis@google.com,sigmund@google.com

Change-Id: I20c948057423c3fa5aa8c72843f8f2a17e086ad5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37981
Reviewed-by: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-01 15:01:21 +00:00
Jens Johansen c3b992dcd8 [fasta] incremental compiler can initialize from dill
As requested in #31691 the incremental compiler should be able to
initialize its state from a previously generated dill file.

This CL introduces that functionally.
It is tested, but actual usage (e.g. proper invalidation of old files)
should live outside of the front-end (i.e. it's the callers responsibility).
One option would be for the caller to load the dill file and use the
included sources to invalidate changed files.

On my machine a from-scratch compile of dart2js takes ~5 seconds,
one initialized from such an output and with a single file invalidated
(though it actually hasn't changed) it takes ~1 second and the resulting
dill file is bit-perfect compared to the from-scratch compiled one.

Closes #31691.

Change-Id: I07f5efca5f2684d73f6c252f2dbc2ad04e9b5cd0
Reviewed-on: https://dart-review.googlesource.com/37260
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-02-01 14:57:07 +00:00
Aske Simon Christensen caabeaa618 Add type variables to scope before their bounds are resolved.
Closes https://github.com/dart-lang/sdk/issues/31766

Change-Id: I9be63fa04a083a5a7aaedb21829c77287d61b615
Reviewed-on: https://dart-review.googlesource.com/37742
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2018-02-01 14:49:47 +00:00
Florian Loitsch 67bac0bce6 Run async functions immediately.
Migrated from https://codereview.chromium.org/2478703003/

Change-Id: I1d678c01ba5876490b12c676c500171328361d31
Reviewed-on: https://dart-review.googlesource.com/5263
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-02-01 14:08:57 +00:00
Leaf Petersen 58bb8ace3f Fix missing variable typo in Link
Change-Id: I7c4c9ef5149328bb80ca7fadacb896654913fa4c
Reviewed-on: https://dart-review.googlesource.com/37641
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
2018-01-31 21:24:08 +00:00
Brian Wilkerson 1d9ac49dd9 Reland "Add an error when an integer literal is out of bounds"
Change-Id: Id6ef76b47bedabc96fc372f6aea455975dfcc213
Reviewed-on: https://dart-review.googlesource.com/37840
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-31 16:50:55 +00:00
Dan Rubel ec7435945d Remove findMemberName from parseTopLevelMember
This CL refactors parseTopLevelMember so that it does not scan ahead
using findMemberName. This is the next step in removing findMemberName
to improve top level declaration recovery.

Change-Id: I4d949f72cba5618541448c08e1756bf45a4d1762
Reviewed-on: https://dart-review.googlesource.com/37680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-31 12:04:56 +00:00
Alexander Markov ec6eb06d2f [CFE] Make synthetic __loadLibrary procedure static
Change-Id: I23fa164059b214bcc763ac582aafcf86dc1964d4
Reviewed-on: https://dart-review.googlesource.com/37121
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-01-30 17:48:59 +00:00
Jens Johansen 23361e89bd [fasta] Fix crash with "unsupported operation 'name'"
Fixes #31170.

Bug: 31170
Change-Id: I926384a3dff21255439070065ca4083c22e8fc4c
Reviewed-on: https://dart-review.googlesource.com/36460
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-30 13:08:09 +00:00
Paul Berry e978cd6062 Encapsulate the handling of forwarding stub target references.
As discussed in https://dart-review.googlesource.com/c/sdk/+/34261.

Change-Id: I2af5021ad9738f6bc47bb11d2a1133f303d3ace9
Reviewed-on: https://dart-review.googlesource.com/36481
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-01-30 11:49:38 +00:00
Paul Berry 013a445a1a Create Procedure.isSyntheticForwarder getter.
The front end frequently needs to know whether a procedure is a
"synthetic forwarder", meaning that it is a forwarding stub and *not*
a forwarding semi-stub.  This CL provides a getter to compute this,
reducing the risk of front end bugs.

Change-Id: I1a9c584b7843948e7ac256dace25efa99b304bf6
Reviewed-on: https://dart-review.googlesource.com/36900
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-01-29 14:06:12 +00:00
Samir Jindel 7d00b79477 [kernel] Support native extensions in the VM through Kernel.
Change-Id: I860e66b3e66a882ff771e477c318362cefbd4eaa
Reviewed-on: https://dart-review.googlesource.com/35925
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-29 14:04:35 +00:00
Samir Jindel 68554ab8f5 [kernel] Support "dart-ext:..." imports in the CFE.
They are encoded as annotations on the importing library, similarly to
how native methods are encoded.

Change-Id: I4dc1119b20949308e4856666693fe4e890e9ee87
Reviewed-on: https://dart-review.googlesource.com/35660
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-01-29 14:04:25 +00:00
Paul Berry 2fb377240a Further fix to type inference of operator []=.
When one of the parameter types needs to be type inferred, don't also
try to use ordinary method type inference for the return type; it is
still inferred as `void`.

Add a test to make sure this corner case works, as well as a similar
corner case for setters (which did not require fixing).

Fixes #31779.

Change-Id: Id443260a12e44f88d9dadbbf916c13be3cc303b9
Reviewed-on: https://dart-review.googlesource.com/37300
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-01-29 13:27:24 +00:00
Dmitry Stefantsov 936d8c317b Forbid super-bounded types in constructor invocations
Change-Id: I9af6b843925105da69148fcfb099e965f0e62f73
Reviewed-on: https://dart-review.googlesource.com/35180
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-01-29 13:19:23 +00:00
Paul Berry 92c5f67a5b Add a shadow object to represent a deferred check.
Fixes #31987.

Change-Id: Icc9bbf44976fdcbbbde5b25db6799545c843e311
Reviewed-on: https://dart-review.googlesource.com/37082
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-01-27 16:06:23 +00:00
Paul Berry 18ff13517d Fix type promotion handling of ||.
Fixes #31983.

Change-Id: I3ee02a2886de0a44e1dfe7cdd9f66f46293d4255
Reviewed-on: https://dart-review.googlesource.com/37081
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-01-27 16:04:50 +00:00
Dan Rubel c31758dfee Fasta parser cleanup
Per discussion with Peter, this CL updates all begin* and handleNoType
events to take atleast one token parameter.

* Ensure all fasta parser begin* events take atleast one parameter
* Update handleNoType event to take last consumed token
* Address comment in https://dart-review.googlesource.com/c/sdk/+/36820
* Remove unused skipToLastModifier method

Change-Id: I1be25fe4327a63707f74163fa2b93452d71e7748
Reviewed-on: https://dart-review.googlesource.com/36960
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-26 18:00:54 +00:00
Mike Fairhurst dcb7ad3a10 Create a single CL to get CFE void-compliant
This is to incrementally land https://dart-review.googlesource.com/c/sdk/+/35805.

This FE code uses 'void' values where they are not allowed

Change-Id: I2c10766dbf0367a1f6db6f29db2f6f2005165f83
Reviewed-on: https://dart-review.googlesource.com/36800
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-01-26 17:46:55 +00:00
Dan Rubel c284670f54 Refactor fasta parse class member modifiers
This CL moves modifier parsing out of parseMethod and parseFields
into parseClassMember and before findMemberName.
This is the next step in evenally removing findMemberName
and improving top level declaration recovery.

This CL also removes unused parameters from several fasta parser events.
Per discussion with Peter, tokens will be added back to each of these
events in a subsequent CL.

Change-Id: I4ffc0622b75581b5fdb527feeb19ae0b68c4eeaf
Reviewed-on: https://dart-review.googlesource.com/36820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-26 13:39:08 +00:00
Ryan Macnak a369b88497 Teach package:kernel and patch_sdk.dart about dart_runner.
Change-Id: Ie39e278031b8d484086f3b4ad0c2eb323a152fc3
Reviewed-on: https://dart-review.googlesource.com/36489
Reviewed-by: Zach Anderson <zra@google.com>
2018-01-26 00:05:08 +00:00
Dan Rubel 2be7b9566f Refactor fasta parse top level modifiers
This CL moves modifier parsing out of parseTopLevelMethod
and parseFields into parseTopLevelMember and before findMemberName.
This is the next step in evenally removing findMemberName
and improving top level declaration recovery.

* New ModifierRecoveryContext2 which will soon replace
   both ModifierContext and ModifierContext2
* Remove now unused TopLevelModifierRecoveryContext
* Remove unused beginTopLevelMethod event arguments
* Remove unused handleNoType event arguments
* Address comment in https://dart-review.googlesource.com/c/sdk/+/36500

Change-Id: I6842a83d9604cdcca611d7209e3ebcc78de469d3
Reviewed-on: https://dart-review.googlesource.com/36680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-25 00:05:46 +00:00
Paul Berry 1891084dec Generate fresh type parameters prior to inferring an invocation.
This is necessary to avoid confusion when a generic function or method
recursively calls itself.

Fixes #31759.

Change-Id: I4e3be2093e9d6b81f084250435ea7493ca6b2464
Reviewed-on: https://dart-review.googlesource.com/36363
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-01-24 19:41:58 +00:00
Dan Rubel d5bd271430 Refactor modifiers in parseFields
This is the next step towards removing findMemberName
and improving class member and top level declaration
recovery.

* Remove modifiers from findMemberName results
* Inline modifier parsing in parseFields
* move non modifier recovery out of ModifierRecoveryContext

Change-Id: I9cb4abd7632021720ba184440f0b1af382e72794
Reviewed-on: https://dart-review.googlesource.com/36500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-24 12:18:28 +00:00
Paul Berry d031b0aecf Remove unnecessary typeNeeded booleans from type inference engine.
Change-Id: I35039a5662e48a983b214ceb3732c3e900396db4
Reviewed-on: https://dart-review.googlesource.com/36380
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-01-23 15:22:58 +00:00
Siva Annamalai 5f5bba2a74 Normalize status files.
Allow void as a type.
Change-Id: Ia94c50bcc2e4023008da1dad60cdbfc3465d936b

Change-Id: Ibe7d394cf92e6bb45e06770329da857bcb2c84b0
Reviewed-on: https://dart-review.googlesource.com/36127
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-01-20 23:02:08 +00:00
Peter von der Ahé f07534c36e Update status files for implicit new and const
Change-Id: Ie71464c1c83ec9516d178640fdd745705588f410
Reviewed-on: https://dart-review.googlesource.com/35940
Reviewed-by: Jens Johansen <jensj@google.com>
2018-01-19 15:26:25 +00:00
Peter von der Ahé 8cb24d49e7 Implement implicit const on list and map literals
Change-Id: I2b6c48ed8e16f4c733447ed30bd82d6fe2be306e
Reviewed-on: https://dart-review.googlesource.com/35864
Reviewed-by: Jens Johansen <jensj@google.com>
2018-01-19 15:26:25 +00:00
Peter von der Ahé 26f7ad3098 Implement implicit const for constructors
Change-Id: I25add4ce4830414266b8fed2388b6de2747b227d
Reviewed-on: https://dart-review.googlesource.com/35863
Reviewed-by: Jens Johansen <jensj@google.com>
2018-01-19 15:26:25 +00:00
Peter von der Ahé 2c4e98f2e3 Implict new for constructor invocations
Change-Id: I3806d705295c581e8a5d93f1bf0698c88fc073b3
Reviewed-on: https://dart-review.googlesource.com/33321
Reviewed-by: Jens Johansen <jensj@google.com>
2018-01-19 15:26:25 +00:00
Jens Johansen 6fe7b74e47 [kernel] Mark synthetic constructors as such
Fixes #31143

Change-Id: I2c844e48c955234de1b03de08c12729f72db4f3a
Reviewed-on: https://dart-review.googlesource.com/35921
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-19 12:29:56 +00:00
Jens Johansen 285da408f8 [kernel] Update a few more expect files after default to synthetic change
Change-Id: Ifbe7a6dc463d265df337d7d64d60a43d8ad5a278
Reviewed-on: https://dart-review.googlesource.com/35900
Reviewed-by: Jens Johansen <jensj@google.com>
2018-01-19 10:32:17 +00:00
Jens Johansen c1160d8cfa [kernel] Change ast to text output to use synthetic instead of default
Change-Id: Ied8777df13aa0411daf89f3ad3ec6bdda7bb4898
Reviewed-on: https://dart-review.googlesource.com/35862
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-19 09:58:46 +00:00
Dmitry Stefantsov 5e1175b8e8 Add tests of interaction between type inference and instantiate to bound
Change-Id: I9a46e62ab8bdedea2dc2cd64f458c5238a951a59
Reviewed-on: https://dart-review.googlesource.com/34660
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2018-01-19 08:40:25 +00:00
Jens Johansen 76eb861729 [fasta] Add Null on the list of classes that cannot be extended
Fixes #31817.

Bug: 31817
Change-Id: I7c2f98efee57724b65692fb0daa59ca12623dbe2
Reviewed-on: https://dart-review.googlesource.com/35601
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-19 06:53:57 +00:00
Brian Wilkerson e95486d18e Revert "Add an error when an integer literal is out of bounds"
Change-Id: I2376904a8b92382c0f33212f41c88bafd75f3a15
Reviewed-on: https://dart-review.googlesource.com/35806
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-18 22:40:14 +00:00
Sigmund Cherem e2ad2db805 Generate checks for library-is-loaded to fasta and dart2js.
Change-Id: Ibf453ca7390b81da7231dcb1be43e426c00d6eeb
Reviewed-on: https://dart-review.googlesource.com/35100
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-01-18 20:17:14 +00:00
Brian Wilkerson cf7efddb0b Add an error when an integer literal is out of bounds
Change-Id: I8bc9e6e03d76822785f254ec346d82983ea63f2c
Reviewed-on: https://dart-review.googlesource.com/31841
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-01-18 17:30:54 +00:00
Peter von der Ahé 6e4e931309 Ensure duplicated members also have a default supertype
Change-Id: I33b6fa0fef116f20d382dd77644476d05f1378c5
Reviewed-on: https://dart-review.googlesource.com/35661
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-01-18 16:50:14 +00:00
Zachary Anderson 9c40a7e662 Reland: [dart:cli] Adds waitFor(Future)
This is a reland of https://dart-review.googlesource.com/#/c/sdk/+/28920/
with the following changes:
- It creates a new library dart:cli
- waitFor(Future) goes in dart:cli instead of dart:io
- Removes a flaky test, and adds a missing precompiler entrypoint
- Adds waitFor(Future)
- Improves doc comments

fixes #31102

Change-Id: I04d2c46fd0afac049dd4fd1353905dc20da18f90
Reviewed-on: https://dart-review.googlesource.com/29449
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Natalie Weizenbaum <nweiz@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-18 16:38:54 +00:00
Peter von der Ahé 3fcede3c7f Short-term hack to work around issue with duplicated interfaces.
See dartbug.com/31656

Change-Id: I017085953c5ac41d2cfd7368752918c6fcb51144
Reviewed-on: https://dart-review.googlesource.com/33884
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-01-18 14:10:15 +00:00
Johnni Winther 513ac0ffd7 Implement runDiff for Windows
Change-Id: Ic9191e3844e5bcd47c97867f4a7cec52c161fd7a
Reviewed-on: https://dart-review.googlesource.com/35280
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-01-18 12:57:45 +00:00
Peter von der Ahé 1d1cc3c4c2 Ensure library dependencies are seen by SourceLoader
Change-Id: I3fa2cbc386446172fbbb1150d351ff9282678b7a
Reviewed-on: https://dart-review.googlesource.com/35181
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-01-18 12:50:26 +00:00
Dan Rubel 69dfe14453 Improve local modifier recovery
In addition to inlining and improving local modifier recovery,
this CL also cleans up several tests and addresses comments
in https://dart-review.googlesource.com/c/sdk/+/35300

Change-Id: Icf0ad8afdb923e52f43e4d8fa91b1731ab99089c
Reviewed-on: https://dart-review.googlesource.com/35500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-18 12:18:56 +00:00