Commit Graph

17102 Commits

Author SHA1 Message Date
Vyacheslav Egorov eb997b2818 [vm/kernel] Support as{TypeError} as a constant expressions.
Under certain conditions front-end currently generates as{TypeError}
type checks in constant expressions. Support evaluating these type
checks as constant expressions instead of rejecting them.

Change-Id: Id432c4c5062d7bab89c29fef308b42b2cbd64de8
Reviewed-on: https://dart-review.googlesource.com/41761
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-02-16 13:37:37 +00:00
Emily Fortuna c9d1d87708 Fix redness of dart2js bots as a result of Dima's FE change.
Change-Id: Icc4d3f820f2670197feb21c6320575e042951f8a
Reviewed-on: https://dart-review.googlesource.com/41904
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-02-15 19:32:38 +00:00
Dmitry Stefantsov 43ddb1cd99 Update more status files after landing ec9c927b18
Change-Id: I978cc28895c515ba6c6d5db9a08606b8c01993e9
Reviewed-on: https://dart-review.googlesource.com/41860
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-15 17:30:08 +00:00
Brian Wilkerson 386f8b2f5f Skip remaining Dart 1.0 tests
Change-Id: I8014cdb5d5cd154f52043593e577b29a01d71e2b
Reviewed-on: https://dart-review.googlesource.com/41601
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-02-15 14:14:07 +00:00
Lasse R.H. Nielsen 1c8b2285c3 Another missing status line.
Change-Id: Iea55aee3689a346ddcbe292209b755c21e2f226f
Reviewed-on: https://dart-review.googlesource.com/41760
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-02-15 14:02:31 +00:00
Jens Johansen 00c9af8522 [fasta] Fix crash when importing nonexisting "dart:" uri
Previously, importing a nonexisting "dart:" uri resulted in a crash in
fasta. This CL introduces a test and fixes the problem.

Fixes #31172.

Change-Id: I61b2668466f2567e5e5dcaff3203f0c5ee9a885f
Reviewed-on: https://dart-review.googlesource.com/36401
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-02-15 14:00:17 +00:00
Lasse R.H. Nielsen 0fb1c5bc7b Mark test as failing on analyzer.
Change-Id: I7ebe8f4cbdafbf6b93fb3af2950c956c18790c6f
Reviewed-on: https://dart-review.googlesource.com/41680
Reviewed-by: Erik Ernst <eernst@google.com>
2018-02-15 11:32:59 +00:00
Lasse R.H. Nielsen 06439147c4 Update some tests to work better.
Add test for strong-mode only allowing super-chaining at the end of the initializer list.

Change-Id: Ic1c99f4f24738094eec14cb9c59354716f776b1e
Reviewed-on: https://dart-review.googlesource.com/40301
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-02-15 08:43:34 +00:00
kmillikin 3d05042639 Remove the different runtime sections for dartdevk
It's no longer necessary to guard against $runtime != none in most
cases because running test.py with --runtime=none will treat runtime
failure expectations as Pass.

Change-Id: Ieaff9957ad951066d93a3303af5499c7655d67a6
Reviewed-on: https://dart-review.googlesource.com/41567
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-02-15 01:38:44 +00:00
Dmitry Stefantsov 28887cc851 Update more dart2js status after landing ec9c927b18
Change-Id: If2e302e0e840f6cb1aa9076c8d854e55d36cba90
Reviewed-on: https://dart-review.googlesource.com/41266
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-15 00:15:10 +00:00
Jenny Messerly b371ed5db3 fix #32140, locals shadowing constructor/catch params
This gets DDC and DDK to handle the block body of functions/methods in a
similar way, eliminating it from the JS if it is not necessary, and fixes
a bug in DDC for cases where we do need to emit a nested block scope.

Change-Id: I37d3d69bfcf9b1204385cca7785601fb7d6edfc3
Reviewed-on: https://dart-review.googlesource.com/41565
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-02-14 23:43:13 +00:00
Dmitry Stefantsov 81dca893b1 Update status files: some tests pass due to ec9c927b18
Change-Id: I87588883cdbe8f724ff519c1968b583f03e32f69
Reviewed-on: https://dart-review.googlesource.com/41265
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-14 23:38:27 +00:00
Sigmund Cherem 4436877ab2 More changes to make bots happy
R=efortuna@google.com

Change-Id: If0407436d204d9668a0ed13bf5fe2d36a0e041a9
Reviewed-on: https://dart-review.googlesource.com/41563
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-02-14 23:09:34 +00:00
kmillikin b019045393 Front-end implementation of mixin type inference.
Infer missing type arguments to generic mixin classes in mixin
applications based on mixin supertype constraints.  The implementation
directly follows the draft feature specification at
https://dart-review.googlesource.com/c/sdk/+/38940.

