Jenny Messerly
7359d4ee10
fix #33019 , noSuchMethod should receive default values for optional args
...
Change-Id: If692a68d20c88139a88de8c9701314ae53becd03
Reviewed-on: https://dart-review.googlesource.com/54340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-05-12 04:18:40 +00:00
Jenny Messerly
147bd68ad3
disable dart:mirrors in DDC unless emit-metadata is set
...
fixes #32294
Change-Id: I5fde124a9da61e512ea0aa41cc84574e27a50d48
Reviewed-on: https://dart-review.googlesource.com/53163
Reviewed-by: Bob Nystrom <rnystrom@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-05-11 23:13:30 +00:00
Jenny Messerly
e998c56a72
fix #32980 , better error messages for type errors at runtime
...
Change-Id: I4666c82b706dcaa963f4acf1c1c5d770e0ab1c6a
Reviewed-on: https://dart-review.googlesource.com/54101
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-05-10 00:13:27 +00:00
Jenny Messerly
0fde28b2dd
fix #31393 , port utf8 decoder optimizations from dart2js to ddc
...
The dart2js changes were made in:
https://github.com/dart-lang/sdk/commit/3836c70a8150bc33a695788deee346b940b40769
Change-Id: I5476c10e3734fa8ab0c027dd258b2fa5ef43287b
Reviewed-on: https://dart-review.googlesource.com/54529
Reviewed-by: Vijay Menon <vsm@google.com >
2018-05-10 00:06:12 +00:00
Kevin Millikin
8dbe716085
Remove the unused GenericCovariantInterface bit
...
None of the back ends are using it and it imposes a cost to have to
compute it and try to preserve it.
Change-Id: I217e1191b535829021fa11f2698cadd8d4baf1c8
Reviewed-on: https://dart-review.googlesource.com/54383
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-05-09 15:04:43 +00:00
Dmitry Stefantsov
fe3f87f192
[fasta] Reland "Handle annotations on formals and variables"
...
The original CL: https://dart-review.googlesource.com/c/sdk/+/51840
Bug: http://dartbug.com/28434
Change-Id: I0812ef4223337f5bf72218dfac0f26f76a6b9df1
Reviewed-on: https://dart-review.googlesource.com/52449
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jenny Messerly <jmesserly@google.com >
2018-05-09 09:53:42 +00:00
Lasse Reichstein Holst Nielsen
862a894de6
Make cast do the same things as retype.
...
Deprecate `retype` and forward it to `cast`.
Change-Id: Ie17ffdd1eef0d3f19582bf638c5349927c7b5ebd
Reviewed-on: https://dart-review.googlesource.com/53802
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2018-05-09 08:00:08 +00:00
Jenny Messerly
d87642df9c
fix #33036 , dartdevk now uses CFE for patching its SDK
...
Change-Id: I65e7df5373c359019b4b7c5714ae71a80d60df13
Reviewed-on: https://dart-review.googlesource.com/53682
Reviewed-by: Vijay Menon <vsm@google.com >
2018-05-07 22:01:52 +00:00
Vijay Menon
86ccd4f790
Fix poor error messages on null dereference
...
Change-Id: I4f839910db2fe5d3955ebf07b6d5149cfd0a0a6b
Reviewed-on: https://dart-review.googlesource.com/53280
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Jenny Messerly <jmesserly@google.com >
2018-05-07 16:19:10 +00:00
Zach Anderson
afb490adbc
[dart:io] Provide modern Dart-styled constants
...
This CL updates dart:io but not dart:_http. It updates the sdk sources,
the patch files, and tests.
Change-Id: I64c3da407f09fa2bc6eec582049c4ae3a8afbe6d
Reviewed-on: https://dart-review.googlesource.com/52990
Commit-Queue: Zach Anderson <zra@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2018-05-03 17:00:14 +00:00
Jenny Messerly
cbca4006f8
fix #30907 , add library constants for all SDK libraries
...
Change-Id: I34669398e9bd7dfb2c9c5130279e88c772b3a5b3
Reviewed-on: https://dart-review.googlesource.com/53162
Reviewed-by: Vijay Menon <vsm@google.com >
2018-05-02 19:33:36 +00:00
Bob Nystrom
9d34963947
Stop ignoring explicit ("as") cast failures on all but function types.
...
Change-Id: Ia421cce7bab4fe9c74775b5bf2474901475cfa89
Reviewed-on: https://dart-review.googlesource.com/53160
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-30 23:05:24 +00:00
Jenny Messerly
2df8db486d
fix #30184 , private symbols in DDC
...
Change-Id: I77fe11b49b3f19b0241c8e08c313cb051c4d019b
Reviewed-on: https://dart-review.googlesource.com/52281
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-30 21:20:40 +00:00
Vijay Menon
001af89c8e
Flip DDC to default to sync-async
...
See #32868
Change-Id: I757321632c9f383edea398741c67fc7c3e3815e5
Reviewed-on: https://dart-review.googlesource.com/52900
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-04-30 15:04:51 +00:00
Jenny Messerly
bd76221d58
fix #31489 , JS interop to prototype getter in dartdevk
...
Change-Id: I6a3e1e25e0113bfcc49de19f250c23027ea3a69f
Reviewed-on: https://dart-review.googlesource.com/52865
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-27 00:17:29 +00:00
Jenny Messerly
f6db874416
fix some dartdevk behavior to match dartdevc in more cases
...
Most notably this fixes mixins, but a few others issues were discovered
as well. Fixes #32428 .
This gets dartdevk closer to producing a valid Dart SDK file
Change-Id: I2973baef279d6b71ed29b97bec758b2d3209c275
Reviewed-on: https://dart-review.googlesource.com/51760
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-26 01:13:52 +00:00
Kevin Moore
9f7a247c33
Remove dangling pubspec.lock from pkg/dev_compiler/test/
...
Change-Id: I560adb1d3941bb3110c3d03782615c104b734713
Reviewed-on: https://dart-review.googlesource.com/52702
Reviewed-by: Jenny Messerly <jmesserly@google.com >
Commit-Queue: Kevin Moore <kevmoo@google.com >
2018-04-26 00:46:32 +00:00
Jenny Messerly
30b53ceaab
fix #30852 , cyclic init errors in some cases in dartdevc
...
Change-Id: Iae73dcf7b3ad9b547d8dc278210310699673a9ab
Reviewed-on: https://dart-review.googlesource.com/52282
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-26 00:22:19 +00:00
Jenny Messerly
7c6594c0bd
fix #32302 , friendlier Type.toString() in dartdevc
...
Change-Id: I650634d17aad8d6b7e154874578eb88cf87fd994
Reviewed-on: https://dart-review.googlesource.com/52081
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-25 23:16:56 +00:00
Dmitry Stefantsov
1f7fa3e1ad
Revert "[fasta] Handle annotations on formals and variables"
...
This reverts commit 0289071afe .
The reverted commit breaks precomp bots.
Change-Id: I3218d5a0779e1f30f4172ede2294be558ded2abd
Reviewed-on: https://dart-review.googlesource.com/52103
Reviewed-by: Jens Johansen <jensj@google.com >
2018-04-20 13:32:59 +00:00
Dmitry Stefantsov
0289071afe
[fasta] Handle annotations on formals and variables
...
Bug: http://dartbug.com/28434
Change-Id: If386d24f95d14a38150c9316caf7a17065583e32
Reviewed-on: https://dart-review.googlesource.com/51840
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
Reviewed-by: Jenny Messerly <jmesserly@google.com >
2018-04-20 11:19:39 +00:00
Jenny Messerly
06bebcafba
fix how DDC startRootIsolate calls main()
...
Change-Id: Ifce734bfa3d1dd48cf264727e6ca2da8e8bb6fa1
Reviewed-on: https://dart-review.googlesource.com/52022
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-19 22:03:28 +00:00
Vijay Menon
b4d9c77d68
Make DDC sync-async behavior flippable either way
...
Step (1) to flipping the default. When this lands and rolls in, we
can change internal code to explicitly opt-out.
See #32868
Change-Id: Ibd6fc08d6d71b0093decf5667e9b8cdc2b49e3d1
Reviewed-on: https://dart-review.googlesource.com/51444
Reviewed-by: Jenny Messerly <jmesserly@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2018-04-18 22:54:03 +00:00
Jenny Messerly
b62276d97f
fix DDC SDK implementation JS type annotations to work with CFE
...
This migrates the JS builtin's string type to the `<T>` type parameter
for a few more cases. This was done to eliminate null checks, casts and
dynamic calls when dartdevk builds the SDK, so it matches dartdevc.
Change-Id: I8570e5127149a45289a90002c27034333c3038ad
Reviewed-on: https://dart-review.googlesource.com/51207
Reviewed-by: Leaf Petersen <leafp@google.com >
2018-04-17 19:29:40 +00:00
Jenny Messerly
a3e8a6db98
fix DDC mocks for undefined optional parameters
...
This reverts part of https://dart-review.googlesource.com/c/sdk/+/48940
while keeping the fix for named arguments. The cleaner fix from that CL
doesn't work for some obscure uses of mocks and optional parameters and
interop scenarios.
Change-Id: I7d7e7ed50574401a70f720a1b4c15578854b2297
Reviewed-on: https://dart-review.googlesource.com/51422
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-17 18:18:47 +00:00
Jenny Messerly
e22e3a1884
fix DDC's REPL support functions
...
these are used by the debugger extension code
Change-Id: If5b9d1aca38fa2f120580d2dbfd02523c6eaa5cf
Reviewed-on: https://dart-review.googlesource.com/51440
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-17 18:15:49 +00:00
Jenny Messerly
5474ce01d5
fix DDC lazy function tagging (used for mirrors) and tearoffs
...
It's possible for `dart.fn` (tearoff) to be called after `dart.lazyFn`,
so lazyFn needs to support a setter.
Change-Id: Iaba1a1d6145d94501c77de6a6a2c107eac2d92d7
Reviewed-on: https://dart-review.googlesource.com/51441
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-17 18:03:28 +00:00
Jenny Messerly
051aba12d8
fix DDC getter/setter mirror support for metadata
...
Change-Id: If424ffe61114da68baf4aeb8536bdc29a1ddf5a6
Reviewed-on: https://dart-review.googlesource.com/51420
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-16 23:13:21 +00:00
Jenny Messerly
6de5da1f58
fix #32649 , add an option to disable asserts in DDC/K
...
Change-Id: I1cd4c3a568fb2721be04199ed404835f949e1084
Reviewed-on: https://dart-review.googlesource.com/51360
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-16 20:17:30 +00:00
Lasse R.H. Nielsen
973a1a0219
Remove uses of upper-case constants in remaining SDK code.
...
This includes Fasta, tools and observatory, so the checked-in SDK must
have the lower-case constants.
Change-Id: I8380ad041ad058f7d02ae19caccfecd434d13d75
Reviewed-on: https://dart-review.googlesource.com/50201
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2018-04-16 16:11:57 +00:00
Jenny Messerly
5dd283e783
fix #32270 , DDC tests can now work with preview-dart-2
...
Also removes unsafe-force-compile for DDC's selfhost during snapshot
build, and fixes DDK's snapshot to train by selfhosting.
This does not enable preview-dart-2 for DDC/DDK's snapshots or on
the buildbots yet.
Change-Id: Id0b395eb67677d0e69dc5e827536a9039bc95816
Reviewed-on: https://dart-review.googlesource.com/51206
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2018-04-16 07:03:07 +00:00
Jenny Messerly
782cfe04d1
fix #32756 , DDC dynamic calls to generics will work with emit-metadata
...
Also fixes DDK to disable metadata by default.
Change-Id: Ic5fd637c1048cb5ccfd035b8e0dd07b0985c1364
Reviewed-on: https://dart-review.googlesource.com/51040
Reviewed-by: Leaf Petersen <leafp@google.com >
Commit-Queue: Jenny Messerly <jmesserly@google.com >
2018-04-13 03:01:06 +00:00
Jenny Messerly
8613938e33
fix DDK to track mock setters correctly.
...
Also fix nosuchmethod_forwarding_arguments_test to work in dart4web compilers
Change-Id: If19bf74561c716845e24862c2400e0ab5cfc135c
Reviewed-on: https://dart-review.googlesource.com/48891
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2018-04-13 00:27:26 +00:00
Lasse R.H. Nielsen
7cc4d76a30
Add tryParse alternatives to parseFunctions.
...
Deprecate `onError` arguments to parse methods.
Change-Id: Iac1d87416abc8a73ce1853edffab49df8a8cb5fe
Reviewed-on: https://dart-review.googlesource.com/50723
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2018-04-12 13:16:49 +00:00
Jenny Messerly
2ddc5495f8
Reduce DDC signature overhead
...
- changes top-level/static method tearoffs to work similar to instance
method tearoffs (attach typeinfo at the tearoff location).
- changes getters/setter signatures to a more compact representation.
- fixes incorrect reification of tearoffs in DDC Kernel backend,
causing a couple of tests to pass after the changes.
- module startup should also be faster, because we avoid using
`defineLazyProperty` for signatures.
Change-Id: I9d1705adcd5101a99f0599120cb927396eae778a
Reviewed-on: https://dart-review.googlesource.com/48455
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2018-04-12 02:22:09 +00:00
Jenny Messerly
8df4042b2d
fix #32088 , DDC calls nSM for signature mismatch
...
also fixes #32653 , DDC should call nSM for unexpected named arguments
Change-Id: Id1848cd5af87ac615fd96fbf2784a72f9286801d
Reviewed-on: https://dart-review.googlesource.com/48940
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2018-04-12 00:29:59 +00:00
Jenny Messerly
1eddbffe2e
fix #32754 , improve correctness/perf of operator []= with return
...
Change-Id: I80f5c7aec5606a415d8cba8c001b2aca24d04a8e
Reviewed-on: https://dart-review.googlesource.com/49581
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-05 19:08:07 +00:00
Jenny Messerly
e064e5156e
fix DDC to provide a library on temporary variables
...
When enclosingElement is `null` we fail to find the library. There are
several places in the compiler that depend on having a library available
for resolved elements.
Change-Id: I2746110d8caed97733c73e89e6baef3e96882563
Reviewed-on: https://dart-review.googlesource.com/49544
Reviewed-by: Vijay Menon <vsm@google.com >
2018-04-04 20:41:26 +00:00
Vijay Menon
163f8b9678
Cleanup async stack recording
...
This no longer fails on a bogus error (setting a stack on a primitive):
main() async => throw "hi";
Doesn't come up in tests as that path (rethrow) is only exercised for unhandled exceptions.
Change-Id: I69bcf8c1c6a0cf8841c626594f95c48114ae5aaa
Reviewed-on: https://dart-review.googlesource.com/48463
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Jenny Messerly <jmesserly@google.com >
2018-04-04 01:03:41 +00:00
Jenny Messerly
b07a4bc264
improve deduping of cached types in DDC/K
...
This works around broken FunctionTypeImpl.== in Analyzer. Also
makes DDK's type naming heuristic more consistent with DDC.
Change-Id: I09527fad681c3fdc6c66654e572e9b03c57491bd
Reviewed-on: https://dart-review.googlesource.com/37120
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Jenny Messerly <jmesserly@google.com >
2018-04-04 00:37:21 +00:00
Jenny Messerly
54f7680389
fix DDC dynamic call profiler to ignore SDK frames
...
This is necessary because we don't include the SDK source map inline.
Change-Id: I94d7ca5bde8288abc96796594c1242970df20ae1
Reviewed-on: https://dart-review.googlesource.com/48447
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Jenny Messerly <jmesserly@google.com >
2018-04-04 00:35:01 +00:00
Jenny Messerly
a4c5607281
fix #32594 , debugger() will work even if dart_sdk.js is blackboxed
...
Change-Id: I14b46939dbc1670610913e1a14c7045569601f5e
Reviewed-on: https://dart-review.googlesource.com/48824
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Jenny Messerly <jmesserly@google.com >
2018-04-04 00:24:11 +00:00
Jenny Messerly
60630ed80f
fix #30540 , define dart.library.mirrors and isolate false in DDC
...
Change-Id: I0d26d32724096bfbebd53f4a0adcbbd9194cb8ec
Reviewed-on: https://dart-review.googlesource.com/48885
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Jenny Messerly <jmesserly@google.com >
2018-03-30 19:16:05 +00:00
Jenny Messerly
bed5debbeb
Callable object support in Analyzer and DDC.
...
Fixes #32156
Fixes #32157
Fixes #32426
This also fixes `implements Function` so it has no effect in Dart 2
(it is ignored for the purposes of subtyping.)
Change-Id: Ibec9c77cd516b8b97fef68a579998598d0acf8c6
Reviewed-on: https://dart-review.googlesource.com/45141
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-03-30 18:14:55 +00:00
Jenny Messerly
d46dd1bd68
fix error message for dcalls on null
...
Change-Id: I0f3ab303ce8844c9b147a21f3233ef04ec0acb66
Reviewed-on: https://dart-review.googlesource.com/45920
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-03-30 00:34:29 +00:00
Zach Anderson
865f52737a
[dart:io] Adds IOOverrides.socketConnect
...
fixes #32535
Change-Id: I335e3698ec3505114d480ae6179254fa0ade3f7a
Reviewed-on: https://dart-review.googlesource.com/48702
Commit-Queue: Zach Anderson <zra@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Todd Volkert <tvolkert@google.com >
2018-03-28 23:07:49 +00:00
Jenny Messerly
c9e9c1d8e9
Remove dart:isolate runtime support in DDC
...
This disables most runtime features of dart:isolate, similar to dart:io.
For now, this supports `new ReceivePort()` and `ReceivePort.close` as
those are used by async tests to keep the Dart VM alive. Those are
no-ops in DDC. Also removes most of dart:_isolate_helper, except for
the JS API that's used to bootstrap DDC `main()`.
Change-Id: I84eab6cd39d05a70a6afe982e952076ddaaa8c0f
Reviewed-on: https://dart-review.googlesource.com/45754
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-03-28 19:42:08 +00:00
Jenny Messerly
192b4621ba
Fix DDC shadowing bug with named arguments and async functions.
...
Change-Id: I4c01ab03bc02d0e533b6d27d43e824aad5d32fea
Reviewed-on: https://dart-review.googlesource.com/48458
Reviewed-by: Vijay Menon <vsm@google.com >
2018-03-27 00:34:46 +00:00
Jenny Messerly
a914cac65e
fix #32481 , DDK signatures for mock members induced by nSM
...
This bug prevented various DDK features from working correctly at
runtime, such as tearoffs, dynamic call checking, generic methods, and
parameter type checks.
This was fixed for DDC in https://dart.googlesource.com/sdk/+/40738b8884e584f8b6fce26b71e9692c0067db18
Change-Id: I91fd12b3c167341c692d8d3e7ad2217dd78d2950
Reviewed-on: https://dart-review.googlesource.com/45964
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-03-27 00:25:32 +00:00
Régis Crelier
f2806ab624
[Corelib, VM runtime] Fix handling of zero operand in Bigint operations ( fixes #32465 ).
...
Fix VM, dart2js, and dcc Bigint implementations.
Add shift tests.
Re-enable Bigint intrinsics on VM.
Change-Id: Iec19eac8069cf17783a5346289ea2745ffcc7c26
Reviewed-on: https://dart-review.googlesource.com/46570
Reviewed-by: Florian Loitsch <floitsch@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-03-21 21:44:10 +00:00