Commit Graph

12 Commits

Author SHA1 Message Date
Leaf Petersen 0399992b81 Downwards closure inference. This implements a basic form of downwards closure inference. It only handles expression functions (=> e), and it does not try to narrow the type of parameters.
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1050703002
2015-04-03 09:17:30 -07:00
Leaf Petersen da58b9d8aa Downward inference
This is a first cut at downwards inference. The interaction with InferableLiteral etc isn't well sorted out yet, so while downwards inference on nested expressions works, there will currently be spurious warnings.

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1038213003
2015-03-31 13:24:25 -07:00
Vijay Menon 75ee9c6cc5 Handle for-in loops
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1048863003
2015-03-30 17:22:46 -07:00
Vijay Menon 67e4bc583a Rationalize coercions
This breaks out casts / coercions into:

Standard (on by default)
- DynamicCasts: dynamic -> T
- AssignmentCasts: T x = expr; // T must be a ground type

Inference (this will go away)
- InferableLiteral
- InferableClosure
- InferableAllocation

Implicit (no flag yet, but i'll add to disable by default)
- DownCastComposite: Any cast to a non-ground type
- DownCastImplicit: Any other implicit downcast not covered above

A flag is also added to enable/disable all wrapping.  This is not off by default yet, but that is the intent.

R=leafp@google.com

Review URL: https://codereview.chromium.org/1038583004
2015-03-25 14:51:54 -07:00
Vijay Menon 48d4a4e320 Allow S->T <: dynamic->T
In followup CLs, I will:
- Fix coercions to limit implicit ones.

R=jmesserly@google.com, leafp@google.com

Review URL: https://codereview.chromium.org/1010893004
2015-03-18 16:40:43 -07:00
John Messerly 6e824067a3 rename ddc -> dev_compiler, fixes #84
R=sigmund@google.com

Review URL: https://codereview.chromium.org/967933005
2015-03-04 11:12:19 -08:00
Vijay Menon 946676554b Make int and double nullable by default
See patch set 1 for the initial step back and patch set 2 to try to get some of this back.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/977613002
2015-03-03 12:08:30 -08:00
Vijay Menon 50753e3a47 Typecheck constructor initializers properly
R=leafp@google.com

Review URL: https://codereview.chromium.org/959003003
2015-02-26 16:19:27 -08:00
Sigmund Cherem 9369b3e981 Fix new line breaks on }
R=leafp@google.com

Review URL: https://codereview.chromium.org/959073002
2015-02-26 14:32:48 -08:00
Sigmund Cherem 2ffd89471a Disable formatting and add new-lines to make tests faster.
R=vsm@google.com

Review URL: https://codereview.chromium.org/963593002
2015-02-26 13:13:56 -08:00
Sigmund Cherem d2834b49a6 Reenable type promotion
R=jmesserly@google.com, vsm@google.com

Review URL: https://chromereviews.googleplex.com/159667013
2015-02-20 13:56:46 -08:00
Sigmund Cherem b23578984b Unify naming of output libraries in both backends
R=jmesserly@google.com, leafp@google.com

Review URL: https://chromereviews.googleplex.com/157197015
2015-02-18 10:12:54 -08:00