Commit Graph

1589 Commits

Author SHA1 Message Date
Vijay Menon 4b6e3feba1 Support module root
Fixes #553

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1960523002 .
2016-05-05 18:17:54 -07:00
Stephen Adams 5c41457500 Update CodeUnits.
TBR=vsm@google.com

Review URL: https://codereview.chromium.org/1956623002 .
2016-05-05 17:25:56 -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
Vijay Menon 7d32105a82 Pickup latest analyzer fixes
Note the new errors in sdk.  Did we change something wrt overrides?

R=leafp@google.com

Review URL: https://codereview.chromium.org/1951263004 .
2016-05-05 16:30:39 -07:00
Stephen Adams 155597eebc Update object.dart and some comments.
TBR=vsm@google.com

Review URL: https://codereview.chromium.org/1952903003 .
2016-05-05 16:29:06 -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 6ef3c8821d Updates for core/{pattern,regexp,stopwatch,duration}.dart
TBR=vsm@google.com

Review URL: https://codereview.chromium.org/1944413006 .
2016-05-05 11:43:32 -07:00
Stephen Adams aa2baf19d3 Updates for js_array.
Copy over most js_array methods.
Remove IterableMixinWorkaround.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1943563002 .
2016-05-05 11:35:37 -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
Stephen Adams b016f035bd Update String methods.
This will need a second pass after core.Iterable is updated
and JS type strings are better parsed.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1950133003 .
2016-05-04 19:40:51 -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
Stephen Adams a703b28667 Merge in JSNumber changes.
R=vsm@google.com
TBR=vsm@google.com

Review URL: https://codereview.chromium.org/1952043002 .
2016-05-04 16:41:13 -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
Stephen Adams e227caef4d Update core/{bool,errors,exceptions}
BUG=

Review URL: https://codereview.chromium.org/1952013002 .
2016-05-04 13:42:19 -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 f6e0383b90 Update core/errors.dart
Also
- update some error helpers functions in the js runtime.
- add 'int' to stringFromCharCode to avoid dcalls.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1947723002 .
2016-05-04 10:41:14 -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
Stephen Adams 75d6cde61b Split status by lib
Also
- allow failing tests to be run and checked for failure

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1946853002 .
2016-05-03 16:48:28 -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
Stephen Adams 6485751d8c Implement Map.unmodifiable
This is a temporary solution.
When we have an implementation of const maps, we should switch to that.

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1946663002 .
2016-05-03 12:02:20 -07:00
Vijay Menon dc8e00b2da Revert "Workaround #537"
Undoing this.  Paul fixed this in 1.17.  We'll need to run with 1.17 builds going forward, but we need that for other reasons.

Fixes #537

R=jacobr@google.com

Review URL: https://codereview.chromium.org/1936693002 .
2016-05-03 10:38:59 -07:00
Stephen Adams 1aa00bc447 List.unmodifiable
Most operations don't check, that will happen as more code is updated
to a more recent sdk.

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1939093003 .
2016-05-03 09:34:44 -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
Vijay Menon b2c0a7446e Workaround #537
R=jacobr@google.com

Review URL: https://codereview.chromium.org/1933383002 .
2016-04-29 12:47:16 -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
Stephen Adams a9837e0af6 Fix for messed-up short-circuit operators.
BUG= https://github.com/dart-lang/dev_compiler/issues/502
R=leafp@google.com

Review URL: https://codereview.chromium.org/1929283002 .
2016-04-29 11:57:23 -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
John Messerly 9f764bf5b4 Make parts hermetic, fixes #531
R=paulberry@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/1930133002 .
2016-04-28 13:37:10 -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 9de1e7426f allow JS builtin to be typed as needed
this removes a lot of bogus casts. It also revealed one test that appeared to be passing, but was not actually passing.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1649583002 .
2016-04-27 13:04:26 -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 936f059f48 Use correct annotation for JS names
Did we switch from "@JS" to "@JsName"?

R=jacobr@google.com

Review URL: https://codereview.chromium.org/1920473003 .
2016-04-25 08:33:52 -07:00
Jacob Richman afc18e6061 Update sdk removing explicit as checks.
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1907353003 .
2016-04-25 08:25:03 -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
Jacob Richman 27ed87462b Cleanup dart:indexed_db, dart:svg, and dart:js errrors. update dart:html with extra generic methods.
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1909193002 .
2016-04-21 14:51:18 -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