John Messerly
d8863611dc
adds command line help to dartdevc
...
BUG=
R=sigmund@google.com
Review URL: https://chromereviews.googleplex.com/125447013
2014-12-12 14:15:01 -08:00
Sigmund Cherem
2abc79389f
Random cleanups
...
BUG=
R=jmesserly@google.com
Review URL: https://chromereviews.googleplex.com/130857013
2014-12-11 18:17:06 -08:00
Sigmund Cherem
1c6787f47c
Run the latest formatter on all files.
...
R=jmesserly@google.com
Review URL: https://chromereviews.googleplex.com/130817013
2014-12-11 16:33:01 -08:00
Sigmund Cherem
02a4650a24
Refactor: move code around a bit
...
- bin/
devc.dart
- lib/
devc.dart
src/
info.dart # static info we compute, used by checker & backends
checker/ # implementation details for the checker
checker.dart # checking algorithm
rules.dart # type checking rules
resolver.dart # same as today, type resolution via analyzer
emitter/
...
- test/
checker/ # unit tests for the checker internals
codegen/ # left as is - maybe should rename to emitter?
samples/ # stand alone samples that we run in the end_to_end tests.
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/128957013
2014-12-11 15:13:54 -08:00
Leaf Petersen
eef8c94795
Skeleton for new checker and dart backend
...
This adds a skeleton new type checker which just reuses the existing checker for now, but will be filled in with the new type rules.
It also adds a dart backend code generator which currently just spits out the original dart code unchanged (except for (lack of) formatting) into the output directory. By default it uses the dart_style formatter to format the output. This sometimes hits issues, so there is an option to turn this off.
There are flags to control the various options added.
BUG=
R=jmesserly@google.com , vsm@google.com
Review URL: https://chromereviews.googleplex.com/128857013
2014-12-11 13:01:01 -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
John Messerly
5d4f190e63
autoformat with dartfmt. This CL is entire automated.
...
I filed a few issues:
https://github.com/dart-lang/dart_style/issues/61
https://github.com/dart-lang/dart_style/issues/62
...but they aren't blocking, so I left our long comments (62) and one slightly odd formatting (61) as is.
R=sigmund@google.com , vsm@google.com
Review URL: https://chromereviews.googleplex.com/120127014
2014-12-08 19:58:35 -08:00
Vijay Menon
e6b1853c40
Flesh out more codegen
...
R=jmesserly@google.com
Review URL: https://chromereviews.googleplex.com/126787013
2014-12-02 09:02:17 -08:00
Sigmund Cherem
d2a729cd68
Run resolver on every library, as we walk through them
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/115197015
2014-11-25 12:54:37 -08:00
Sigmund Cherem
971e551b6d
Use analyzer as a library, enable mock sdks, refactor to start testing
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/118577013
2014-11-21 14:24:06 -08:00
Sigmund Cherem
4c67c961ff
All minor nits: split some files up, fix comments in walker to remove references
...
to spec, make them more darty, run formatter on the rest of the files
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/117397013
2014-11-20 15:36:20 -08:00
Sigmund Cherem
560aa1f632
Fix span location to skip comments
...
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/120837013
2014-11-20 13:00:08 -08:00
Vijay Menon
8522221df4
Initial codegen skeleton
...
Invoke with:
> dart bin/checker.dart -o out tests/fieldtest.dart
Run with (node.js installed):
> node runtime/run.js runtime/dart_runtime.js runtime/dart_core.js out/fieldtest/fieldtest.dart.js fieldtest
Here's the output of fieldtest.dart.js:
var fieldtest;
(function (fieldtest) {
// Class A
var A = (function () {
var _initializer = (function (_this) {
_this.x = 42;
});
function A() {
_initializer(this);
}
return A;
})();
fieldtest.A = A;
// Function foo: (A) → void
function foo(a) {
dart_core.print(a.x);
}
fieldtest.foo = foo;
// Function bar: (dynamic) → void
function bar(a) {
dart_core.print(dart_runtime.dload(a, "x"));
}
fieldtest.bar = bar;
// Function main: () → void
function main() {
var a = new A();
fieldtest.foo(a);
fieldtest.bar(a);
}
fieldtest.main = main;
})(fieldtest || (fieldtest = {}));
R=sigmund@google.com
Review URL: https://chromereviews.googleplex.com/119897013
2014-11-20 12:15:55 -08:00
Vijay Menon
c298d19d4b
Add flag to check sdk code
...
R=sigmund@google.com
Review URL: https://chromereviews.googleplex.com/119797013
2014-11-18 09:20:32 -08:00
Sigmund Cherem
411efe695c
Use source spans for error messages. This will print error messages in red and
...
highlight the area of the original source that had the error.
R=vsm@google.com
Review URL: https://chromereviews.googleplex.com/122637013
2014-11-17 17:58:13 -08:00
Vijay Menon
3f27060ad6
Initial checker
2014-11-17 08:50:19 -08:00