Commit Graph

981 Commits

Author SHA1 Message Date
Olivier Chafik 7a373c1984 e2e test for transformer (webdriver + pub serve)
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1672563002 .
2016-02-12 14:53:17 +00:00
Olivier Chafik 037f9bfcb9 Make tool/get_chrome_canary.sh work on Mac 2016-02-12 14:23:18 +00:00
Vijay Menon 3f85417199 Support for dart:typed_data
Fixes #441
Fixes #444

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1680263002 .
2016-02-11 14:36:27 -08:00
Olivier Chafik b4df401e51 Add ./tool/override_analyzer_dependency.sh to checkout latest analyzer + set is as override
Note that pub get is needed after this.

When DDC works with analyzer@master, we can setup a travis env by adding the following lines to .travis.yml:

before_install:
  - test -z "$ANALYZER_BRANCH" || ./tool/override_analyzer_dependency.sh
env:
  - ANALYZER_BRANCH=""
  - ANALYZER_BRANCH="master"

Currently the latest analyzer provides null elements for CompilationUnit parts of dart._runtime (see failure: https://travis-ci.org/dart-lang/dev_compiler/jobs/107936636#L465)

BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1682673002 .
2016-02-10 03:09:38 +00:00
Olivier Chafik 7cabe2b1df Fix a couple of references in _runtime that should have been resolved as quasiquotes
(found when doing tree-shaking :-))

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1681593004 .
2016-02-09 16:35:09 +00:00
Vijay Menon a4d4a8dd54 Infra for running lib tests
This is in prep for #441

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1673863002 .
2016-02-05 14:49:16 -08:00
Olivier Chafik f2a26256e4 Simple transformer to run ddc in pub build/serve
- Added simple test that exercises relative and absolute imports
- Introduced FileSystem abstraction to collect compilation outputs /
seed runtime inputs
2016-02-04 19:08:50 +00:00
Olivier Chafik f7f21ca65e Create local alias for super class in --closure mode (issue #312)
Closure compiler chokes on super classes that aren't qualified paths.

(example: http://goo.gl/5mHC7S)

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1638533004 .
2016-02-03 20:21:12 +00:00
John Messerly dee054e23b fixes #415, correct type for map literals
Not sure why this wasn't implemented. Lists seem to be okay.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1611753002 .
2016-02-01 15:39:54 -08:00
John Messerly f43b756b2f fix #43, remove => workaround
also fixes node.js test to use a temp directory, instead of creating "tmp" under dev_compiler checkout

R=vsm@google.com

Review URL: https://codereview.chromium.org/1643523008 .
2016-02-01 12:54:58 -08:00
Olivier Chafik edaf069dba Add --modules=node support
- Force import order in all sdk files + simplify module builders
- Stub a node_test.sh with hello world + DeltaBlue (to be expanded to language tests in a followup change)
- Use global_ from dart:_runtime in html lib
- Better export for symbols that node chokes upon: throw, const, void, implements, export... (define as throw_ locally, with proper local resolution, then export as throw).
- Cleanup node module builder

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1633003002 .
2016-01-29 10:01:48 +00:00
Vijay Menon b56617b947 Add CustomEvent
This just mechanically adds CustomEvent.

Fixes #423

R=jacobr@google.com

Review URL: https://codereview.chromium.org/1616263005 .
2016-01-28 17:04:13 -08:00
Vijay Menon a693930830 Roll analyzer to 0.27.2-alpha.1
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1641643004 .
2016-01-28 15:35:59 -08:00
Jacob Richman 2dfc37b9ed Use the great new Devtools API for custom formatters. Now Dart objects are now generally as easy to view in the debugger in Chrome using dev_compiler as they are using Dartium. There are still some edge cases that need to be polished but most of the general property display and type information is done.
Checkpoint in devtools debugger support.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1625563002 .
2016-01-22 13:28:28 -08:00
Olivier Chafik 940cb14d16 Reapply 635620c97f0316cfadada3afb897eff3f2a9cdd5 after 6c1c9403788a85a98ee5d5a1f86ff2a3f6a61593 2016-01-21 00:58:19 +00:00
Olivier Chafik 3886194414 Generate _runtime.js from dart (https://github.com/dart-lang/dev_compiler/issues/310)
The following part files were ported from the original .js (lib/runtime/dart/_foo.js -> input_sdk/private/foo.dart):
- input_sdk/private/rtti.dart
- input_sdk/private/types.dart
- input_sdk/private/classes.dart
- input_sdk/private/errors.dart
- input_sdk/private/generators.dart
- input_sdk/private/operations.dart
- input_sdk/private/runtime.dart

Notes:
- Introduced genericTypeConstructor intrinsic: `JS('', '#(type)', genericTypeConstructor(List))` generates `core.List$(type)`
- Used new JS quasiquotes everywhere
- Depends on new internal `@JSExportName` annotation to alias symbols like dart.{as, is, const, assert, export, implements, throw, async, dynamic, void} (see https://codereview.chromium.org/1580413002/)

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1530563003 .
2016-01-21 00:45:31 +00:00
Vijay Menon 077465ddc8 Fixes #412
Adds Screen, Navigator.language, and HTMLHtmlElement to dart:html

R=jacobr@google.com

Review URL: https://codereview.chromium.org/1607073002 .
2016-01-19 13:31:12 -08:00
John Messerly 5b45c6ef87 partial fix for #414, avoid dcall in _convertToDart
this doesn't fix the root call, but still, it's nice to clean up this dead code

R=vsm@google.com

Review URL: https://codereview.chromium.org/1609843002 .
2016-01-19 12:02:06 -08:00
Olivier Chafik 51c3bcbe14 Add a @JSExportName annotation for internal use in the runtime (use it to export dart.assert instead of assert_)
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1580413002 .
2016-01-19 17:51:18 +00:00
Jacob Richman 2a1cbc829c Fix for html_common
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1583943002 .
2016-01-13 11:13:59 -08:00
Vijay Menon e907ebb106 Fixes #408
This is a bug on JSON.decode.  This should match the hand fix in #404.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1579223002 .
2016-01-12 14:17:40 -08:00
Vijay Menon 6e8375ed0d Added Comment to dart:html
R=jacobr@google.com

Review URL: https://codereview.chromium.org/1577423002 .
2016-01-12 14:16:32 -08:00
Leaf Petersen 44f2cf3424 Bump the version number and re-baseline codegen/expect
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1569783006 .
2016-01-08 13:29:08 -08:00
Vijay Menon 3006795312 Support source maps in server mode
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1530133003 .
2016-01-07 13:22:03 -08:00
Leaf Petersen 1c119bebb2 Update to latest analyzer
Fixes https://github.com/dart-lang/dev_compiler/issues/393

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1554683002 .
2016-01-05 15:58:50 -08:00
Vijay Menon e29437a374 First cut of mini dart:html.
This gets us going on Angular.

Note, this is auto-generated from my hacked up versions of the dom scripts.  Still tackling the long tail of sdk errors.

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

Review URL: https://codereview.chromium.org/1528613004 .
2015-12-15 13:08:17 -08:00
Vijay Menon 86ef3092a1 Run browser tests on Atom/Electron
Tested on travis here: https://travis-ci.org/dart-lang/dev_compiler/builds/96609818

Note, electron shows up in the log as: Chrome 47.0.2526

This fixes #395

R=ochafik@google.com

Review URL: https://codereview.chromium.org/1521283003 .
2015-12-14 06:25:12 -08:00
Olivier Chafik 0187b15bba Use string interpolation in JS intrinsics to simplify large templates.
This helps define large runtime methods that refer to lots of helpers.
The following pattern:

    f(a, b, c) => JS('', '''((a, b, c, someHelper) => {
      return someHelper(a + b + c);
    })(#, #, #)''', a, b, c, someHelper);

Becomes:

    f(a, b, c) => JS('', ''(() => {
      return $someHelper($a + $b + $c);
    })()''');

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1522773002 .
2015-12-14 01:14:19 +00:00
Olivier Chafik ee793284ae Compile the sdk with --no-destructure-named-params (#396)
This is so the Atom plugin doesn't need to regenerate the SDK (it still
needs to be compiled with --no-destructure-named-params, though, until
Atom is updated to more ES6-compliant node/Chrome).
2015-12-11 17:56:41 +00:00
John Messerly 53842c06ab Merge pull request #394 from dart-lang/fix-analyzer-version
Pin analyzer version to 0.26.2+1 to unbreak the build.
2015-12-09 08:35:58 -08:00
Olivier Chafik 7bc83534aa Special-case top-level final JS fields to make them non-lazy
(follow-up to John's suggestion in https://codereview.chromium.org/1486473002/)

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1487213002 .
2015-12-09 15:10:33 +00:00
Olivier Chafik c64b7bbe9e Pin analyzer version to 0.26.2+1 (newer versions break the build, see issue #393) 2015-12-09 13:29:58 +00:00
Vijay Menon 8fb3eb3362 Fixes for exports
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1488273002 .
2015-12-01 15:54:54 -08:00
Olivier Chafik 6410051fd0 Convert dart_utils.js to input_sdk/lib/_internal/utils.dart (#310)
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1486473002 .
2015-12-01 19:02:43 +00:00
Vijay Menon 7f8505512e More mirrors
A little more implementation and workarounds for Angular.  See #199.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1489043002 .
2015-12-01 11:01:28 -08:00
Vijay Menon 5b2e5f8e30 Regen DDC files
These are due to the upgrade to analyzer 0.26.3

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

Review URL: https://codereview.chromium.org/1486753003 .
2015-11-30 13:39:16 -08:00
John Messerly 2ede0ed01f Merge pull request #388 from jonaskello/babel-workarounds
Babel workarounds
2015-11-18 16:04:09 -08:00
Jonas Kello 958b5698a6 Babel workaround 2015-11-19 01:03:15 +01:00
Jacob Richman d0cec4ac47 Switch ddc to use @JS instead of @JSName. Also update dart:js to support new public methods added for 1.13
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1448993002 .
2015-11-16 12:55:30 -08:00
Vijay Menon bceee1d180 Fix field override error
This fixes the following error reported by https://codereview.chromium.org/1430953004/ (not landed yet):

severe: [InvalidFieldOverride] Field declaration _ControllerSubscription<T>._controller cannot be overridden in _BroadcastSubscription. (dart:async/broadcast_stream_controller.dart, line 40, col 3)

Devon: this should address https://github.com/flutter/atom-flutter-dev/issues/2

R=leafp@google.com

Review URL: https://codereview.chromium.org/1413303005 .
2015-11-06 14:13:20 -08:00
Olivier Chafik 5337fc001e Compile package:js.{rest, spread} helpers.
Note: need new package:js release before merging this in (https://github.com/dart-lang/sdk/issues/24623). Maybe it's time to think again about sneaking JsName + JsPeerInterface into it? (https://github.com/dart-lang/dev_compiler/issues/135)

BUG=https://github.com/dart-lang/dev_compiler/issues/310
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1424133007 .
2015-10-29 18:44:11 +00:00
Olivier Chafik 7add882a7a Move runtime js files down to lib/runtime/dart
Prepare for writing all the runtime in Dart:
- Move js runtime files to lib/runtime/dart (dart_runtime.js ->
dart/_runtime.js),
- Use rest params instead of arguments slicing in a couple of places.

BUG=https://github.com/dart-lang/dev_compiler/issues/310
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1413683006 .
2015-10-29 16:44:49 +00:00
Vijay Menon 2358366f56 Rewire DDC to use the analyzer task model
This is WIP - not quite ready for review.

Not all tests are passing yet.  Most checker and inference tests are passing, but about a quarter are failing - need to look.

The non-runtime changes under lib along with test/testing.dart are the only real changes.

We seem to be losing some type info - lots of new casts - but I see at least one removed.

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

Review URL: https://codereview.chromium.org/1355893003 .
2015-10-08 13:42:53 -07:00
John Messerly 47bab055d7 [js] simplify qualified names
R=vsm@google.com

Review URL: https://codereview.chromium.org/1368153002 .
2015-09-25 13:03:59 -07:00
John Messerly 9383237f36 additional SDK fixes. This gets all of them, once we upgrade to new analyzer
there's still a lot of warnings, those are next up

R=leafp@google.com

Review URL: https://codereview.chromium.org/1347153005 .
2015-09-18 17:11:21 -07:00
John Messerly 28f1e80cd6 fix some errors in our SDK, mostly around numbers, see issue #103
also improved codegen of JSNumber's methods

R=leafp@google.com

Review URL: https://codereview.chromium.org/1348453004 .
2015-09-18 17:10:02 -07:00
John Messerly 6038aa2955 Merge pull request #334 from dart-lang/finish_rename
finish rename of devc.dart to dartdevc.dart
2015-09-17 08:22:39 -07:00
Devon Carew 01ffd2684d finish rename of devc.dart to dartdevc.dart 2015-09-16 21:22:57 -07:00
Olivier Chafik 56a534ae65 Speed Travis CI up with some caching & faster fails 2015-09-12 17:55:46 +01:00
Vijay Menon 2ef54c946b Fixes for Angular
R=leafp@google.com

Review URL: https://codereview.chromium.org/1324693004 .
2015-09-02 13:39:53 -07:00