8522221df4
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
21 lines
398 B
JavaScript
21 lines
398 B
JavaScript
var fs = require('fs');
|
|
var vm = require('vm');
|
|
|
|
function __load(path) {
|
|
var data = fs.readFileSync(path);
|
|
var script = vm.createScript(data.toString(), path);
|
|
script.runInThisContext();
|
|
}
|
|
|
|
var args = process.argv.slice(2);
|
|
var argc = args.length;
|
|
|
|
for(var i = 0; i < argc-1; ++i) {
|
|
__load(args[i]);
|
|
}
|
|
|
|
var main = vm.createScript(args[argc-1]+'.main()', 'main');
|
|
main.runInThisContext();
|
|
|
|
|