Commit Graph

899 Commits

Author SHA1 Message Date
Leaf Petersen 3e5d1d80e6 Fix function subtyping crash
Fixes #588

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2069653003 .
2016-06-14 09:55:04 -07:00
Leaf Petersen 59abfdb121 Fix bot, law of the excluded middle still holds
TBR=jacobr@google.com

BUG=

Review URL: https://codereview.chromium.org/2037503002 .
2016-06-01 20:58:44 -07:00
Leaf Petersen 40c7ac9038 Wire up class hierarchy for recursive inheritance
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2033543002 .
2016-06-01 19:21:45 -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
John Messerly f0517c4deb Enable strong mode in DDC, fix all warnings/errors
R=leafp@google.com

Review URL: https://codereview.chromium.org/2016483002 .
2016-05-26 11:13:32 -07:00
Leaf Petersen 3e9ed11db6 Name and hoist types
Adds infrastructure for naming and hoisting types in various ways. Makes an initial cut at how to slice the naming, but we will want to adjust.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1988023008 .
2016-05-25 11:07:38 -07:00
John Messerly f950e422b8 fix #577 - correctly toString ES Symbols
R=sra@google.com

Review URL: https://codereview.chromium.org/1993293002 .
2016-05-19 12:33:06 -07:00
Harry Terkelsen e105544411 implement top-level JS annotated getters
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1993813003 .
2016-05-19 11:10:24 -07:00
Bob Nystrom f7ffb1a9c4 Check in a lockfile.
This should ensure we all use the same versions of dev_compiler's deps
when we hack on it.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1988213003 .
2016-05-18 16:51:16 -07:00
Bob Nystrom 1e5b3af2e0 Move generated files to gen/.
- The generated SDK goes into gen/patched_sdk.
- Expanded multitests go into gen/codegen_tests.
- Compiled tests go into gen/codegen_output.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1988503002 .
2016-05-18 13:48:10 -07:00
John Messerly d2b6f53630 fix #470, string interpolation now respects Dart toString
R=sra@google.com

Review URL: https://codereview.chromium.org/1989663002 .
2016-05-17 17:23:57 -07:00
Bob Nystrom d95a368e70 Update dart:collection.
This doesn't include the copious changes in collection_patch.dart
because I believe (1) those are quite old and (2) are dart2js specific.

The changes here have basically no effect on DDC, but it at least gets
us a little better test coverage and reduces noise in the diffs.

R=sra@google.com

Review URL: https://codereview.chromium.org/1977003002 .
2016-05-17 15:39:52 -07:00
John Messerly 0cedeb49af simplify constructors, fixes #564
we still have an init method, for better or worse, to break out of ES6 restrictions

The idea here is default Dart constructor (really an initialization method) is always called `new` instead of the class name. We already do this for unnamed factory.

R=leafp@google.com

Review URL: https://codereview.chromium.org/1965213003 .
2016-05-17 14:36:56 -07:00
Leaf Petersen 59012493cb Eliminate unnecessary covariance checks.
This eliminates the erroneous checks inside of nested closures, and
eliminates checks where the type parameter is only used covariantly.

We still don't handle the cases where a generic is implemented by
a non-generic correctly.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1988613006 .
2016-05-17 12:21:02 -07:00
John Messerly 1265dc470b fix #569, cache constants defined in methods
R=leafp@google.com, sra@google.com

Review URL: https://codereview.chromium.org/1979013003 .
2016-05-17 11:09:59 -07:00
Stephen Adams 3c44af0a51 Named constants are (usually) not null.
R=vsm@google.com

BUG=

Review URL: https://codereview.chromium.org/1986683002 .
2016-05-17 10:55:14 -07:00
Vijay Menon d15a603538 Allow the SDK to be set via a summary file
The generated summary file matches the generated DDC sdk - i.e., it
does not include dart:io.  I modified the codegen_tests to the summary
and had to prune the parts of unittest that relied on dart:io.

Paul / Konstantin: can one of you please look at the summary part?

Bob: can you please look at the unittest changes?

R=rnystrom@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1982853002 .
2016-05-16 17:10:08 -07:00
Harry Terkelsen 9458bdf428 enable top-level @JS() getters
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1976383002 .
2016-05-16 09:22:32 -07:00
Vijay Menon 88870d0194 Migrate dart2js stubs for dart:io
Modifies tests to use our SDK.  Didn't prune io dependences to make
sure the stubs above work.  :-)

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1976103003 .
2016-05-16 08:23:41 -07:00
Bob Nystrom 851cbb0fb3 Delete stale .js or .err files when generating codegen output.
This ensures that, for example, if you fix a test to no longer have
errors, then the old ".err" file is removed.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1978983002 .
2016-05-13 16:34:13 -07:00
Bob Nystrom 4a51a187d3 Upgrade to the latest dart:convert.
This fixes html_escape_test as well as codec1_test.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1978963002 .
2016-05-13 16:33:35 -07:00
Harry Terkelsen 2136fdc40e implement @JS classes
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/1977893002 .
2016-05-13 10:24:54 -07:00
Jacob Richman f59bf19564 html_escape_test does not fail with the dart sdk the build bot uses.
BUG=

Review URL: https://codereview.chromium.org/1969293004 .
2016-05-13 09:31:13 -07:00
Stephen Adams bfa432ef56 A few more tests pass
TBR=vsm@google.com

