Commit Graph

1589 Commits

Author SHA1 Message Date
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 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
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
Olivier Chafik 82f50549cb Use const for const/final top-levels, types, symbols.
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1483813002 .
2015-12-01 01:06:13 +00:00
Vijay Menon a8c8bdeb58 Remove unnecessary/incorrect bind
Fixes #381

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1484003004 .
2015-11-30 14:29:11 -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 8e83239cc9 implement ES6 modules in JS AST.
they aren't used by the Dart compiler yet, so this is just some scaffolding

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

Review URL: https://codereview.chromium.org/1458243002 .
2015-11-30 08:34:31 -08:00
vsmenon 6a9e9e36a7 Merge pull request #387 from dart-lang/pretty_print_maps
pretty print source maps
2015-11-20 15:27:33 -08:00
vsmenon 653371f5de Update devc.dart 2015-11-20 14:15:02 -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
Devon Carew 0cbc2ffcc7 more compact source map format 2015-11-16 09:35:25 -08:00
Devon Carew 1d85f2e8f9 pretty print source maps 2015-11-16 09:09:20 -08:00
Devon Carew 2f3e5e51d6 rev to 0.1.11 2015-11-12 23:23:03 -08:00
Vijay Menon 7b3c4c2cdd Initial support for f-bound quantification patterns
This doesn't fix all issues (see remaining broken test), but it unblocks angular.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1431403002 .
2015-11-10 15:41:57 -08:00
Vijay Menon 275d280985 Re-enable source maps
This appears to have bit-rotted.

Fixes #384

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1425313003 .
2015-11-10 06:35:59 -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
John Messerly 749d820ce6 fix escape of $ in template strings
https://github.com/dart-lang/dev_compiler/issues/379

R=vsm@google.com

Review URL: https://codereview.chromium.org/1426243002 .
2015-11-02 10:32:49 -08:00
Vijay Menon edd9cbe7ea Serve html report in server mode
If this looks good, I can rip out the old message widget code.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1422323005 .
2015-10-30 10:57:56 -07: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
John Messerly d8c7cd7d67 Merge pull request #317 from dart-lang/fix-devrun
Update devrun to use latest node.js
2015-10-29 10:19:40 -07:00
John Messerly eb2c58454c Merge pull request #376 from dart-lang/rev_ddc
0.1.10
2015-10-29 10:17:15 -07: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
Devon Carew 097a0234ee 0.1.10 2015-10-29 06:53:49 -07:00
Olivier Chafik 39b6f118ef Update devrun to node.js v4.0.0 + fix globally activated dartdevrun 2015-10-29 12:17:57 +00:00
Devon Carew 27db3b7229 Add -f as an alias for --force-compile.
BUG=https://github.com/dart-lang/dev_compiler/issues/372
R=vsm@google.com

Review URL: https://codereview.chromium.org/1412613006 .
2015-10-28 11:26:26 -07:00
Devon Carew 041babaeb3 generate an html report of the compilation results
cleanup css

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1419973003 .
2015-10-28 09:57:35 -07:00
Vijay Menon 734aeb29e4 Fix the error message widget
This had bit-rotted away.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1419953002 .
2015-10-27 11:31:23 -07:00
Devon Carew 13c699cb05 Fix the --version option.
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1414133003 .
2015-10-23 11:06:25 -07:00
Vijay Menon 97694befba Restore null error listener
This gets server mode running again.  Looks like this was lost in recent refactoring.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1418563002 .
2015-10-19 16:21:50 -07:00
Vijay Menon ab19094dc8 Remove the checker and corresponding dead code
This is all logic now in the analyzer.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1406983003 .
2015-10-19 14:38:17 -07:00
Vijay Menon 8a48c2f726 Remove uses of DartObjectImpl
Note: the changes to .txt files are due to unrelated analyzer strong mode fixes.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1413923003 .
2015-10-19 12:59:48 -07:00
John Messerly 5e0c2bbaf8 Move DDC to analyzer-based checker
this fully moves DDC over to analyzer for checking

NOTE: there's one test failure in a .lib file, it may not be getting correctly analyzed.

R=leafp@google.com

Review URL: https://codereview.chromium.org/1401273002 .
2015-10-14 17:13:03 -07:00
Devon Carew 64af703b26 Implement --dump-info for batch mode.
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1402713002 .
2015-10-13 10:31:08 -07:00
Devon Carew 7d641d0743 Update version and analysis_options.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1399193002 .
2015-10-12 18:55:52 -07:00
John Messerly d3c7d58e90 further refactoring: merge RestrictedRules into TypeRules
R=leafp@google.com

Review URL: https://codereview.chromium.org/1392383002 .
2015-10-10 10:37:07 -07:00
John Messerly 211531fd97 remove most of the StrongOptions
R=vsm@google.com

Review URL: https://codereview.chromium.org/1395643004 .
2015-10-09 13:24:36 -07:00