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
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
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
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
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
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
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
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
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
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
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
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
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
0cdc8c28fb
Revert "Qualified exports and inheritance for Closure"
2015-09-25 11:31:25 -07:00
John Messerly
2d5525fc4a
Merge pull request #319 from dart-lang/closure-qualify
...
Qualified exports and inheritance for Closure
2015-09-25 10:53:37 -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
Devon Carew
5baea1b7e7
make dev_compiler slightly happier with dartdoc
2015-09-16 18:03:52 -07:00
John Messerly
ff1b78ca42
fix a few more codegen issues:
...
* don't generate script tag
* handle U+2028 and U+2029
* handle name conflict with constructor
R=vsm@google.com
Review URL: https://codereview.chromium.org/1347453002 .
2015-09-14 17:06:28 -07:00
Olivier Chafik
58f1ca9259
Qualified exports and inheritance for Closure (fixes core.Object issue)
2015-09-14 14:07:02 +01:00
John Messerly
637c2c83de
fixes #314 , super method tear offs
...
R=leafp@google.com
Review URL: https://codereview.chromium.org/1310513013 .
2015-09-10 17:18:21 -07: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
Olivier Chafik
8ebe4c8a09
Merge pull request #286 from dart-lang/closure-annotations
...
Output Closure annotations when --closure (very experimental feature)
2015-09-02 18:34:54 +01:00
Vijay Menon
b0abb3b302
Some preliminary support for quasi-generics
...
This just expands John's earlier hack on min/max. No downward
inference, etc, but it captures some simple cases. Worthwhile?
Testing whether this makes much of a difference on our larger code bases.
R=jmesserly@google.com , leafp@google.com
Review URL: https://codereview.chromium.org/1317933005 .
2015-08-31 09:56:41 -07:00
Olivier Chafik
59cf5dd893
Output some basic type annotations for the Closure Compiler when --closure is set.
2015-08-27 16:30:20 +01:00
John Messerly
74c760066b
implement null aware ops, fixes #249
...
this also implements multitest support, which fixes #280
Fixes some other preexisting bugs:
* MetaLets did not simplify themselves correctly in some nested cases
* Library prefixed identifiers did not work as lvalues in opassign
* dsetindex/dput/[]= methods did not return a value
* checker did not correctly handle invalid constructor field initializers
* cascades did not correctly work with method invocations(?)
* postfix ++/-- did not correctly generate lvalues in some cases
The good news: because this reuses on our existing lvalue/metalet helpers, it managed to flush out a lot of bugs in other features that use them.
R=vsm@google.com
Review URL: https://codereview.chromium.org/1316723003 .
2015-08-25 15:13:18 -07:00
Vijay Menon
50eb282f87
Infer parameter types on overrides
...
Fixes #105
This overlaps with brian's recent CL moving override inference logic. If this looks good, we'll need to move it over as well.
R=brianwilkerson@google.com , leafp@google.com
Review URL: https://codereview.chromium.org/1311863005 .
2015-08-25 10:45:08 -07:00
Vijay Menon
669d105602
Repurposed this CL: Fix cast error in test
...
Introduced a private-ish JSObject type.
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1291623005 .
2015-08-20 06:31:44 -07:00