Commit Graph

2821 Commits

Author SHA1 Message Date
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 798076dbc8 make build_sdk more incremental
saves about 3s off a typical rebuild where nothing changed

R=vsm@google.com

Review URL: https://codereview.chromium.org/1327573002 .
2015-09-02 08:43:00 -07: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
vsmenon fbba7e95ff Update STRONG_MODE.md 2015-08-28 13:16:49 -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
vsmenon 0a54ee5563 Update pubspec.yaml
0.1.7
2015-08-27 16:34:39 -07:00
Olivier Chafik 08174babac Update flags for iojs: --harmony_generators needed by async, --harmony_modules useless for now. 2015-08-27 16:34:26 +01: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
vsmenon c38d2e8cf2 Update pubspec.yaml 2015-08-21 13:25:45 -07:00
Vijay Menon 242511dab7 Fixes #287 and other failures statically checking SDK tests
This adds some defensiveness to override checking and other checks.

It fixes all known crashers running dartanalyzer in strong mode on language, co19, etc.

R=leafp@google.com

Review URL: https://codereview.chromium.org/1303913003 .
2015-08-21 13:15:36 -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 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
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
Vijay Menon 3fcc78e070 Suppress console logs when testing locally
See #278 - not really a fix though.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1275053003 .
2015-08-06 10:14:12 -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 2535238ee8 fixes #276, path manipulation issues on windows. Also fixes server mode
R=leafp@google.com

Review URL: https://codereview.chromium.org/1270993002 .
2015-08-04 16:34:53 -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 98c5c659d9 Update pubspec.yaml 2015-08-03 08:27:40 -07:00
Olivier Chafik 569f8de91e Make pub_semver a normal dep (issue #275) 2015-08-03 06:27:07 -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
John Messerly cd1fbf5659 release 0.1.5 that includes dartdevrun 2015-07-31 08:31:54 -07:00
John Messerly 922a4ba728 use some null aware ops
it looks like we can start using these now

R=leafp@google.com

Review URL: https://codereview.chromium.org/1253143003 .
2015-07-29 10:51:31 -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
vsmenon 05c2e9e77c Update STRONG_MODE.md 2015-07-28 18:53:33 -07: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 30421b44f3 Update pubspec.yaml
release a new version to fix #273
2015-07-28 17:40:59 -07:00
John Messerly 63054e093e add analysis options
R=leafp@google.com

Review URL: https://codereview.chromium.org/1264533002 .
2015-07-28 17:28:52 -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
Leaf Petersen c27685968a Static semantics v0.1. This now contains a fairly complete version of the static semantics for a core language, along with a translation into the same core language extended with a few small primitives. The insertion of covariance type checks is handled. Per Siggi's suggestion, I've moved the extended core language primitives into the elaboration section. The main changes from the last checkin are the treatment of classes, class hierarchies, override checking, etc. I've added some text to explain the general idea of what's going on.
I've gone ahead an uploaded a pdf version to the site.dev_compiler repository that matches the version in this CL.

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1253143002.
2015-07-28 15:29:14 -07:00
John Messerly 486f8dc70e restore arrow function bind this workaround
to help out https://github.com/dart-lang/dev_compiler/pull/266
it seems io.js is using a V8 build from right before this was fixed

R=vsm@google.com

Review URL: https://codereview.chromium.org/1263593003 .
2015-07-28 14:51:31 -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 3996aaf3d4 fix for bin/devc relative path
R=vsm@google.com

Review URL: https://codereview.chromium.org/1243693002 .
2015-07-23 09:55:21 -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 26528756bd some fixes for --strong warnings
I didn't go all the way, in case we want to change some of these. Thoughts?

R=leafp@google.com

Review URL: https://codereview.chromium.org/1245013002 .
2015-07-22 15:37:55 -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