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
John Messerly
c5f4228119
format with dart_style 0.2.0
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1268813003 .
2015-07-31 09:28:05 -07:00
Olivier Chafik
8426fa9e17
Added bin/devrun.dart, which runs DDC's output with iojs or d8 (issue #225 )
2015-07-29 14:17:56 +01:00
John Messerly
49d101c1c4
format with dart_style 0.2.0-rc.3
...
this unblocks null aware ops
R=vsm@google.com
Review URL: https://codereview.chromium.org/1266483003 .
2015-07-28 18:19:55 -07:00
John Messerly
9137a4538c
fixes #221 , initial sync*, async, async* implementation
...
also fixes #270
R=vsm@google.com
Review URL: https://codereview.chromium.org/1243503007 .
2015-07-28 16:52:23 -07:00
John Messerly
cc47aa0ce0
update analyzer and dart_style
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1258663002 .
2015-07-27 09:36:56 -07:00
John Messerly
8f6761dd4a
add test related to #264 and #228
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1252773002 .
2015-07-23 10:03:45 -07:00
John Messerly
c56eec5708
fixes dart.throw to work for non-objects
...
language tests use this, for example
R=vsm@google.com
Review URL: https://codereview.chromium.org/1245023004 .
2015-07-23 09:34:41 -07:00
John Messerly
bbf292018a
allow await to be any value, fixes part of #264
...
Review URL: https://codereview.chromium.org/1248213002 .
2015-07-22 16:06:31 -07:00
John Messerly
7252228557
fix truncate call to use extension method
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1249043006 .
2015-07-22 14:52:40 -07:00
John Messerly
394836eaa2
fixes #259 , clone ast before mutation
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1245013005 .
2015-07-21 15:36:55 -07:00
John Messerly
60aba749ca
fixes #219 , able to compile multiple entry points
...
also speeds up codegen_test by reusing the analysis context
BatchCompiler is pretty close to how analyzer_cli works now (other than missing features)
R=vsm@google.com
Review URL: https://codereview.chromium.org/1235503010 .
2015-07-16 17:41:33 -07:00
John Messerly
c4267e5d35
analyzer fixes
...
found these in the "dart analysis" tool window
(after excluding test files and such)
R=vsm@google.com
Review URL: https://codereview.chromium.org/1239803005 .
2015-07-15 10:00:20 -07:00
Vijay Menon
f50661aac4
Add support for Enums
...
Fixes #248
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1224083017 .
2015-07-14 17:48:38 -07:00
John Messerly
edf237c202
fix coverage of sdk build
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1223103003 .
2015-07-14 17:05:42 -07:00
Vijay Menon
8ccef442a3
Fixes #254 - Better stacktrace support
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1233553005
2015-07-14 13:33:01 -07:00
John Messerly
bc4e0f2a38
fixes #6 , refactor to use AnalysisError/Listener throughout dev_compiler
...
Main goal here was to get rid of the enter/exit compilation unit tracking, to allow further Compiler/Server refactoring. We can get the Uri/LineInfo/contents off Source, which AnalysisError already has
SummaryReporter is now fairly generic.
TODOs for the future:
* figure out what to do about ErrorCodes, in particular dev_compiler prefix feels off.
* skip the intermediate StaticInfo types? They're really just builders now for AnalysisError.
* don't classify all existing messages as "AnalyzerError" ... just print them ...
* skip logger. For our command line program, stdout is part of its "API", IMO it shouldn't use logging for those messages. Consider Pub, which uses stdout/err for its messages, and uses logging for more detailed troubleshooting.
R=pquitslund@google.com , vsm@google.com
Review URL: https://codereview.chromium.org/1230903002 .
2015-07-10 10:15:08 -07:00