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
Harry Terkelsen
d109467369
Use lazy static fields when overriding static getters or setters.
...
Fixes #522
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1927353002 .
2016-04-28 15:42:01 -07:00
Stephen Adams
8c745c69d1
Fix modulo and bitwise operators.
...
Dart `%` is modulo, JS `%` is remainder, so call the runtime version.
Use dart2js interpretation of bit operations and shifts which always
produce a 32-bit unsigned result.
Optimization of the bit operations to follow.
BUG= https://github.com/dart-lang/dev_compiler/issues/518
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1924413002 .
2016-04-28 13:47:22 -07:00
Vijay Menon
9d49469af4
Reenable typed_data and html tests
...
TBR=jacobr@google.com
Review URL: https://codereview.chromium.org/1924423002 .
2016-04-28 13:00:07 -07:00
Jacob Richman
efa2303c64
Add all dart:html tests from the sdk to test/codegen. All tests are added except for js_array_test.dart and js_dart_to_string_test.dart which have to be stripped out for now due to failures.
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1930043002 .
2016-04-28 12:30:25 -07:00
Vijay Menon
acc4d6867d
Stop concatenating all tests
...
R=sra@google.com
Review URL: https://codereview.chromium.org/1928443006 .
2016-04-28 11:29:38 -07:00
Jacob Richman
eef7f81d0a
Land fix to StackTrace.current performance already landed in dart2js.
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1927813002 .
2016-04-28 09:28:25 -07:00
Sigmund Cherem
b163c86585
Make file-paths absolute before providing them to the CustomUrlResolver
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1931553003 .
2016-04-28 09:07:28 -07:00
Vijay Menon
3483e1974c
Qualify library names in packages
...
Partially addresses #504 . This is WIP, but wanted your thoughts.
Comment / questions:
- The current js_ast ImportDeclaration assumes a legal identifier I think.
E.g., this gets lowered:
import { src$interfaces } from "matcher"
- Should we thread package root through ModuleCompiler to let it packagify urls?
- How should we handle non-package urls? Pass in an explicit root dir
and go relative?
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1917863005 .
2016-04-27 21:03:58 -07:00
John Messerly
aa0b75f893
simplify emitting dart.bind for native types
...
R=het@google.com
Review URL: https://codereview.chromium.org/1921503007 .
2016-04-27 09:59:32 -07:00
John Messerly
45f57aab55
small cleanup in dart:_runtime
...
there was LazyTagged thing that was not necessary
R=vsm@google.com
Review URL: https://codereview.chromium.org/1920743003 .
2016-04-26 17:58:13 -07:00
Harry Terkelsen
bc0536a56a
Use static dispatch for dynamic on Object methods
...
Fixes #510
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1919173004 .
2016-04-26 17:54:02 -07:00
Harry Terkelsen
6a7e3ca102
Remove virtualField helper, just emit getters/setters in codegen.
...
Also fixes problems with final field overrides, which only override
the getter, not the setter.
BUG=https://github.com/dart-lang/dev_compiler/issues/486
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1918033002 .
2016-04-26 12:39:48 -07:00
Vijay Menon
886616c3aa
Fixes #519
...
This is the Symbol bug which is breaking package:unittest.
R=leafp@google.com
Review URL: https://codereview.chromium.org/1915533004 .
2016-04-22 11:26:57 -07:00
Jacob Richman
cb59a83138
Fix build break due to bug 522
...
BUG=
Review URL: https://codereview.chromium.org/1904373002 .
2016-04-21 17:18:44 -07:00
John Messerly
ea5016ccbe
fixes #516 , nested cascade code generation
...
our let* was not hygenic, due to incorrect use of named substitution
R=vsm@google.com
Review URL: https://codereview.chromium.org/1910233002 .
2016-04-21 15:19:15 -07:00
Harry Terkelsen
0d36e889e2
Emit forwarding getter/setter when overriding just a getter or setter.
...
Based on Vijay's change: https://github.com/dart-lang/dev_compiler/commit/74dc4a6a808b271312aabe1bf463f1e7f4889a43
BUG=https://github.com/dart-lang/dev_compiler/issues/497
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1899373002 .
2016-04-20 18:08:09 -07:00
John Messerly
261d7bf63a
a few small dart:_runtime cleanups
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1896343002 .
2016-04-20 12:52:32 -07:00
Vijay Menon
5cb361db25
Fix for node modules
...
We weren't emitting the actual program. :-)
Seems to work really well - using for easy command line testing.
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1893293003 .
2016-04-19 14:28:43 -07:00
Harry Terkelsen
7e32a93b26
emit 'this.x' when 'super.x' accesses a field
...
BUG=https://github.com/dart-lang/dev_compiler/issues/501
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1895903002 .
2016-04-18 14:44:23 -07:00