Commit Graph

145 Commits

Author SHA1 Message Date
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
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
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
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 038a66b305 Regen DDC error expectations
Is this due to recent inference changes?

TBR=jmesserly@google.com,leafp@google.com

Review-Url: https://codereview.chromium.org/2619923002 .
2017-01-09 15:32:05 -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
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
Jennifer Messerly 7a1b6e75b3 restrict generic function type subtyping
R=leafp@google.com

Review URL: https://codereview.chromium.org/2540903003 .
2016-12-01 19:24:15 -08:00
Jennifer Messerly 365d9a000a fix #27784 and fix #27785, fromEnvironment constants in DDC
R=vsm@google.com

Review URL: https://codereview.chromium.org/2503803004 .
2016-11-16 12:20:43 -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 2d15b4ae74 Type-related fixes
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2468493003 .
2016-10-31 15:01:29 -07:00
Vijay Menon a032a4c952 Revert "Fix file name handling on windows"
This appears to break on bazel.

BUG=
R=nshahan@google.com

Review URL: https://codereview.chromium.org/2422403002 .
2016-10-17 15:27:48 -07:00
Vijay Menon 852ef37f71 Some mirrors fixes
R=leafp@google.com

Review URL: https://codereview.chromium.org/2415053004 .
2016-10-14 12:19:24 -07:00
Vijay Menon 2495f6a060 Handle private members in dart:mirrors
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/2410453002 .
2016-10-10 15:55:20 -07:00
Bob Nystrom 9b6317d571 Stop using unittest in point_test and rectangle_test.
This also makes rectangle_test strong mode clean. Alas, the test isn't
passing because of another bug, but once that bug is fixed, it should.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2407913002 .
2016-10-10 11:02:37 -07:00
Bob Nystrom 20e402c43d Fix type errors in math.min() and math.max().
Really, this works around them, but the workaround is all round better
code.

Remove the Dart implementations of min() and max() and just forward to
the JS ones. In DDC, all numbers are double, so the type checks to
handle them specifically aren't meaningful. Also, we don't need the
other special case checks in there to help dart2js optimize them.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2386493003 .
2016-09-30 13:18:07 -07:00
Bob Nystrom 2c313a43ac Fix some errors around []= in core types.
- Get rid of JSMutableIndexable since it isn't useful.
- Make JSIndexable generic. (I think dart2js already did.)
- Add .length to NativeTypedArray since it no longer inherits it from
  JavaScriptIndexingBehavior.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2378423003 .
2016-09-30 13:03:10 -07:00
John Messerly 361cd4c61c fix #27408, reverts "ignore dynamic in inference"
this reverts https://github.com/dart-lang/sdk/commit/8c25a41accf52265a89bcc2ffac3bdb7c271f9fb

R=vsm@google.com

Review URL: https://codereview.chromium.org/2360973004 .
2016-09-23 17:01:33 -07:00
Vijay Menon aae63b7e21 Regenerate DDC SDK
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2358323002 .
2016-09-21 16:39:24 -07:00
Vijay Menon 8e943b8c59 Fix tests
This fixed the original 5 static errors from this morning.

TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/2356413002 .
2016-09-21 13:59:55 -07:00
John Messerly aa85651820 fix #27403, use AST summaries in DDC
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2353133004 .
2016-09-20 17:55:09 -07:00
Bob Nystrom 33ff9a3d4f Fix type errors in sort().
If a comparer isn't provided, it was silently assuming the element type
implements Comparable, even though that isn't required. Fixed to add a
manual cast at each comparison.

A stricter faster approach might be to check that the type argument
itself is a type that implements Comparable, but I don't know if that's
too pessimistic, or even possible to do.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2311513002 .
2016-09-08 17:14:36 -07:00
Bob Nystrom 8c7dd5cd04 Cast InternalMap to Map.
It's a tag interface that doesn't declare that it implements Map but all
classes that implement it also implement Map, so just do a cast.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2304323002 .
2016-09-08 16:23:45 -07:00
Vijay Menon 0c8cd45dea Regen and fix expectations
Caught by travis :-)

TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/2300753006 .
2016-09-01 15:11:40 -07:00
Vijay Menon 9af2fb0115 More DDC mirrors support
(Note, this is a straight migration of the old DDC repo CL. :-))

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2301973002 .
2016-09-01 10:13:31 -07:00
Bob Nystrom 4b321d0ecd Import "NoInline" into core so StackTrace's use of it resolves.
R=vsm@google.com

Review URL: https://codereview.chromium.org/2277753005 .
2016-08-25 17:08:52 -07:00
John Messerly a076edad94 roll analyzer
R=vsm@google.com

Review URL: https://codereview.chromium.org/2254883002 .
2016-08-17 21:10:21 -07:00
John Messerly 9b421ebb4f fixes #627, update DDC Future.then signature
R=leafp@google.com