Review URL: https://codereview.chromium.org/1978613003 .
2016-05-12 13:51:37 -07:00
Bob Nystrom 2883b19b9c Upgrade StackTrace to the latest SDK version.
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1967383002 .
2016-05-12 10:31:04 -07:00
Jacob Richman 9b8f582b82 Double timeout for slow tests to reduce flakiness seen on travis.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1974873003 .
2016-05-12 10:03:29 -07:00
Jacob Richman c325cecff8 Mark some tests that could be fail instead of skip_fail as fail. Mark timeout test as timeout instead of skip_fail
BUG=
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/1971923003 .
2016-05-12 09:39:16 -07:00
Jacob Richman 548f1393a3 Work around is check issue causing zone error handlers to never fire. Update test expectations to reflect the correct expectations.
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1968323002 .
2016-05-12 09:33:05 -07:00
Harry Terkelsen 382996f41c update dart:math
BUG=
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/1967773005 .
2016-05-12 09:03:11 -07:00
John Messerly 825737dc13 fuse some null checks with type checks, introduce a special bool variant
fixes #536

R=sra@google.com

Review URL: https://codereview.chromium.org/1964263002 .
2016-05-11 11:16:00 -07:00
Leaf Petersen 2031f66a95 Canonicalize function types. Brings sample app load time
down to the 6-7s range.

BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1969523002 .
2016-05-11 10:08:29 -07:00
John Messerly a7f812b676 fix #552, Object members on native types
We initially hard coded a few of these. That worked until native_typed_data and html were added. Those two libraries have a lot of native types.

This also fixes TypeRep to extend dart:core Object, and fixes the dart:_runtime so we can write Dart classes. Cleans up a few of the JS builtins as well.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1962823002 .
2016-05-10 11:35:38 -07:00
Bob Nystrom e535970604 Update dart:convert and dart:core Uri.
I started trying to get the convert tests all cleaned up and passing
but realized I was going down a rathole. So, for now, all of the slow
or failing ones are just skipped.

BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1965563003 .
2016-05-10 10:25:38 -07:00
Stephen Adams 783a1f45c2 Update linked_list, queue, splay_tree
Now identical to (pending) CL from main branch.

TBR=vsm@google.com

Review URL: https://codereview.chromium.org/1966473002 .
2016-05-09 14:14:29 -07:00
Harry Terkelsen 6a1d61fba7 optimize self-references in generic type definitions
fixes #556

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1958193002 .
2016-05-09 11:42:57 -07:00
Leaf Petersen 86c4dc01a1 Only use white list on indefinite checks
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1953823005 .
2016-05-06 19:14:47 -07:00
Stephen Adams a5d1626299 Update date_time.
TBR=vsm@google.com

Review URL: https://codereview.chromium.org/1952133007 .
2016-05-06 17:52:21 -07:00
Stephen Adams 65e8266447 Update collection (list / map / iterable) printing.
Remove methods from IterableBase that are now on Iterable.

And random comments from other files.

Review URL: https://codereview.chromium.org/1956933002 .
2016-05-06 16:03:44 -07:00
Leaf Petersen 7c634031e5 Fix void subtype checks.
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1958683002 .
2016-05-06 14:04:03 -07:00
Jacob Richman 2cc3233c13 Remove unittest.js from codegen/expect directory.
BUG=

Review URL: https://codereview.chromium.org/1956053002 .
2016-05-06 13:48:33 -07:00
Jacob Richman 9520e96340 Switch to actual unittest, stack trace, and path packages. Tag tests as failing that were ignored due to the incomplete unittest library. Make running of unittests a bit more robust by wrapping them inside a mocha test to avoid unpredictable behavior due to interleaving async mocha and unittests.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1956513004 .
2016-05-06 12:28:44 -07:00
Harry Terkelsen d9e0533bf9 allow 'super' in async and finally blocks
Fixes #499
Fixes #528

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1948563002 .
2016-05-05 17:03:11 -07:00
Stephen Adams daddc0d4fa Update number parsing.
Review URL: https://codereview.chromium.org/1950133008 .
2016-05-05 16:15:05 -07:00
Bob Nystrom a191ce0384 Update dart:async to match the Dart repo.
R=vsm@google.com

Review URL: https://codereview.chromium.org/1953153002 .
2016-05-05 15:03:10 -07:00
Stephen Adams f6fc1e380f Upgrade Iterable and Iterator.
R=vsm@google.com

Review URL: https://codereview.chromium.org/1948113003 .
2016-05-04 20:22:42 -07:00
Leaf Petersen a860134afc Fix subtyping for generic typedefs. Generic typedefs were being
treated as classes.

Fixes https://github.com/dart-lang/dev_compiler/issues/550 .

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1948253002 .
2016-05-04 18:35:59 -07:00
Bob Nystrom a6d1fbfb9d Fix accessing private members on extension classes.
Since the member was already a symbol, canonicalMember() was incorrectly
double wrapping it.

Fixes #508.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1944293003 .
2016-05-04 15:04:00 -07:00
John Messerly 56b9d090aa fix #549 export of properties
R=vsm@google.com

Review URL: https://codereview.chromium.org/1949253002 .
2016-05-04 14:59:12 -07:00
John Messerly c840252271 fix for #520, ListMixin should work again
it regressed when dart:html was added and it became an "extension type"

R=vsm@google.com

Review URL: https://codereview.chromium.org/1949163003 .
2016-05-04 14:31:29 -07:00
John Messerly 2a6643a629 skip test that timed out in build
Review URL: https://codereview.chromium.org/1946233003 .
2016-05-04 14:02:30 -07:00