Commit Graph

1931 Commits

Author SHA1 Message Date
Vijay Menon 46d6c56c96 Fix ddc async test code
Fortunately, not too many false passes.

R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2792703002 .
2017-03-31 15:57:08 -07:00
Vijay Menon 3be5099a8c Don't format on DDC presubmit
The primary presubmit (PRESUBMIT.py) now enforces this on git cl
upload.  It also uses a difference version of the formatter, so
dropping this avoids that annoyance.

R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2791643003 .
2017-03-31 15:06:16 -07:00
Vijay Menon 466d4ffb9c Add runtime tests for ignored checks
Tests for https://codereview.chromium.org/2788933002/

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2789933002 .
2017-03-31 13:31:59 -07:00
Vijay Menon 08f085727e Fix ignore on FutureOr
I'll look into adding tests - these eventually supposed to *not* get ignored (see #27223)

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2788933002 .
2017-03-31 09:30:16 -07:00
Jacob Richman a7465d942f Update test expectations to reflect errors that are now warning.
BUG=

Review-Url: https://codereview.chromium.org/2785183003 .
2017-03-30 14:54:35 -07:00
Zach Anderson bc923bed16 [dart:io] Reland: Adds Platform.localeName
The Mac OS build broke because a typedef wasn't added until 10.12.

related #29126

Review-Url: https://codereview.chromium.org/2786183003 .
2017-03-30 13:51:46 -07:00
Zachary Anderson e75df3cce3 Revert "[dart:io] Adds Platform.localeName"
This reverts commit ae6d854ec6.

The build failed on the mac build bots. Need to investigate.

Review-Url: https://codereview.chromium.org/2791453002 .
2017-03-30 13:35:02 -07:00
Zachary Anderson ae6d854ec6 [dart:io] Adds Platform.localeName
related #29126

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2785073002 .
2017-03-30 13:31:11 -07:00
Vijay Menon 84864e3415 DDC fix for Edge
Patch from zjd.

R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2780903004 .
2017-03-29 12:22:45 -07:00
Vijay Menon 7a809bcc02 Add requirejs to repo for DDC
Fixes #29140

R=jakemac@google.com, whesse@google.com

Review-Url: https://codereview.chromium.org/2782213002 .
2017-03-29 08:05:40 -07:00
Konstantin Shcheglov cf25e7f5cb Fix top-level inference errors for most of the newly failing tests.
Update analyzer status files and DDC expections.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2779843004 .
2017-03-28 12:16:09 -07:00
Jennifer Messerly 1c504f8945 Fix #28120, strong mode allows field overrides
Fix #28119, DDC supports field overrides without @virtual
Fix #28801, devirtualize private fields in DDC where possible
Fix #28589, stop supporting @virtual in strong mode

R=leafp@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2781443003 .
2017-03-28 10:26:36 -07:00
Konstantin Shcheglov 27ab6478b9 Report errors for the new top-level inference rules.
We also stop type inference most of these cases with task based analysis.
Summary based analysis is not changed yet.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2782533002 .
2017-03-28 09:41:04 -07:00
Vijay Menon 50ceaa4c04 Fix for #29003
This is an alternative to the other CL.  It just uses the result of
dart.mixin instead of declaring a new class.  That preserves the assumption (at least at runtime) that the mixin class directly inherits from Object.

We were also not declaring interfaces for ClassTypeAliases.

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2783443002 .
2017-03-27 16:06:13 -07:00
Vijay Menon ac68d598cf Add patch code for List.filled growable param
Looks like a missing param doesn't break patch_sdk.  I think this was a recent add.

Fixes #28508

R=jakemac@google.com, jmesserly@google.com

Review-Url: https://codereview.chromium.org/2771953004 .
2017-03-24 14:27:47 -07:00
Vijay Menon d8c8a7b327 Mark tests no longer expected crash
Brian: looks like these started working on a recent CL of yours.

