Files
sdk/pkg/dev_compiler/test/codegen/expect/names.js
T
Olivier Chafik 7add882a7a Move runtime js files down to lib/runtime/dart
Prepare for writing all the runtime in Dart:
- Move js runtime files to lib/runtime/dart (dart_runtime.js ->
dart/_runtime.js),
- Use rest params instead of arguments slicing in a couple of places.

BUG=https://github.com/dart-lang/dev_compiler/issues/310
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1413683006 .
2015-10-29 16:44:49 +00:00

63 lines
1.4 KiB
JavaScript

dart_library.library('names', null, /* Imports */[
"dart/_runtime",
'dart/core'
], /* Lazy imports */[
], function(exports, dart, core) {
'use strict';
let dartx = dart.dartx;
exports.exports = 42;
let _foo$ = Symbol('_foo');
class Foo extends core.Object {
[_foo$]() {
return 123;
}
}
dart.setSignature(Foo, {
methods: () => ({[_foo$]: [dart.dynamic, []]})
});
function _foo() {
return 456;
}
dart.fn(_foo);
class Frame extends core.Object {
caller(arguments$) {
this.arguments = arguments$;
}
static callee() {
return null;
}
}
dart.defineNamedConstructor(Frame, 'caller');
dart.setSignature(Frame, {
constructors: () => ({caller: [Frame, [core.List]]}),
statics: () => ({callee: [dart.dynamic, []]}),
names: ['callee']
});
class Frame2 extends core.Object {}
dart.defineLazyProperties(Frame2, {
get caller() {
return 100;
},
set caller(_) {},
get arguments() {
return 200;
},
set arguments(_) {}
});
function main() {
core.print(exports.exports);
core.print(new Foo()[_foo$]());
core.print(_foo());
core.print(new Frame.caller([1, 2, 3]));
let eval$ = Frame.callee;
core.print(eval$);
core.print(dart.notNull(Frame2.caller) + dart.notNull(Frame2.arguments));
}
dart.fn(main);
// Exports:
exports.Foo = Foo;
exports.Frame = Frame;
exports.Frame2 = Frame2;
exports.main = main;
});