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
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
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
50ccf6d9b5
Fix DOM constructors in inline JS
...
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2659063002 .
2017-01-27 09:47:13 -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
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
Leaf Petersen
8ae2f82dce
Eliminate redundant signatures.
...
The check to see that a method signature was redundant was not
handling generics correctly. This CL fixes it, so that we no
longer emit redundant signatures for methods on generic
classes. This should help with startup and code size a bit.
Fixes https://github.com/dart-lang/sdk/issues/28432
BUG=
R=rnystrom@google.com
Review-Url: https://codereview.chromium.org/2640793007 .
2017-01-19 12:44:39 -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
f710e7209a
Make ddc legacy loader more defensive
...
This should match what we need internally.
R=alanknight@google.com , jacobr@google.com
Review-Url: https://codereview.chromium.org/2634463002 .
2017-01-13 08:01:56 -08:00
Vijay Menon
46b7f79fd5
Defer all recursive mixins
...
This defers mixins along with the supertype. It passes Leaf's example on the bug. Will add that as a proper test.
Fixes #28334
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2625913003 .
2017-01-11 10:32:23 -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
Vijay Menon
33c8f425b6
Disable auto "debugger" call for tests
...
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2621823002 .
2017-01-09 15:42:42 -08:00
Jacob Richman
badfd146d2
Fix type error in js_dart2js.dart caught by DDC.
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2611423002 .
2017-01-09 07:42:49 -08:00
Leaf Petersen
7ab0daeedf
Make EventStreamSubscription DDC safe.
...
EventStreamSubscription.listen does a cast which is only working in
DDC because we're ignoring the failure. This wraps the listener to
check the argument rather than casting the function. Also picks up a
few misc changes to the main SDK that hadn't been merged into DDC.
BUG=
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2609633002 .
2017-01-09 04:13:36 -08:00
Jennifer Messerly
95d5bf471c
fix analyzer failing resolve loop variable nodes
...
for example: `var item; for (item in list) { ... }`
this happens anytime ResolutionCopier is used on these, because it drops the staticElement reference for `item` in the above example.
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2612983002 .
2017-01-05 10:47:43 -08:00
Jacob Richman
93fb5d8119
Fix cross-window JS interop on FireFox.
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2610813003 .
2017-01-04 14:15:20 -08:00
Jacob Richman
3659aaf181
Fix bug in Blob creation from workers.
...
Fixes https://github.com/dart-lang/sdk/issues/28155
BUG=
Review-Url: https://codereview.chromium.org/2592813003 .
2016-12-21 08:45:48 -08:00
Jacob Richman
7f26211c26
Correct handling of cross-frame functions in ddc.
...
Misc fixes of dart:js support on ddc.
Work around issue with Blob constructor on ddc.
Fix incorrect dart:js test on dart2js (fixes https://github.com/dart-lang/sdk/issues/26197 )
BUG=
R=alanknight@google.com , leafp@google.com , rnystrom@google.com
Review-Url: https://codereview.chromium.org/2587203002 .
2016-12-19 15:00:55 -08:00
Jennifer Messerly
77f53f609f
fixes #27385 , implement virtual fields in DDC
...
If a field is marked @virtual in Analyzer, DDC will allow it to be overridden as well
also fixes #28114 , abstract getters/setters broke generation of forwarding getters/setters
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2571363002 .
2016-12-15 11:39:25 -08:00
Vijay Menon
392c242df9
Add dart:io stubs to ddc sdk, define dart.library.html
...
Fixes #27302
R=brianwilkerson@google.com , jmesserly@google.com , rnystrom@google.com
Review-Url: https://codereview.chromium.org/2578573003 .
2016-12-14 12:34:33 -08:00
Bob Nystrom
b900a39620
Implement messages in assert() in dev_compiler.
...
Fix #27342 .
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2568313002 .
2016-12-13 13:31:56 -08:00
Vijay Menon
dd16c377fb
Enable more async code on node
...
This is primarily for easier testing/repro on node which has "global",
but not "self".
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/2558133002 .
2016-12-07 10:52:04 -08:00
Vijay Menon
201c5b9297
Fix runtime strong mode error in ListMixin
...
R=jacobr@google.com
Review URL: https://codereview.chromium.org/2544163002 .
2016-12-01 15:41:46 -08:00
Alan Knight
1ff09b431f
Keep only a single active stack trace, enables traces for thrown non-exceptions
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/2545923002 .
2016-12-01 13:41:08 -08:00
Vijay Menon
106c623a9f
Some fixes for lazy JS types
...
R=jacobr@google.com
Review URL: https://codereview.chromium.org/2542833002 .
2016-12-01 07:44:38 -08:00
Bob Nystrom
aa749dbd8d
Sprinkle some types on the SDK like the static typing fairy.
...
When I'm looking at the dynamic call profiles of an internal app test,
I see a bunch coming from the SDK itself. In fact, the top five most
common dynamic call sites are in the SDK.
This fixes four of them. (The fifth is in runUnary() in Zone, and I
don't think can be made typed yet.)
R=vsm@google.com
Review URL: https://codereview.chromium.org/2542723003 .
2016-11-30 17:04:54 -08:00
Alan Knight
667fc8dbe9
Make the dart:developer library available in DDC so debugger statement works
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/2534263002 .
2016-11-29 16:13:45 -08:00
Vijay Menon
88c5dd5745
Better mirrors support for mixins and private fields
...
This is generally motivated by pageloader usage.
R=rnystrom@google.com
Review URL: https://codereview.chromium.org/2535273002 .
2016-11-29 14:00:01 -08:00
Jacob Richman
1b339deab2
Support lazy JS types.
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/2515353003 .
2016-11-22 10:55:35 -08:00
Vijay Menon
de9e3a3005
Set auto breakpoint at various errors
...
Any reason not to do this? I generally find when framework code wraps these errors, it just complicates finding the original bug. Better to just trap.
Perhaps should just inline the call to debugger though. I put in dart.debugger with the thought of making it configurable.
R=jacobr@google.com , jmesserly@google.com
Review URL: https://codereview.chromium.org/2519873004 .
2016-11-21 14:40:46 -08:00
Jennifer Messerly
37029a22de
fix #27336 , ddc with recursive generic class type args
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/2516483002 .
2016-11-17 15:38:33 -08:00
Jacob Richman
fb467ef68a
Fix _wrapDartFunction to call the JS set method directly. At one point this code was previously surprisingly generating a direct call to set instead of a call to dsetindex.
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/2504733002 .
2016-11-15 12:52:28 -08:00
Jacob Richman
27287baa57
Only re-export the main methods. The ddc codegen doesn't depend on any other methods being exported and export code for top level fields and all JS interop types was broken. This change reduces code size of a large Angular2 app by 6%.
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/2500283002 .
2016-11-15 09:35:44 -08:00
Jennifer Messerly
3995146b55
fix #27775 , enum declaration where "name" is a property
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/2488543002 .
2016-11-08 10:18:55 -08:00
Kevin Moore
f05e2b0760
recompile for 4179bd7601
...
Review URL: https://codereview.chromium.org/2484853002 .
2016-11-07 11:02:36 -08:00
Bob Nystrom
8daf4cfb73
Get the basics of deferred libraries working.
...
References to loadLibrary on a library prefix are compiled to a
helper function that returns a Future that always completes
successfully.
The deferred libraries aren't actually deferred, but code that uses
loadLibrary() now doesn't barf.
BUG=#27343
R=vsm@google.com
Review URL: https://codereview.chromium.org/2477673006 .
2016-11-07 10:41:23 -08:00
Vijay Menon
4874480d55
Move FF and Canary to green on travis
...
Try run is here:
https://travis-ci.org/dart-lang/sdk/builds/172400947
R=rnystrom@google.com
Review URL: https://codereview.chromium.org/2467063002 .
2016-11-03 07:44:27 -07:00
Vijay Menon
2d15b4ae74
Type-related fixes
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/2468493003 .
2016-10-31 15:01:29 -07:00
Jennifer Messerly
644c1dca75
fix #27429 , html wrapper methods pass incorrect number of arguments
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/2454173003 .
2016-10-27 13:16:00 -07:00
Jennifer Messerly
cc1ad8cdde
fix #27532 , implementing a native type with fields
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/2430953006 .
2016-10-20 15:59:18 -07:00
Jennifer Messerly
5111675810
fix #27631 , get/set methods no longer shadow index operator
...
R=rnystrom@google.com
Review URL: https://codereview.chromium.org/2435163002 .
2016-10-20 15:45:29 -07:00
Alan Knight
47150f50d5
Use dart:html prefixes (e.g. webkitAudioNode) on other browsers
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/2431443002 .
2016-10-19 16:43:41 -07:00
Jacob Richman
4f6ce11bc8
Emulate compiling a source file in the context of an existing library. Add --debugger-compile flag that performs permissive dynamic calls on private members. Polish web_command.dart adding the ability to evaluate code in the context of an existing library.
...
BUG=
R=brianwilkerson@google.com , jmesserly@google.com
Review URL: https://codereview.chromium.org/2423313002 .
2016-10-18 16:34:48 -07:00