Olivier Chafik
fc81df2f43
Rehab test dropped by mistake in c9d909ced98dea2aefe20322a59d18fbab2d93b2
2016-01-22 14:51:33 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Vijay Menon
c623db6821
Batch the batch compiler for tests
...
This:
- Ensures that a given AST is processed once per context, avoiding AST caching issues and redundant work
- Associates file errors with their library instead of the entry point - we now only generate these once across different entry points
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1376123004 .
2015-10-02 14:11:27 -07:00
Vijay Menon
d30fafee6f
These files are no longer generated
2015-09-30 16:37:21 -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
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
bea9ae786a
add language tests & run them in karma
2015-09-16 16:00:46 -07:00
John Messerly
bcec623909
fixes #315 , order of libraries in the HTML file
...
the lesson here is never use .importedLibraries ... we might want to change it in analyzer to use LinkedHashSet ...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1337993004 .
2015-09-15 09:13:18 -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
John Messerly
dc560e572c
fix readability regressions from previous block-scope CL
...
also reverts the simple incremental compile code, it wasn't aware of our own compiler's version.
also fixes a warning from analyzer
R=leafp@google.com
Review URL: https://codereview.chromium.org/1305413006 .
2015-09-09 15:52:17 -07:00
John Messerly
99bdee4f8d
fix implicit_scope_test and builtin_identifier_test
...
these were generating invalid JS code
R=vsm@google.com
Review URL: https://codereview.chromium.org/1328303002 .
2015-09-08 16:56:50 -07:00
John Messerly
7263daed54
fix dynamic type literal
...
it doesn't have a library
R=leafp@google.com
Review URL: https://codereview.chromium.org/1310943005 .
2015-09-04 15:57:32 -07:00
John Messerly
badedeaf16
fix cascade on ThisExpression
...
R=leafp@google.com
Review URL: https://codereview.chromium.org/1309383003 .
2015-09-04 15:28:38 -07:00
Vijay Menon
33ad4d9600
Reformat
...
Olivier: running presubmit locally (for me) reformats a few files. May be a pub upgrade issue to get on the latest formatter.
TBR=ochafik@google.com
Review URL: https://codereview.chromium.org/1322673004 .
2015-09-02 12:53:05 -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
John Messerly
707b9cc09c
triage remaining async tests
...
one fix, two rejected statically
R=leafp@google.com
Review URL: https://codereview.chromium.org/1319523007 .
2015-08-31 17:49:41 -07: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
John Messerly
9c832d6a6b
makes tests faster, see #304
...
this doesn't completely address the issue, but it knocks off some of the time.
also attempt to stabilize error message order.
R=vsm@google.com
Review URL: https://codereview.chromium.org/1321103002 .
2015-08-28 10:14:16 -07:00
John Messerly
c4b754b041
use the real matchers for running language tests
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1321683004 .
2015-08-28 09:27:36 -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
Vijay Menon
604b199ed3
Make implicit casts hints
...
This appears to cut out about 1/3 of the strong mode errors reported
in angular2. The actual cases removed that I looked at seem fine - e.g., we may inject an implicit cast, but it'll work fine at runtime.
Fixes #302
R=leafp@google.com
Review URL: https://codereview.chromium.org/1310053005 .
2015-08-26 15:01:59 -07: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