Commit Graph

2256 Commits

Author SHA1 Message Date
Olivier Chafik adf6842f6c Initial --modules=es6 support
Known issues:
- Import syntax: using 'dart/core' right now, but should be
'./dart/core' or something else?
- _jsModuleValue not supported in es6 output yet (how is it meant to be
used?)

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1612083002 .
2016-01-24 18:09:59 +00: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
John Messerly 8f83c969d2 rebase expectations
no changes here, just rebases against latest analyzer

R=ochafik@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1619483003 .
2016-01-22 13:16:09 -08:00
Olivier Chafik fc81df2f43 Rehab test dropped by mistake in c9d909ced98dea2aefe20322a59d18fbab2d93b2 2016-01-22 14:51:33 +00:00
John Messerly 0d9b50eca2 fixes #419, clarify docs around /*=T*/
Adds an example and some text to show an alternate usage of /*=T*/ form, where it provides another named type to use for non-strong mode tools.
2016-01-21 17:09:35 -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
John Messerly cc2f706ded partial fix for #414, nSM message for dcall should show correct target
R=vsm@google.com

Review URL: https://codereview.chromium.org/1601353002 .
2016-01-19 13:33:54 -08: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
Leaf Petersen bccc3c2e62 Some phrasing fixes
BUG=
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/1585753003 .
2016-01-13 17:24:32 -08:00
Leaf Petersen 72bef943fb Add file documenting generic method prototype syntax
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1586803002 .
2016-01-13 14:28:29 -08: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
Jacob Richman daeadb187b Avoid parsing and then generating HTML for documents without Dart scripts. This is a fragile workaround to avoid messing up Angular templates.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1587693002 .
2016-01-13 10:55:18 -08:00
vsmenon 0c1714ca4b Update CHANGELOG.md 2016-01-13 08:22:38 -08:00
vsmenon be2c89b28e Update devc.dart 2016-01-13 08:20:37 -08:00
vsmenon 78f337f7e5 Update package.json 2016-01-13 08:19:54 -08:00
vsmenon b5b6594319 Update pubspec.yaml 2016-01-13 08:19:29 -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
Vijay Menon 2a3549a8f5 Fixes #410
This generates calls to methods on may-be-native types property in generic methods.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1580803002 .
2016-01-12 09:47:44 -08:00
vsmenon f4224e3708 Update PUBLISH.md 2016-01-08 13:40:37 -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
vsmenon 40925a3609 Update PUBLISH.md 2016-01-08 10:38:39 -08:00
vsmenon 23bc615478 Create PUBLISH.md 2016-01-08 10:37:20 -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
Devon Carew ac183ca086 Update _operations.js 2015-12-17 17:11:59 -08:00
Olivier Chafik 3307317454 JS: Format if statements with no else on a single line
To match Dart style:
https://www.dartlang.org/effective-dart/style/#do-use-curly-braces-for-all-flow-control-structures

(also, that's the style we use in our .js runtime files, so that will help with diffs of the js->dart runtime migration from https://github.com/dart-lang/dev_compiler/issues/310)

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1524843002 .
2015-12-16 19:45:19 +00: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 db6d860360 Fixes for html report
This forces a regen of the summary when a file is recompiled.  It also suppresses dart: entries during normal compilation.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1523353002 .
2015-12-15 12:27:02 -08:00
vsmenon 4deedacfdb Update CHANGELOG.md 2015-12-14 10:40:49 -08:00
vsmenon 4309a4feed Update devc.dart 2015-12-14 10:38:30 -08:00
vsmenon 4f06ba7267 Update pubspec.yaml 2015-12-14 10:37:40 -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 15a98b5bbe Fix a regression (var decls with rhs), support computed props in class defs + add basic tests.
BUG=

Review URL: https://codereview.chromium.org/1522793002 .
2015-12-14 01:10:15 +00:00
Vijay Menon 79e6f96623 Don't test on 'Chrome' by default
Plain Chrome is way old on travis (37).

TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/1518103002 .
2015-12-11 12:30:32 -08:00
Vijay Menon 6ecadc8c19 Run tests on Chrome stable by default
This also disables destructuring by default as Chrome 47 (current
stable) does not support.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1507343013 .
2015-12-11 12:18:20 -08: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
Olivier Chafik dac42a00dd Allow disabling named param destructuring with --destructure-named-params (issue #396)
Right now one also needs to regenerate the runtime (see #397):
./tools/build_sdk --no-destructure-named-params
2015-12-11 17:30:59 +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
Olivier Chafik 07d3998cdc Before (for f(a, {b, c: c_default})):
function f(a, opts) {
    let b = opts && 'b' in opts ? opts.b : null;
    let c = opts && 'c' in opts ? opts.c : c_default;
    ...

After:
  function f(a, {b = null, c = c_default} = {}) {
    ...

Note:
- Still reverting to old code when any parameter clashes with reserved JS names (see discussion in https://github.com/dart-lang/dev_compiler/issues/392)
- When a parameter clashes with a Object.prototype property, using a clean default opts value (Object.create(null)).
- Passing opts through in aliased constructors, both for speed/concision and correctness (since default param value semantic is weird there)

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1484263002 .
2015-12-02 21:56:35 +00:00
Vijay Menon 43760b2956 Expand generic type whitelist for function application checks
Hitting this in Angular - reusing the cast whitelist.

R=leafp@google.com

Review URL: https://codereview.chromium.org/1485353002 .
2015-12-01 16:05:50 -08:00
Vijay Menon a6f4d9b1c5 Fixes #378
Handles fields on "extension" types

See patch #1 for the test without the fix.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1492523004 .
2015-12-01 15:57:56 -08: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