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
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
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
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
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
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
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
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
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
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
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
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
Vijay Menon
406a82723f
Fix expectations
...
TBR=rnystrom@google.com
Review-Url: https://codereview.chromium.org/2744853002 .
2017-03-10 08:53:08 -08:00
Jacob Richman
7ba7e0cee6
Make all DDC internal stack traces apply source maps.
...
Make DDC a better platform for debugging by ensuring that stack traces
generated by DDC even when using the raw dart:core StackTrace class
apply JS source maps and benefit from the polish provided by the
stack_trace package.
stack_trace_mapper.dart needs to be compiled to js and included on your
page to benefit from this functionality. Otherwise you will still see
regular JS stack traces as usual.
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2735303002 .
2017-03-08 19:13:00 -08:00
Vijay Menon
402e025c63
Add option to suppress type-check whitelisting
...
Run most tests without the whitelisting.
See #27223
R=leafp@google.com
Review-Url: https://codereview.chromium.org/2739863003 .
2017-03-08 17:51:32 -08:00
Vijay Menon
f6e964fca9
Fix dangling ddc references in libraries.dart
...
Our internal tooling is complaining about this when building / checking the ddc sdk. It appears to use the analyzer's summary builder tool which seems less forgiving about dangling references / missing files.
R=srawlins@google.com
Review-Url: https://codereview.chromium.org/2740573003 .
2017-03-07 15:27:46 -08:00
Jacob Richman
a6a206062d
Custom formatter cleanup Fix case where displaying a class constructor generated unreadable huge output. Fix case where exceptions were throw. Correct display of statics, fix indentation bugs. Add improved custom formatter test to main repro. As a drive by fix, switch hashCode to use a symbol instead of the name $identityHash as $identityHash was making custom formatter test output unstable.
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2703263002 .
2017-02-28 17:47:53 -08:00
Jennifer Messerly
fe294f3753
unfork DDC's copy of most SDK libraries
...
There's some changes in strong mode errors we may want to follow up on.
Unforks the following: async, collection, convert, core, developer, internal, io, isolate, math, mirrors.
Does not unfork: html, indexed_db, js, js_util, svg, typed_data, web_audio, web_gl, web_sql.
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2698353003 .
2017-02-28 17:10:52 -08:00
Vijay Menon
53971cb67e
Fix Function.apply
...
Fixes #27257 .
R=alanknight@google.com , jmesserly@google.com
Review-Url: https://codereview.chromium.org/2716583006 .
2017-02-24 19:24:48 -08:00
Leaf Petersen
ef120f105f
When metadata is not requested, elide signature information that is
...
not needed for dynamic checks (static fields/getters/setters and constructors).
BUG=
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2711253004 .
2017-02-24 12:59:09 -08:00
Vijay Menon
1ec614fd7b
Enable DDC output to run on v8/d8 using ES6 modules
...
Fixes #27309
V8 / D8 tip supports ES6 modules natively. It's a little cumbersome
to set up, but hello world runs. :-)
> ln -s $DDC_PATH/lib/js/es6/ddc_sdk.js ddc_sdk
> dart $DDC_PATH/bin/dartdevc.dart --dart-sdk-summary $DDC_PATH/lib/sdk/ddc_sdk.sum --modules es6 -o hello hello.dart
> cat > run.js
import { hello } from 'hello';
hello.main();
> d8 --module run.js
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2701963002 .
2017-02-17 16:54:21 -08:00
Leaf Petersen
fd6f2cc4cc
Add generic types to Future.forEach in DDC sdk
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2696133005 .
2017-02-15 11:17:25 -08:00
Vijay Menon
986a1c2775
keep null check on virtual field
...
We weren't correctly blocking the opt if the field was marked virtual
R=leafp@google.com
Review-Url: https://codereview.chromium.org/2693593002 .
2017-02-10 16:00:13 -08:00
Ben Konyi
39f80e42e0
Corrected spelling mistake from "happend" to "happen" throughout multiple files.
...
BUG=
R=zra@google.com
Review-Url: https://codereview.chromium.org/2688943002 .
2017-02-10 12:52:42 -08:00
Vijay Menon
b27e65d5d1
Unwrap type if needed on dcall
...
R=leafp@google.com
Review-Url: https://codereview.chromium.org/2672273004 .
2017-02-06 20:51:53 -08:00
Jennifer Messerly
5817ba47e2
fix #28642 , handling of top and bottom types in DDC
...
in particular: void, Null, and combinations with FutureOr<T>
R=leafp@google.com
Review-Url: https://codereview.chromium.org/2671113002 .
2017-02-06 14:56:10 -08:00
Leaf Petersen
a3b4366f11
Infer Null for return type of functions with empty returns.
...
This allows inference to infer Null as the return type of functions
which have no return statements, or which return with no value.
Also allows inference to propagate Null.
Fixes https://github.com/dart-lang/sdk/issues/28602
Fixes https://github.com/dart-lang/sdk/issues/28630
BUG=
R=brianwilkerson@google.com , jmesserly@google.com
Review-Url: https://codereview.chromium.org/2667343005 .
2017-02-06 12:24:39 -08:00
Jennifer Messerly
ac85576979
fix #28630 , instance method tear-offs are treated as strict arrows
...
R=leafp@google.com
Review-Url: https://codereview.chromium.org/2675963004 .
2017-02-03 13:21:20 -08:00
Jacob Richman
a8c7e74424
Remove dynamic call from _LinkedHashSet. Remove some dcalls from the dart:html util library.
...
BUG=
R=alanknight@google.com , vsm@google.com
Review-Url: https://codereview.chromium.org/2666053004 .
2017-02-01 13:26:41 -08:00
Vijay Menon
5dffba506e
Use bleeding edge analyzer to analyze DDC
...
Note, we were getting this from building the SDK from scratch, but we
can just call it directly. :-)
Travis try-run here:
https://travis-ci.org/dart-lang/sdk/builds/197045751
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2669623002 .
2017-01-31 12:05:37 -08:00
Conor Reisman
80066aa2d6
Fix typo in StreamSink.close documentation ( #28572 )
...
provding -> providing.
2017-01-31 04:11:38 -08:00
Jacob Richman
f6151f902e
Fix dynamic calls on JS interop classes.
...
BUG=
Review-Url: https://codereview.chromium.org/2668543002 .
2017-01-30 14:19:07 -08:00
Jacob Richman
f3c33b047d
Remove spurious call to captureStackTrace.
...
Just creating an Error object is sufficient on FF,
Chrome, Safari, and Edge. Note that captureStackTrace
was not supported by other browsers so those browsers
were going down the even slower path of throwing an
exception.
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2668503002 .
2017-01-30 13:30:31 -08:00
Jacob Richman
959a375541
Fix getFieldType to handle metadata and workaround bad types for setters called via mirrors.
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2664493005 .
2017-01-27 14:23:34 -08:00
Vijay Menon
fd94337b42
Fix for Animation and other polyfills
...
The polyfill code needs to run before dart_sdk is loaded. Otherwise, the registerExtension step on these types does not work.
Also fixes #27605
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2649613003 .
2017-01-25 16:18:49 -08:00
Vijay Menon
a91cc9cc9e
Use microtasks in dart.async
...
Not quite sure about this, but it makes ordering match for the example in #28509
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2653253002 .
2017-01-25 16:14:01 -08:00
Jennifer Messerly
0e00b3e5c8
fix #28008 , fix #28009 implement FutureOr<T>
...
This implements FutureOr<T> in strong mode, otherwise it's ignored (treated as `dynamic`.
Also fixes strong mode's inference subtype function incorrectly treating `void` as a malformed type. This had the consequence of allowing `void` to be inferred as a type argument.
R=leafp@google.com , paulberry@google.com
Review-Url: https://codereview.chromium.org/2647833002 .
2017-01-25 15:32:57 -08:00
Jacob Richman
d90ed8c295
Fix noSuchMethod handling of methods that are also extension methods. Fix noSuchMethod handling of methods with names that are rewritten in DDC e.g. "_get" instead of "[]" Fix some mirror system handling of symbols with names that are rewritten in DDC
...
BUG=
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2623053004 .
2017-01-24 11:16:21 -08:00
Vijay Menon
9964772025
Cleanup build_sdk error checking
...
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2646313003 .
2017-01-23 13:56:06 -08:00
Benjamin Dopplinger
bf5597c95a
Fix "classs" typos ( #28469 )
2017-01-23 17:00:24 +01:00
Vijay Menon
fa2823925b
Hard fail on ddc sdk build error
...
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2645953006 .
2017-01-20 15:55:26 -08:00
Vijay Menon
a7f7a311c0
Fix for covariant
...
We've been silently failing to rebuild the SDK since covariant was added.
Looking at making SDK build break fail the presubmit!
TBR=leafp@google.com ,jacobr@google.com
Review-Url: https://codereview.chromium.org/2648863002 .
2017-01-20 15:20:44 -08:00
Vijay Menon
c83dac537f
Throw TypeError on arg mismatch
...
Improvement on #28286 - this is still not quite right as we'll throw a
TypeError instead of a NSM in certain cases depending on the order.
The spec will only throw a TypeError if NSM doesn't apply.
R=leafp@google.com
Review-Url: https://codereview.chromium.org/2636313002 .
2017-01-17 16:26:22 -08:00
Vijay Menon
be95523221
Cleanup references to the old DDC repo
...
Reachable issues migrated over.
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2621543004 .
2017-01-10 12:56:29 -08:00