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
John Messerly
0c148ecef4
Implement modular compilation
...
Highlights
* compile one module at a time
* use summaries to speed up compiles
* use command runner so we can add more commands later
* some long needed renames and file organization
* various other technical debt has been addressed
Lowlights
* lost node.js runner/tests (node output format still supported)
* possibly lost some closure support/workarounds (format still supported)
* needs more end-to-end tests of the new system
R=vsm@google.com
Review URL: https://codereview.chromium.org/1879373004 .
2016-04-14 11:28:12 -07:00
Vijay Menon
1d1438cec7
Regen against latest analyzer
...
A couple notes:
- regress_18535_test started failing at runtime. It's using unimplemented mirrors code, so perhaps a static failure before.
- typed_data_sublist_type_dart started failing at runtime. It was inferring Is<EfficientLength> with the type omitted. :-(
- my local chrome is newer than the one on travis failing on generators. not seeing that error.
TBR=jmesserly@google.com
Review URL: https://codereview.chromium.org/1847163002 .
2016-03-31 13:18:42 -07:00
John Messerly
e8bee43919
More analyzer updates, and handle negative_tests
...
Also fixes node_test to not overwrite main SDK log
R=vsm@google.com
Review URL: https://codereview.chromium.org/1840203002 .
2016-03-29 15:16:44 -07:00
John Messerly
63a119bd86
fix to run against latest analyzer
...
hard part was dealing with the new for-each changes
the good news is the new for-each logic simplifes our await-for checking
R=leafp@google.com , rnystrom@google.com
Review URL: https://codereview.chromium.org/1840713003 .
2016-03-28 14:22:36 -07:00
Leaf Petersen
569c4f9045
Tweaks to compile against latest analyzer. Also changes the travis
...
setup to only override analyzer dependencies when $ANALYZER is
explicitly set to master.
BUG=
R=rnystrom@google.com
Review URL: https://codereview.chromium.org/1808123006 .
2016-03-18 20:57:00 -07:00
Leaf Petersen
2fae28ee43
Resolve obvious deprecation warnings on bleeding edge
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1797063002 .
2016-03-15 10:15:34 -07:00
John Messerly
8de2cf84bc
simplify function coercions -- DDC can generate function types in place
...
R=leafp@google.com
Review URL: https://codereview.chromium.org/1783603009 .
2016-03-14 10:37:57 -07:00