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
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
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
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
John Messerly
16c2c4681b
housecleaning: remove nonnullableTypes
...
the non-nullable by default DEP seems a better way to go here
R=vsm@google.com
Review URL: https://codereview.chromium.org/1396993002 .
2015-10-09 13:14:17 -07:00
John Messerly
1147d8a5b9
remove "infer from overrides" option which is now obsolete
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1398873002 .
2015-10-09 10:56:21 -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
bd3f24456b
Fix build - create output dir if needed
...
TBR=jmesserly@google.com
Review URL: https://codereview.chromium.org/1378763006 .
2015-10-02 14:23:38 -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
Vijay Menon
bf99bdc21c
Remove redundant call
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1357713006 .
2015-09-18 15:40:35 -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
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
John Messerly
e420033f7c
sort errors so they appear in stable order
...
should be the same order analyzer_cli uses
R=vsm@google.com
Review URL: https://codereview.chromium.org/1299993004 .
2015-08-20 08:59:48 -07:00
Vijay Menon
136396c107
Regen js_test.txt
...
I'm seeing this diff locally on presubmit.
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1300203002 .
2015-08-19 13:09:37 -07:00
Leaf Petersen
8d36859187
Attach type info to extension method and object method tear-offs
...
Fixes #189 .
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1293293002 .
2015-08-19 10:01:12 -07:00
John Messerly
38065257a2
fixes #292 , report async_helper test failures
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1289673007 .
2015-08-19 08:35:41 -07:00
Vijay Menon
8f9c38b128
Enable is and as checks on non-ground types
...
Failures generate a StrongModeError. Fixes #236 . Partially addresses #238 .
Some issues to do:
- We're too eager to throw a StrongModeError. E.g., <int>[] is List<String> will throw.
- We don't differentiate between implicit and explicit casts.
R=leafp@google.com
Review URL: https://codereview.chromium.org/1298893003 .
2015-08-19 06:15:04 -07:00
Vijay Menon
d3bc427f66
Cleanup InferableOverride
...
We don't use this anymore.
R=leafp@google.com
Review URL: https://codereview.chromium.org/1296723002 .
2015-08-14 16:09:20 -07:00
Vijay Menon
c0100939c2
Implement more of dart:mirrors
...
This unblocks angular.
See #199
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1252953003 .
2015-08-07 12:40:34 -07:00
John Messerly
ae53ea3f15
fix testChecker to include test inside
...
R=leafp@google.com , rnystrom@google.com
Review URL: https://codereview.chromium.org/1273343002 .
2015-08-07 09:59:53 -07:00
John Messerly
c6a6488cd2
add special case for min/max, fixes #281
...
R=leafp@google.com
Review URL: https://codereview.chromium.org/1253903004 .
2015-08-05 11:08:15 -07:00
John Messerly
cbe23ee268
implement exports, fixes #141
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1263583005 .
2015-08-04 17:23:13 -07:00
John Messerly
b393e12c6b
fixes #197 , don't generate casts that always pass
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1261783005 .
2015-08-04 15:42:13 -07:00
John Messerly
8422d7ab48
fix language_tests.js to use strict mode
...
we weren't running a bunch of tests on the bots :|
amazingly, none were broken yet
this also fixes karma.conf log level, and disables some spammy prints from one of the tests
R=vsm@google.com
Review URL: https://codereview.chromium.org/1257233008 .
2015-08-03 14:08:28 -07:00