John Messerly
db9e46344b
update baseline
...
forgot to do this after a merge
Review URL: https://codereview.chromium.org/1067553002
2015-04-06 09:20:40 -07:00
John Messerly
941dda3403
use VariableElement instead of VariableElementImpl in _isStateless
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1056183003
2015-04-06 09:13:04 -07:00
Vijay Menon
cad0430c0d
Tweaks to warning level and reporting
...
R=leafp@google.com
Review URL: https://codereview.chromium.org/1059873002
2015-04-03 15:46:58 -07:00
Jacob Richman
5a5ddca7bc
Extension method support to move us closer to a valid List implementation.
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1059583002
2015-04-03 14:52:04 -07:00
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
John Messerly
a4cbcc0c07
implement mixins in subtype checks, more codegen fixes
...
or: how creating a SplayTreeSet<String> leads to fixing a bunch of stuff
R=vsm@google.com
Review URL: https://codereview.chromium.org/1058653002
2015-04-02 12:16:24 -07:00
John Messerly
db1d4fac75
reduce diff churn due to server_mode test
...
essentially verify the expected HTML in the test
this tripped on an interesting issue, we have two ways of computing MD5 hashes that produce different answers. I left that as a TODO.
R=jacobr@google.com
Review URL: https://codereview.chromium.org/1056613002
2015-04-01 13:49:11 -07:00
John Messerly
864299081e
partially implement instance of checks and some codegen fixes
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1050723002
2015-04-01 09:44:37 -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
Sigmund Cherem
c48018ee62
Update widget with latext fix from source_span
...
R=jacobr@google.com
Review URL: https://codereview.chromium.org/1047083002
2015-03-31 13:11:14 -07:00
John Messerly
3ce5a11d77
compute interfaces lazily
...
otherwise we'd have to make a lot more classes lazy
R=jacobr@google.com
Review URL: https://codereview.chromium.org/1047203002
2015-03-31 09:14:37 -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
John Messerly
5472d0cfcd
keep mixin and interface implementation info at runtime
...
R=jacobr@google.com , vsm@google.com
Review URL: https://codereview.chromium.org/1043003002
2015-03-30 16:09:48 -07:00
John Messerly
fc02cba0f4
use == and != to enable handling null/undefined
...
R=jacobr@google.com , vsm@google.com
Review URL: https://codereview.chromium.org/1047023002
2015-03-30 16:01:22 -07:00
John Messerly
1515ceaa8e
fixes private named constructors
...
R=jacobr@google.com
Review URL: https://codereview.chromium.org/1042943003
2015-03-30 14:30:01 -07:00
John Messerly
f0e35ab12c
fix arguments keyword used in our helper method
...
R=jacobr@google.com
Review URL: https://codereview.chromium.org/1048873002
2015-03-30 10:46:13 -07:00
John Messerly
af714fed80
fix for static methods and names banned in strict mode
...
* static methods qualified properly
* static method privacy is now enforced
* avoid static method names banned in strict mode
* avoid variable names banned in strict mode
We might want to relax privacy (for both instance and static), but for now it's nice and consistent with instance methods using ES6 Symbol
R=jacobr@google.com
Review URL: https://codereview.chromium.org/1034273003
2015-03-30 10:09:56 -07:00
Jacob Richman
a6ca53ee49
fix list literal initialization call fix typeof calls for primitive JS types add dart/collection.js to defaultRuntimeFiles list Enclose switch statement case blocks with braces to insure a block scope matching dart semantics
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1042003002
2015-03-30 09:42:29 -07:00
Jacob Richman
0e0cff2e17
Fix try catch crasher bug due to null else case.
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1036333003
2015-03-27 10:53:54 -07:00
John Messerly
34e2fbabd7
fix temp used in postfix ops
...
Review URL: https://codereview.chromium.org/1039243002
2015-03-27 07:26:57 -07:00
John Messerly
2357e3013b
more care around generated names, fixes #60 #82 and #97
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1030063004
2015-03-26 17:47:31 -07:00
Sigmund Cherem
3ab4f01149
Pass through context information in error messages
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1023893004
2015-03-26 15:25:24 -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
Sigmund Cherem
2bf7e0aed8
Transitive inference using SCC
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1028793002
2015-03-23 13:11:33 -07:00
John Messerly
e1c8e996b7
Replace dart_core.js with actual compiled SDK
...
Almost no calls are going to work at this point, but core.js can load
now and there is enough in place to continue to load sunflower.
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1020043002
2015-03-20 09:41:00 -07:00
John Messerly
c587869d1d
bind to localhost instead of all interfaces, and fix closureWrap
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1022923005
2015-03-20 09:19:10 -07:00
John Messerly
b62f4c06ab
sort classes in dependency order, or load lazily if needed, fixes #78
...
this also starts using compiled code in dart_core.js (just copy+paste for Object)
visitClassDeclaration was getting rather long, so it's now refactored to make the flow more clear.
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1016003003
2015-03-19 10:03:22 -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
Sigmund Cherem
2ba454d945
Enable inference in the core libs
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1023543002
2015-03-18 16:24:23 -07:00
Sigmund Cherem
fa03b6b422
Move sunflower to a new directory, make final tweaks to make it all work.
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1007313003
2015-03-18 15:53:59 -07:00
John Messerly
9cf5a077e9
coverage: increase coverage of js_codegen
...
it was already decent, but this should plug the two biggest holes: source maps and maps with non-string keys
R=vsm@google.com
Review URL: https://codereview.chromium.org/1013223002
2015-03-18 09:20:36 -07:00
Sigmund Cherem
1b23c0ecb2
Copy resources refered to in the HTML to the output folder
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1014173002
2015-03-17 18:54:48 -07:00
Jacob Richman
d624c322d3
Suppress generation of JsGlobal and JsType code and use window as the default value instead of {} for libraries that define JsGlobal fields.
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1013653004
2015-03-17 14:42:42 -07:00
John Messerly
07feeb3119
js: fix core.Object, output order, static const fields
...
These are a few fixes trying to get the compiled SDK to load
R=vsm@google.com
Review URL: https://codereview.chromium.org/1011153002
2015-03-17 13:11:34 -07:00
Vijay Menon
e50906c0d3
Fix for conditional expressions
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org/997143003
2015-03-16 10:09:25 -07:00
Sigmund Cherem
228a475ed0
Fixes in codegen and test script
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/998043002
2015-03-11 17:16:05 -07:00
Jacob Richman
2ed6fbe9e7
minor code cleanup
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1002443002
2015-03-11 08:36:23 -07:00
Sigmund Cherem
a6befe3a1d
Add dart_core.js ( fixes #89 )
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/986023003
2015-03-10 18:31:32 -07:00
Sigmund Cherem
6d9564b4ff
Support browser caching using hashes in serverMode ( fixes #93 , fixes #92 ).
...
Now the HTML can include a hash in the URL for cachable resources, and the serve knows how to include cache-control headers.
In the process of doing so, I had to change a couple things that made it possible to fix #92 as well (producing different output in the command-line than in server mode).
R=vsm@google.com
Review URL: https://codereview.chromium.org/993213003
2015-03-10 18:27:23 -07:00
Vijay Menon
74476b5e4c
Log the runtime type of messages
...
This makes is a little easier to investigate errors.
R=sigmund@google.com
Review URL: https://codereview.chromium.org/993513005
2015-03-09 11:46:27 -07:00
Vijay Menon
8df5b06aac
Fix increment on nullable
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/977153002
2015-03-04 12:56:02 -08:00
Vijay Menon
f9909f0d07
Flesh out dynamic invocation code
...
This gets sunflower working with ignore-types.
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/961513002
2015-03-04 10:13:21 -08:00
Sigmund Cherem
7dd29efd8f
Initial cut for a development server
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/973433003
2015-03-04 09:40:06 -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
Sigmund Cherem
f7b7f43d28
Fixing layout in js output (use full paths rather than just the library name)
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/968273002
2015-03-03 09:05:09 -08:00
John Messerly
77e62cc7fb
implement private members, fixes #74
...
naturally, lots of things to iterate on, but this expresses the key idea (per-library ES6 symbols for privacy).
R=vsm@google.com
Review URL: https://codereview.chromium.org/963343002
2015-03-03 06:44:25 -08:00
John Messerly
a3aebf03ed
fix dummy setters -- grammar requires an identifier
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/974703003
2015-03-03 06:42:04 -08:00
John Messerly
5d52de79e1
implement rethrow
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org/969783002
2015-03-02 09:49:17 -08:00
John Messerly
a260ce7a62
fixes #69 , avoid module name inside module scope
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/967713002
2015-03-02 07:10:55 -08:00
John Messerly
bd06d9e7f4
support the JS builtin
...
* fix a few cases where we regressed js_ast parser interpolations
* infer correct static type for JS call expressions
R=vsm@google.com
Review URL: https://codereview.chromium.org/962083002
2015-02-27 11:28:41 -08:00