Bug: https://github.com/dart-lang/sdk/issues/31984
Change-Id: I7caba037b1b0e73c44f71aaa958f3ff3e8f3c1f0
Reviewed-on: https://dart-review.googlesource.com/40661
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-02-14 22:43:24 +00:00
Dmitry Stefantsov ec9c927b18 Resolve type arguments of redirecting factories invocations
Fixes #32068

Change-Id: Ifc2c832d5a761ae51b7f93084543aa04902a9529
Reviewed-on: https://dart-review.googlesource.com/40280
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-02-14 22:03:23 +00:00
Sigmund Cherem 50db95f69b Fixes for CSP: status lines and some test fixes.
These failures started showing up when we switched to use chrome instead of DRT
for CSP tests.

Change-Id: I53b70ce18eaef73e720e10fdac05245953131f7c
Reviewed-on: https://dart-review.googlesource.com/41480
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-14 21:54:53 +00:00
Régis Crelier 3d756ec4ab [VM runtime] In strong mode, restrict subtyping rules of callable instances (fixes #32154).
Update kernel status files.

Change-Id: I2bf6097b5229d80cc90baed92fd8dcc750667b23
Reviewed-on: https://dart-review.googlesource.com/41482
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-02-14 21:48:27 +00:00
Brian Wilkerson 75a2a1524f Support updated optional new and const spec
Change-Id: I974185eba4936f14d7b9d5d1d5c1638a37624c62
Reviewed-on: https://dart-review.googlesource.com/41024
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-02-14 17:12:13 +00:00
Lasse R.H. Nielsen 7ca47924ad Fix status to mark crash.
Change-Id: I141e5b2eb3960caefaab34e39d8591cf20cfbc90
Reviewed-on: https://dart-review.googlesource.com/41262
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2018-02-14 15:27:33 +00:00
Paul Berry c4de71ede2 Re-land "Change front_end handling of callable classes."
Original description:
Change front_end handling of callable classes.

This CL is the first in a series of CLs to change the handling of
callable classes in Dart 2.0.

For purposes of this description, a "callable class" is a class whose
interface contains a `.call` method.

In Dart 1.0, a callable class was considered to be a subtype of the
`.call` method's function type.  This allowed the user to create
custom objects with similar behavior to closures, but with additional
fields and methods.

In Dart 2.0, a callable class is just an ordinary class, with no
subtype relation to any particular function type.  (Note however that
it is still permissible for a class to declare that it "implements
Function").

To reduce the amount of code broken by this change, a piece of
syntactic sugar is being added: if an expression whose static type is
a callable class appears where a function type is expected, an
implicit tear-off of the `.call` method is inserted.

Note that it is still possible at compile time to invoke an expression
whose static type is a callable class, and it is still possible at
runtime to invoke an expression whose runtime type is a callable
class; in both cases, this is considered an implicit invocation of the
class's `.call` method.  This is unchanged from Dart 1.0 behavior.

This CL introduces test cases for the new behavior, and implements the
implicit tear-off of `.call` in the front end.

Still to be implemented in future CLs:

- Spec text needs to be written.

- DDC/analyzer code needs to be written to perform implicit tear-offs
  of `.call`.

- The subtyping algorithm in DDC, analyzer, VM, and dart2js needs to
  be changed so that callable classes are no longer considered
  subtypes of any particular function type.

- A small corner case involving type parameters still needs to be
  addressed (see TODO in
  pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart).

Fixes #32064.

Change-Id: I0d397c608321e25ba42cc02aa8a516aa77aa7c9d
Reviewed-on: https://dart-review.googlesource.com/41280
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-02-14 15:22:25 +00:00
Paul Berry d2b2d9f692 Stop testing co19 using the analyzer.
Non-strong semantics are no longer supported in the analyzer.  Testing
the old (non-strong) co19 suite with the analyzer just leads to
unnecessary status file churn.

Change-Id: I490dd9fee9a7916184c09c27883f8e7c1df5486c
Reviewed-on: https://dart-review.googlesource.com/41201
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-02-14 14:51:24 +00:00
Paul Berry e2bdbb8bb8 Revert "Change front_end handling of callable classes."
This reverts commit f0a6330db0.

Reason for revert: Broken bots

Original change's description:
> Change front_end handling of callable classes.
> 
> This CL is the first in a series of CLs to change the handling of
> callable classes in Dart 2.0.
> 
> For purposes of this description, a "callable class" is a class whose
> interface contains a `.call` method.
> 
> In Dart 1.0, a callable class was considered to be a subtype of the
> `.call` method's function type.  This allowed the user to create
> custom objects with similar behavior to closures, but with additional
> fields and methods.
> 
> In Dart 2.0, a callable class is just an ordinary class, with no
> subtype relation to any particular function type.  (Note however that
> it is still permissible for a class to declare that it "implements
> Function").
> 
> To reduce the amount of code broken by this change, a piece of
> syntactic sugar is being added: if an expression whose static type is
> a callable class appears where a function type is expected, an
> implicit tear-off of the `.call` method is inserted.
> 
> Note that it is still possible at compile time to invoke an expression
> whose static type is a callable class, and it is still possible at
> runtime to invoke an expression whose runtime type is a callable
> class; in both cases, this is considered an implicit invocation of the
> class's `.call` method.  This is unchanged from Dart 1.0 behavior.
> 
> This CL introduces test cases for the new behavior, and implements the
> implicit tear-off of `.call` in the front end.
> 
> Still to be implemented in future CLs:
> 
> - Spec text needs to be written.
> 
> - DDC/analyzer code needs to be written to perform implicit tear-offs
>   of `.call`.
> 
> - The subtyping algorithm in DDC, analyzer, VM, and dart2js needs to
>   be changed so that callable classes are no longer considered
>   subtypes of any particular function type.
> 
> - A small corner case involving type parameters still needs to be
>   addressed (see TODO in
>   pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart).
> 
> Fixes #32064.
> 
> Change-Id: I6a86491047ae467a5e767cb3cc7cecb570b29308
> Reviewed-on: https://dart-review.googlesource.com/40508
> Commit-Queue: Paul Berry <paulberry@google.com>
> Reviewed-by: Kevin Millikin <kmillikin@google.com>
> Reviewed-by: Leaf Petersen <leafp@google.com>
> Reviewed-by: Erik Ernst <eernst@google.com>

TBR=paulberry@google.com,lrn@google.com,leafp@google.com,dmitryas@google.com,eernst@google.com,kmillikin@google.com

Change-Id: Ia3d3a6e46ceee2b2c55938bec95d09d50bbf06a7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/41240
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-02-14 13:10:54 +00:00
Lasse R.H. Nielsen fed7120b07 Make UnmodifiableMapView not lose unmodifiability on cast/retype.
Change-Id: I44c084353b35e16cd2fd5481d86a7be6c0b62ef3
Reviewed-on: https://dart-review.googlesource.com/41160
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-02-14 12:49:23 +00:00
Paul Berry 421db9c69c Re-land "Implement proper checking for callability of Function class."
(was reverted in https://dart-review.googlesource.com/c/sdk/+/40980
due to an analyzer bot breakage)

Original commit message:
Implement proper checking for callability of Function class.

There was some old (incorrect) logic for doing this, behind the flag
enableStrictCallChecks.  This flag has been removed, since the new
behavior is now standard in Dart 2.0.

Fixes #31509

Change-Id: Ice5cf38bbc648badf7f2563ff930b69f9a799635
Reviewed-on: https://dart-review.googlesource.com/41120
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-02-14 11:30:23 +00:00
Paul Berry f0a6330db0 Change front_end handling of callable classes.
This CL is the first in a series of CLs to change the handling of
callable classes in Dart 2.0.

For purposes of this description, a "callable class" is a class whose
interface contains a `.call` method.

In Dart 1.0, a callable class was considered to be a subtype of the
`.call` method's function type.  This allowed the user to create
custom objects with similar behavior to closures, but with additional
fields and methods.

In Dart 2.0, a callable class is just an ordinary class, with no
subtype relation to any particular function type.  (Note however that
it is still permissible for a class to declare that it "implements
Function").

To reduce the amount of code broken by this change, a piece of
syntactic sugar is being added: if an expression whose static type is
a callable class appears where a function type is expected, an
implicit tear-off of the `.call` method is inserted.

Note that it is still possible at compile time to invoke an expression
whose static type is a callable class, and it is still possible at
runtime to invoke an expression whose runtime type is a callable
class; in both cases, this is considered an implicit invocation of the
class's `.call` method.  This is unchanged from Dart 1.0 behavior.

This CL introduces test cases for the new behavior, and implements the
implicit tear-off of `.call` in the front end.

Still to be implemented in future CLs:

- Spec text needs to be written.

- DDC/analyzer code needs to be written to perform implicit tear-offs
  of `.call`.

- The subtyping algorithm in DDC, analyzer, VM, and dart2js needs to
  be changed so that callable classes are no longer considered
  subtypes of any particular function type.

- A small corner case involving type parameters still needs to be
  addressed (see TODO in
  pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart).

Fixes #32064.

Change-Id: I6a86491047ae467a5e767cb3cc7cecb570b29308
Reviewed-on: https://dart-review.googlesource.com/40508
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2018-02-14 11:03:32 +00:00
Régis Crelier 4c9a842d61 [corelib] Cleanup isValidInt and toInt() in new BigInt implementation.
Change-Id: I1f107d4f6e26ea3644bc6c9f7cff5ee6fac43958
Reviewed-on: https://dart-review.googlesource.com/40512
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-02-14 03:43:52 +00:00
Paul Berry 35aea15097 Revert "Implement proper checking for callability of Function class."
This reverts commit 6837dafcc3.

Reason for revert: Broke analyzer bots.

Original change's description:
> Implement proper checking for callability of Function class.
> 
> There was some old (incorrect) logic for doing this, behind the flag
> enableStrictCallChecks.  This flag has been removed, since the new
> behavior is now standard in Dart 2.0.
> 
> Fixes #31509
> 
> Change-Id: I4a6da34a4b85ea8409f6e0d14c377a586546056a
> Reviewed-on: https://dart-review.googlesource.com/40509
> Commit-Queue: Paul Berry <paulberry@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Mike Fairhurst <mfairhurst@google.com>

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

Change-Id: Ib631ad16bc5e937ff914127d1c5330f3fcaff2c9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/40980
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-02-13 19:56:35 +00:00
Paul Berry 6837dafcc3 Implement proper checking for callability of Function class.
There was some old (incorrect) logic for doing this, behind the flag
enableStrictCallChecks.  This flag has been removed, since the new
behavior is now standard in Dart 2.0.

Fixes #31509

Change-Id: I4a6da34a4b85ea8409f6e0d14c377a586546056a
Reviewed-on: https://dart-review.googlesource.com/40509
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2018-02-13 14:19:08 +00:00
Johnni Winther f2b8cafb44 Handle assert in initializers of constant constructors.
Change-Id: Ibb4053af00392b3c43177c60c8551cc6ffe937eb
Reviewed-on: https://dart-review.googlesource.com/38320
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-13 14:00:01 +00:00
Jens Johansen 7db26111a3 [gardening] Update simarm64 status file, issue #32134
Change-Id: Ia3b6cea2576130380dcc45101ea328f6f1b8dd85
Reviewed-on: https://dart-review.googlesource.com/40801
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-13 13:38:28 +00:00
Jens Johansen f5829bb75e [gardening] kernel/windows status file updates #2
Change-Id: I5ba0dd75456ec07c833f5d2e88b30e814139b37a
Reviewed-on: https://dart-review.googlesource.com/40745
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-13 13:08:52 +00:00
Erik Ernst 8c089e18c2 Fixed two typos in void_type_function_types_test
Change-Id: I7e33874f9d6361c15fce61292fe0eaf22c3a85c4
Reviewed-on: https://dart-review.googlesource.com/35922
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2018-02-13 12:47:18 +00:00
Jens Johansen 4083ff54e7 [gardening] Status files for kernel optimization_counter_threshold bot
Change-Id: I12334bfcec3e31aea753dd815ccb15695f0db5a3
Reviewed-on: https://dart-review.googlesource.com/40780
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-13 12:40:34 +00:00
Jens Johansen 4fac2530de [gardening] kernel/windows status file updates #1
Bugs #32137 and #32138.

Change-Id: If91591170b342794120076fe6af269e8020d3796
Reviewed-on: https://dart-review.googlesource.com/40744
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-13 11:58:15 +00:00
Johnni Winther d30aaaa4b8 Ensure no type parameters on constructors.
Change-Id: I6a40e2f74b8a89e5873d94d406a56f82db0d0b48
Reviewed-on: https://dart-review.googlesource.com/40526
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-13 11:11:05 +00:00
Jens Johansen 6da54fc938 [gardening] dart2js --checked --fast-startup status update
Change-Id: I577acba4868397645f22ad1f17ba256dcb26d536
Reviewed-on: https://dart-review.googlesource.com/40740
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-13 09:13:46 +00:00
Rafal Wachol 91890156cc Added ability to set User Agent for Websocket connection.
Bug: https://github.com/dart-lang/sdk/issues/32008
Change-Id: Ia74689e808a57b00a518e6a32f1763a40afc5860
Reviewed-on: https://dart-review.googlesource.com/40220
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-02-13 06:15:53 +00:00
Stephen Adams 651942ca83 dart2js kernel status
TBR=sigmund@google.com

Change-Id: I6b84d51a3fe6f940892637712c9501659612fd75
Reviewed-on: https://dart-review.googlesource.com/40680
Reviewed-by: Stephen Adams <sra@google.com>
2018-02-13 04:43:29 +00:00
Alexander Markov 882daf8972 [Tests] Update tests/kernel for Dart 2 fixed-size integers
Closes https://github.com/dart-lang/sdk/issues/32072

Change-Id: Ic9bb34d2dbee6852e024f1b79d895e4d8150f03f
Reviewed-on: https://dart-review.googlesource.com/39821
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-02-13 00:09:28 +00:00
Stephen Adams d78c05279a dart2js runtime Dart 2 subtype check (mostly)
This change adds most of Dart 2 subtype checking to js_runtime.
The main observable change is the stronger subtyping of function types.
The subtype code is split into V1 and V2 methods with the intention to
eventually remove the V1 paths.

There is a lot of minor details that are still TODO:

- TODO: generalized void
- TODO: comparison on type variable by it's bound
- TODO: FutureOr

Change-Id: Id05db0aef5ce0d58416a72f1538a90ed67436b3e
Reviewed-on: https://dart-review.googlesource.com/37960
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-02-12 23:54:48 +00:00
Mike Fairhurst 7a0a9284ba Relax void errors: no error assigning void to void variable (+tests)
Change-Id: I1a6e80125dff6f766c9a74b760b557609a2544fb
Reviewed-on: https://dart-review.googlesource.com/40507
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-02-12 21:24:19 +00:00
Samir Jindel 0e6d8c0fc7 Update status files.
Change-Id: Icb2249b3e115dbd738136873cf664a2e2412e369
Reviewed-on: https://dart-review.googlesource.com/40580
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-02-12 18:49:33 +00:00
Zachary Anderson 23fe39e89f [dart:typed_data] Adds unmodifiable list views
On Fuchsia, we need external typed data arrays that are backed by
read-only regions of memory. Today, writes to these typed data
lists crash the process. This change allows us to wrap the
external typed data in unmodifiable views so that an exception
is thrown instead of crashing.

related #32028

Change-Id: I94dc5e1771b73480cb0eb21799215c090000fd5f
Reviewed-on: https://dart-review.googlesource.com/40201
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-02-12 16:30:51 +00:00
Vyacheslav Egorov 1796437cce [vm/kernel] Support synchronously completing futures
Slightly alter async/await transformation in such a way that
:await_jump_var/:await_ctx_var are set before _awaitHelper(...) is invoked -
just like in the AST transformer used by the legacy pipeline. This guarantees
that recursive invocations will continue from the right "jump" point (instead of
continuing from the current jump point).

Fixes https://github.com/dart-lang/sdk/issues/32098

Change-Id: I8899669ceefe3f2edba6531897834b2c275efada
Reviewed-on: https://dart-review.googlesource.com/40520
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-12 15:01:18 +00:00
Johnni Winther 62f0120bb9 Update status for d8-minified
Change-Id: I4a382baa4b84e975c445bc2512b55e4bfcdd1b30
Reviewed-on: https://dart-review.googlesource.com/40525
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-02-12 14:40:07 +00:00
Johnni Winther 41118c438e Reimplement runtime type checks computation
Change-Id: Ic1baa96e60db30cf9afe3414e605f0200361583b
Reviewed-on: https://dart-review.googlesource.com/37560
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-12 13:29:30 +00:00
Paul Berry a895c9b283 Promote TOP_LEVEL_CYCLE to an error
Top level type inference cycles constitute a compile-time error in
Dart 2.0.

Change-Id: I8663ea126fec2a4f495ee77125e9145372855934
Reviewed-on: https://dart-review.googlesource.com/40260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-02-12 11:04:48 +00:00
Johnni Winther ca8aacc981 Add rti_emission_test.dart
Closes #32055

Change-Id: Ic33be29a70b88dee2271d121958c25716dc4e6db
Reviewed-on: https://dart-review.googlesource.com/38540
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-12 10:35:20 +00:00
Emily Fortuna 06ef399354 Fix up locals map for signature function.
Change-Id: If2a569e0799c1f63f1ee728f183cb4f1e3badb56
Reviewed-on: https://dart-review.googlesource.com/40464
Commit-Queue: Emily Fortuna <efortuna@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-09 20:55:19 +00:00
Emily Fortuna 36b957762e Fix up test statuses for strong mode. They apparently got super out of date. :-(
Change-Id: If3e247aecbc7969423053854468f6117ace8fe49
Reviewed-on: https://dart-review.googlesource.com/40461
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-09 18:53:36 +00:00