Review URL: https://codereview.chromium.org/2259433002 .
2016-08-17 10:25:10 -07:00
John Messerly 0aa5cbd128 fix #620, infer the input files from sources
also simplifies build of packages used by our tests
this caused a bunch of tests that use parts to start passing

R=nweiz@google.com

Review URL: https://codereview.chromium.org/2234343003 .
2016-08-11 13:19:36 -07:00
Vijay Menon 8fec051a8e Mark recursive_inheritance_test as passing
This will get the dev and master bots green.

Will need to bump the pubspec on analyzer (once published) to make stable green after this.

R=leafp@google.com

Review URL: https://codereview.chromium.org/2214263005 .
2016-08-05 09:35:01 -07:00
Vijay Menon b324b14105 Regen with latest analyzer
TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/2212663002 .
2016-08-03 17:32:17 -07:00
Brenna Milligan 3b7e5eed8c Updated sdk
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2206843002 .
2016-08-02 17:16:07 -07:00
Brenna Milligan 8b0b57844b Get rid of library proto information for debugger libraries
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2208533003 .
2016-08-02 17:08:27 -07:00
Vijay Menon 0fd3e8821c Fix wrt analyzer tip
This sidesteps #618 for now.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2209473002 .
2016-08-02 14:42:06 -07:00
Brenna Milligan a7dc32f424 Deprecation of ClassMetadata wrapper for Class formatters so a stand-alone class is recognizable.
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2205733002 .
2016-08-02 09:43:02 -07:00
Brenna Milligan d18ab46592 Addition of StackTrace formatters
R=alanknight@google.com, jacobr@google.com

Review URL: https://codereview.chromium.org/2189673002 .
2016-07-27 15:14:55 -07:00
John Messerly 0f29ee9618 Remove DDC custom error list now that strong mode analyzer handles it
R=leafp@google.com

Review URL: https://codereview.chromium.org/2102053003 .
2016-07-27 13:10:57 -07:00
Brenna Milligan d7c7c19c54 Library children object fix
R=alanknight@google.com, jacobr@google.com

Review URL: https://codereview.chromium.org/2176233002 .
2016-07-25 17:44:59 -07:00
Brenna Milligan 3d03bee32d Library custom formatters
R=alanknight@google.com, jacobr@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org/2164763005 .
2016-07-22 14:15:53 -07:00
John Messerly c1e97b495f fix #603, support mock objects
if noSuchMethod is used to implement an abstract member, this will be detected and appropriate code will be generated.

R=leafp@google.com

Review URL: https://codereview.chromium.org/2158173003 .
2016-07-19 13:24:02 -07:00
Brenna Milligan 409fbcf956 Custom formatter popup booleans
BUG=
R=alanknight@google.com

Review URL: https://codereview.chromium.org/2137063003 .
2016-07-11 16:21:04 -07:00
John Messerly 86d9eb10d0 don't use JS_CONST in dart:html
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2113913003 .
2016-07-01 10:53:27 -07:00
Brenna Milligan d55b213947 Array formatting customized to look like JS
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2100803007 .
2016-06-28 11:13:51 -07:00
Priscilla Lee 5016cbce59 Fixed type error in MapEntry and added keyToStringConfig to display the toString() of a key in a MapEntry preview.
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2033433007 .
2016-06-08 10:12:53 -07:00
Stephen Adams 73479a600c Throw TypeError instead of CastError for type coercions.
Added 'tag' type StrongModeError, implemented by all errors that are
specific to strong mode semantics.

Failed casts throw CastError(Implementation) or StrongModeCastError.
Failed type assertions and reified coercions throw TypeError or
StrongModeTypeError.

Triaged some tests. Some pass due to now throwing a TypeError, many
pass for unknown reasons.

R=leafp@google.com

Review URL: https://codereview.chromium.org/2026133002 .
2016-06-01 10:18:17 -07:00
Stephen Adams d094888eec Use factory constructor for list literals
The list literal `<int>[1, 2, 3]` was

    dart.list([1, 2, 3], core.int)

now becomes

    JSArrayOfInt().of([1, 2, 3])

R=leafp@google.com

Review URL: https://codereview.chromium.org/2006443002 .
2016-05-25 17:40:46 -07:00
Jacob Richman 41bac633e1 Fix debugger
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1997473007 .
2016-05-20 11:11:43 -07:00
Stephen Adams 0235eba4b9 Updates to collection_patch.dart
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1987043002 .
2016-05-18 15:10:40 -07:00
Stephen Adams 69d11e8df8 Misc updates (mostly doc)
TBR=vsm@google.com

Review URL: https://codereview.chromium.org/1987963003 .
2016-05-17 20:27:23 -07:00