TBR=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2769333003 .
2017-03-24 08:46:21 -07:00
Vijay Menon 27d14402fa Skip test on chrome canary
TBR=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2770033004 .
2017-03-24 08:07:51 -07:00
Leaf Petersen dba842bcc8 Handle casts from Number to FutureOr<double>.
Fixes https://github.com/dart-lang/sdk/issues/29128 .

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2772573003 .
2017-03-23 13:33:33 -07:00
Vijay Menon 053d2ce14f Fix for dcall on callable class
(Note, regenerated files aren't being uploaded)

Fixes #29148

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2774623004 .
2017-03-23 13:14:58 -07:00
Vijay Menon 4d983162d5 Fix status for canary
This particular test seems to have frequent canary only errors.  Not
sure there is a better way - e.g., alway ignore on Canary?

TBR=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2769873004 .
2017-03-23 10:21:32 -07:00
Vijay Menon c3505f7d72 Fix async iterator runtime type errors
Seeing errors on the bots triggered by a recent SDK change (FutureOrT typing?).  See travis for current breakage.

TBR=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2769883002 .
2017-03-22 20:15:00 -07:00
Vijay Menon 6af17dff97 Add better support for async tests in run.js
This gets run.js working with async tests as well.

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2768233002 .
2017-03-22 19:07:10 -07:00
Vijay Menon ff1a3f4f2d Update status
This started breaking here:

https://travis-ci.org/dart-lang/sdk/jobs/213901255

TBR=scheglov@google.com

Review-Url: https://codereview.chromium.org/2774483002 .
2017-03-22 16:18:48 -07:00
Kevin Moore 2340c8f6df Clarify in dev_compiler docs the reason for the angular whitelist hack
Related to https://github.com/dart-lang/sdk/issues/27255

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2772433002 .
2017-03-22 11:36:11 -07:00
Jacob Richman 66908140e7 Fix dev compiler formatter error.
BUG=

Review-Url: https://codereview.chromium.org/2764203002 .
2017-03-21 20:40:15 -07:00
Jennifer Messerly 132ddcaacf fix errors and warnings in DDC
TBR=vsm@google.com,jacobr@google.com

Review-Url: https://codereview.chromium.org/2768693003 .
2017-03-21 20:12:05 -07:00
Jacob Richman 88eb557b65 Fix warnings_checker.dart handling of multitests
Update all tests

Support //# multitests for better dartfmt compatibility and fewer multitest false positives

All files under tests were manually updated with

find . -iregex '.*\.dart$' -print0 | xargs -0 perl -pi -e 's/(\S\s+)\/\/\/ /$1\/\/# /'

For now both old and new styles are allowed to accommodate CO19 tests.

R=efortuna@google.com
BUG=

Review-Url: https://codereview.chromium.org/2765693002 .
Review-Url: https://codereview.chromium.org/2765893003 .
2017-03-21 17:29:56 -07:00
Jacob Richman bf2b545150 Revert "Update all tests"
This reverts commit ce76e9c30beaf9a193d3677b88c20a1ebb3fae8c.
2017-03-21 16:33:18 -07:00
Jacob Richman 3c7353d987 Update all tests
Support //# multitests for better dartfmt compatibility and fewer multitest false positives

All files under tests were manually updated with

find . -iregex '.*\.dart$' -print0 | xargs -0 perl -pi -e 's/(\S\s+)\/\/\/ /$1\/\/# /'

For now both old and new styles are allowed to accommodate CO19 tests.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2765693002 .
2017-03-21 12:39:28 -07:00
Jennifer Messerly 4f9fff9ebd fix #29108, improve inference error messages
R=leafp@google.com

Review-Url: https://codereview.chromium.org/2757233004 .
2017-03-20 18:12:46 -07:00
Konstantin Shcheglov a9dfc31525 Infer fields/getters/setters types according to the new top-level inference rules.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/28219

Review-Url: https://codereview.chromium.org/2761633002 .
2017-03-19 10:09:48 -07:00
Jennifer Messerly f021a7019b fixes #27586, prefer downwards context type in generic inference
fixes #27625, Object constraints were not tracked in inference
fixes #27933, pin return type from downwards inference

We now prefer to pick the bound (lower or upper) that had some information on, and it also improves inference error messages somewhat (still a ways to go).

The way this works is we now have a type representing an unknown type: ?. We use ? when performing downward inference steps, instead of `dynamic`. This allows more accurate tracking of type constraints.

For example: given:

    var x = await Future.wait([a, b]);

Future.wait<T>'s argument type is Iterable<Future<T>>. Since we didn't know T, we previously pushed down Iterable<Future<dynamic>>. The dynamic caused loss of information. Now we push down Iterable<Future<?>>, allowing us to infer the right type there.

R=leafp@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2456803004 .
2017-03-17 16:59:56 -07:00
Jennifer Messerly 13d6c5cd98 fix ddc build, adds some unsupported methods to dart:io
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2756463006 .
2017-03-17 16:23:52 -07:00
Jacob Richman 00dd9f26a6 use js_ast to more efficiently turn the JSON into a string.
js_ast will notice the string only contains double quotes so will enclose
it with single quotes.
Parsing a string appears to be a bit more efficient than parsing JSON.

BUG=
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2757603005 .
2017-03-17 08:17:47 -07:00
Vijay Menon 24fd5ced4f Expand ignore whitelist to include FutureOr
See internal bug 36371258.

We're hitting type errors of the form:

CastError: Casting value of type '_Future' to incompatible type 'FutureOr<int>'

I suspect these type errors were there but just ignored before - does this seem a reasonable extension to the whitelist?

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2752203003 .
2017-03-16 20:05:09 -07:00
Vijay Menon 2fd1f5ebf1 Fix FutureOr runtime check
Fixes #29062

This is taken straight from Jen's CL here:

https://codereview.chromium.org/2456803004/

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2750393003 .
2017-03-16 12:54:22 -07:00
Jacob Richman 9484ac8bdf Format all dart dev compiler files
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2752163002 .
2017-03-15 21:34:25 -07:00
Jacob Richman b4828c39cf Fix for bug when binding non-symbolized members on native classes
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2757503002 .
2017-03-15 18:56:04 -07:00
Vijay Menon 338304a6c7 Fix DDC patch
TBR'ing to get build green.

TBR=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2749703006 .
2017-03-15 09:23:49 -07:00
Jacob Richman 2ec1890ac4 Tweak location sdk summary is accessed from.
Bazel build rules now place the sdk summary in a different directory
than the summary root directory. Fix the ddc compiler running in the
browser to match.

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2753723002 .
2017-03-14 17:41:50 -07:00
Vijay Menon ee6f460847 Fix equality invocation on native objects
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2754583002 .
2017-03-14 15:27:27 -07:00
Vijay Menon 6fb0258bf4 Support iife heuristic in DDC
This gives a noticeable 5-10% boost to startup on large internal apps
in Chrome.  We may want to consider for AMD at some point.  It doesn't
apply to es6 or common as those are top-level (and either the browser
or linker would hopefully parse accordingly).

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2753623002 .
2017-03-14 14:16:28 -07:00
Vijay Menon 6cf2ac1f62 Fix FF test status and re-enable
With sra's num parse fixes and couple more, FF should be green again (as well as Chrome Canary).

R=alanknight@google.com

Review-Url: https://codereview.chromium.org/2750503009 .
2017-03-14 09:28:10 -07:00
Vijay Menon f9cb23d2eb Fix DDC status, take 2
They *do* pass on Chrome 59.

TBR=sra@google.com

Review-Url: https://codereview.chromium.org/2749853002 .
2017-03-14 07:35:29 -07:00
Vijay Menon 9c1a75bf34 Fix DDC status
These tests appear to pass on FF, but fail on Chrome.

TBR=sra@google.com

Review-Url: https://codereview.chromium.org/2748133002 .
2017-03-14 07:28:58 -07:00
Vijay Menon 499a6633c6 Remove pubspec
This is breaking travis - maybe travis auto-runs pub get?

See:

https://travis-ci.org/dart-lang/sdk/jobs/210756646

TBR=devoncarew@google.com

Review-Url: https://codereview.chromium.org/2750673003 .
2017-03-13 16:23:36 -07:00
Devon Carew b80390d0f5 Have dartdevc support --version.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2747743003 .
2017-03-13 16:10:21 -07:00
Jacob Richman c9675aeefb Do not return the JSON as an escaped String to work around a strange v8 bug.
This makes the source files a little easier to read anyway and the JSON
is not typically that nested so there should be a minimal statup performance hit.

Do not return the JSON as an escaped String to work around a strange v8 bug.

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2747733003 .
2017-03-13 15:49:09 -07:00
Vijay Menon f331ecea20 Invoke native methods directly
In DDC, if the receiver is typed and the target method simply forwards to a JS call, invoke that call directly instead of via a symbol.

This is a step toward #28307.

Paul: can you look the the analyzer / summary code change?

dart:html uses "native".  other libraries (e.g., typed_data) use "external" for more or less the same thing.  The analyzer element model doesn't provide a way to test for "native" methods, but it does for "external".  I map native to external here.  Not sure if it's better to treat them as separate (I believe native predated external).  Longer term, it may make sense to try to remove "native" in favor of "external".

R=brianwilkerson@google.com, jacobr@google.com, jmesserly@google.com, paulberry@google.com

Review-Url: https://codereview.chromium.org/2748713002 .
2017-03-13 15:11:37 -07:00
Jacob Richman 1f38879094 Inline source maps as part of each script.
Unfortunately this is required as even with ideal caching, performing
XHRs to load all source maps increased load times by ~5 seconds for large
applications. Performance hit is now minimal.

BUG=

Review-Url: https://codereview.chromium.org/2747513003 .
Review-Url: https://codereview.chromium.org/2746033003 .
2017-03-13 10:46:02 -07:00