Commit Graph

348 Commits

Author SHA1 Message Date
John Messerly c1139934a7 fix #626, add AMD module format and make it default
R=nweiz@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/2249233002 .
2016-08-25 09:39:36 -07:00
Jacob Richman 87577db2b2 Add dart:js_util library and tests to ddc. This library is already added to dart2js and dartium.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2269963005 .
2016-08-24 09:13:06 -07:00
Vijay Menon 124e71473a Add mirrors tests
Doh!

TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/2265533002 .
2016-08-19 08:37:45 -07:00
Vijay Menon 8442efa4d3 Support call methods on functions
Fixes #624

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2255993002 .
2016-08-18 07:51:17 -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
Vijay Menon 3ddb76b95c Reify type params on map literals
Fixes #621

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

Review URL: https://codereview.chromium.org/2211293002 .
2016-08-05 07:16:02 -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
John Messerly e51f9de339 fixes #616, statics on callable functions
also fixes `this` for them

R=vsm@google.com

Review URL: https://codereview.chromium.org/2200913002 .
2016-08-01 17:12:37 -07:00
John Messerly 344124e4a1 fix optional params to mock methods, allow all signatures
switches to use the same technique as `dsend`

R=vsm@google.com

Review URL: https://codereview.chromium.org/2201973002 .
2016-08-01 16:21:59 -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
Leaf Petersen fceb82f49d Fix null aware generic invocation.
Fixes #600

BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2132763002 .
2016-07-07 13:07:17 -07:00
Andrew Krieger 87bcbf9147 Move type tagging logic out of setSignature
setSignature is only called for classes with constructors or static
members, so previously _runtimeType was only set explicitly on such
classes. Now _runtimeType is not set on any classes except for Object,
and all other types inherit _runtimeType from Object.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2076713002 .
2016-06-27 15:29:15 -07:00
John Messerly d27eda4ffc implement user-defined nSM, Object members on functions
fix #591 and fix #59

R=vsm@google.com

Review URL: https://codereview.chromium.org/2061373003 .
2016-06-22 17:18:52 -07:00
Stan Manilov 715c845d85 Add a regression test for bug #587
BUG= https://github.com/dart-lang/dev_compiler/issues/587
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2075493002 .
2016-06-15 16:58:57 -07:00
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
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
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
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
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 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
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
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 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
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 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
Leaf Petersen 2f00ebd41c Better is/as check handling. With this CL, the subtype function in
the DDC runtime returns null when a difference from the spec mode
result is possible.

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

BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1945113003 .
2016-05-04 13:25:55 -07:00
Stephen Adams be0d779177 Add corelib tests
99 have compile errors
265 generate code
94 fail

We will triage after updating the sdk.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1945153002 .
2016-05-04 11:09:28 -07:00
Bob Nystrom 3bb9e0aa93 Don't wrap type literals that are referenced by prefixes.
Also, fix the language test for this to actually do something useful.
I accidentally removed the definition of testType() in the last patch,
so the test did nothing. :(

Fixes #547.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1945643005 .
2016-05-04 10:13:23 -07:00
John Messerly 2b20f3d1cc fix #543, export of properties should now work
top-level fields, getters, setters were all broken

R=vsm@google.com

Review URL: https://codereview.chromium.org/1949733002 .
2016-05-03 16:37:42 -07:00
Bob Nystrom 44db042cd8 Redo how Type objects are exposed from DDC.
- Instead of using the raw runtime type that DDC uses for its type
  checks, use a WrappedType that correctly implements Type's interface.
- Compile class literals to wrap the type in a WrappedType.
- Make Object.runtimeType() do the same thing.

Fixes #488. Fixes #511.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1944483002 .
2016-05-03 14:24:08 -07:00
John Messerly 733773476d instantiate generic tear-offs, fixes #525
R=het@google.com

Review URL: https://codereview.chromium.org/1930323004 .
2016-04-29 16:41:24 -07:00
Harry Terkelsen 428cb00f7d include type parameters on generic sync/async functions
fixes #538

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1935823002 .
2016-04-29 15:25:56 -07:00
Stephen Adams a7504464c3 Improve code for shifts and bitwise operations.
- JavaScript shifts can be used for operands in certain ranges.

- Coercion from signed-32 to unsigned-32 can be omitted if
  - it is a no-op
  - the context performs the coercion
  - the context is insensitive to the most significant bit

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1920293005 .
2016-04-29 12:22:15 -07:00
John Messerly 6598fa0f7d implement generic method runtime behavior, fixes #301
R=leafp@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1926283002 .
2016-04-29 10:41:48 -07:00