Vijay Menon
e64630186d
Add non-nullability logic for primitives
...
Still need to:
- Fix our dart:core errors
- Change DownCastLiteral to error
- Handle "int x;", etc.
R=jmesserly@google.com , leafp@google.com
Review URL: https://chromereviews.googleplex.com/156787013
2015-02-11 12:08:34 -08:00
John Messerly
d1cffd61c4
fix indent for generic classes. the previous change intentionally skipped indent for easier diff viewing.
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/157687013
2015-02-11 10:10:57 -08:00
John Messerly
083e4c4889
reified generics baby steps
...
introduces a memoized function that produces the generic type instance
generic type parameters are closed over, making it easy to get them and ensure they flow correctly through base class/mixins.
also implements the unimplemented features in _typeName.
R=leafp@google.com , vsm@google.com
Review URL: https://chromereviews.googleplex.com/157627013
2015-02-11 09:03:03 -08:00
John Messerly
f85c2eb649
fix mixin field init, implicit-this
...
also slight change to sunflower example
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/144247014
2015-02-09 13:11:26 -08:00
John Messerly
591834b748
improve cascades
...
* better code for the case we already supported
* support the general case
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/154757013
2015-02-09 13:04:55 -08:00
John Messerly
bf682828f8
implement try and switch
...
R=leafp@google.com
Review URL: https://chromereviews.googleplex.com/144527014
2015-02-06 10:25:13 -08:00
John Messerly
9957696748
improve invoke/as code
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/149937013
2015-02-05 15:46:42 -08:00
John Messerly
170c06e3d4
partial support for IsExpression
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/148937013
2015-02-05 09:52:33 -08:00
Vijay Menon
c2a2fa5a79
Minor dbinary fix
...
R=jmesserly@google.com
Review URL: https://chromereviews.googleplex.com/148987014
2015-02-05 09:40:20 -08:00
John Messerly
7b60c4140f
simplify named ctors
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/150947013
2015-02-05 09:18:50 -08:00
John Messerly
1c26c3e1a6
fix user-defined operators in classes
...
well, at least they don't generate blatantly illegal ES6 code now :)
also fixes incorrect implicit this generation, dynamic get/index, and set/setindex
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/146497013
2015-02-03 16:56:24 -08:00
John Messerly
b6b72621d6
named arguments
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/152597013
2015-02-03 15:00:36 -08:00
John Messerly
19e334e7af
add support for iterable/for-each
...
also adds break/continue and labels, and cleans up if-else formatting
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/140457014
2015-01-30 13:57:48 -08:00
John Messerly
a6cde17998
fix static fields, add map literals
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/141557013
2015-01-30 13:23:55 -08:00
John Messerly
9f318a484c
add support for mixins
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/147247013
2015-01-30 11:19:31 -08:00
John Messerly
25a0f9fba4
implement function statements, assert
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/145367013
2015-01-30 08:00:42 -08:00
John Messerly
8463f421ad
implement notNull checking for num -> int and num -> double
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/144347013
2015-01-30 07:59:36 -08:00
John Messerly
4aea11009f
improve computed js library name
...
at least it's not generating names that were invalid JS now :)
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/148037013
2015-01-29 07:56:53 -08:00
John Messerly
c64afcf15a
add SDK baseline
...
lots of things wrong with this generated code, but it's a start
(this builds on https://chromereviews.googleplex.com/148007013/ )
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/147147014
2015-01-28 13:11:08 -08:00
John Messerly
cad9b49ae4
generate JS per-library instead of per-unit
...
R=leafp@google.com
Review URL: https://chromereviews.googleplex.com/148007013
2015-01-28 12:51:45 -08:00
Sigmund Cherem
2df05920ae
Run formatter, remove dead code detected from analyzer
...
R=jmesserly@google.com
Review URL: https://chromereviews.googleplex.com/145197013
2015-01-27 12:17:12 -08:00
John Messerly
728258ba48
improve top-level field codegen: avoid Element.node getter
...
also correctly exports the values of top-level fields, and ensures it uses the most up-to-date value for mutable top-level fields
we can likely improve this further once we have ES6 modules, but it seems like an okay start
R=sigmund@google.com
Review URL: https://chromereviews.googleplex.com/147927013
2015-01-27 08:25:53 -08:00
John Messerly
b9fce8ad51
add lazy fields, cleanup library identifiers
...
R=leafp@google.com , vsm@google.com
Review URL: https://chromereviews.googleplex.com/146777014
2015-01-26 10:25:45 -08:00
John Messerly
c9d86483ef
rename dart_runtime to dart
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/147667013
2015-01-22 11:09:21 -08:00
John Messerly
69add413d2
add work-in-progress deltablue
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/147607013
2015-01-22 09:49:48 -08:00
John Messerly
411803ffd4
don't use deprecated constant visitor
...
R=jacobr@google.com
Review URL: https://chromereviews.googleplex.com/145987013
2015-01-21 15:51:26 -08:00
John Messerly
c350bb7816
use harmony features in js codegen, including classes
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/138327013
2015-01-14 14:35:50 -08:00
Sigmund Cherem
17e388ff48
Run formatter again after a couple bug fixes.
...
R=rnystrom@google.com
Review URL: https://chromereviews.googleplex.com/133227013
2014-12-29 17:39:30 -08:00
Sigmund Cherem
c95d72647a
Run latest formatter
...
Review URL: https://chromereviews.googleplex.com/131387013
2014-12-29 13:01:35 -08:00
Sigmund Cherem
4448f18cea
Add a reporter, remove caching of source files and recording of info (in progress)
...
R=leafp@google.com , vsm@google.com
Review URL: https://chromereviews.googleplex.com/132767014
2014-12-19 15:10:38 -08:00
John Messerly
37870d5f2e
implement string interpolation
...
R=justinfagnani@google.com
Review URL: https://chromereviews.googleplex.com/129337014
2014-12-17 16:45:57 -08:00
John Messerly
9774313c4d
sunflower works
...
some hacks for our lack of corelib, but otherwise it works now.
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/133857013
2014-12-17 14:45:04 -08:00
John Messerly
050dfd037b
make cascades be expressions. This was bothering me from previous CL but didn't get to fix :). Codegen is now based on JS comma expression.
...
For now I ripped out the temp machinery. With the current writer there's no easy way to put the variable declaration in the right place. We can revive it when we have something, like the NestedPrinter from source_maps pkg. For now cascades are only generated when the target is a simple identifier. (That too is wrong in the case of getters, with multiple evaluations, but it's less wrong. At least we don't mess up the syntactic structure of the generated output.)
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/128587013
2014-12-17 14:07:02 -08:00
Leaf Petersen
fa5cbce3fd
Initial cut at new typing rules
...
BUG=
R=sigmund@google.com , vsm@google.com
Review URL: https://chromereviews.googleplex.com/124467014
2014-12-17 11:02:25 -08:00
John Messerly
0493ac3271
initial sunflower changes
...
still some things unimplemented, but since we're all hitting the same paths figured I'd land what I have so far
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/125537013
2014-12-16 14:10:08 -08:00
Justin Fagnani
c96dd0db5a
Codegen: implement assignment
2014-12-15 08:29:32 -08:00
Justin Fagnani
21258849ab
Codegen: Prefix identifiers with ‘this’ when necessary.
2014-12-15 08:08:46 -08:00
Justin Fagnani
9a4965d76d
Codegen getters and setters
2014-12-13 17:22:37 -08:00
Justin Fagnani
6354d7e516
Generate methods
2014-12-12 16:41:31 -08:00
Vijay Menon
4b70cc73f3
Implement return
...
Trying out the new codegen tests - nice!
R=jmesserly@google.com
Review URL: https://chromereviews.googleplex.com/132697013
2014-12-11 12:32:50 -08:00
John Messerly
c3fdc6e570
Introduce SemanticNode type in place of List<StaticInfo>
...
R=sigmund@google.com , vsm@google.com
Review URL: https://chromereviews.googleplex.com/122327013
2014-12-10 12:57:17 -08:00
John Messerly
3124c7ec89
add the ability to easily test codegen by diffing against expected output
...
this makes changes easy to spot
some of this code was taken from old polymer.dart test scripts :)
R=sigmund@google.com
Review URL: https://chromereviews.googleplex.com/121567013
2014-12-09 16:52:05 -08:00