Files
sdk/pkg/dev_compiler/test/codegen/destructuring.dart
T
John Messerly 0c148ecef4 Implement modular compilation
Highlights
* compile one module at a time
* use summaries to speed up compiles
* use command runner so we can add more commands later
* some long needed renames and file organization
* various other technical debt has been addressed

Lowlights
* lost node.js runner/tests (node output format still supported)
* possibly lost some closure support/workarounds (format still supported)
* needs more end-to-end tests of the new system

R=vsm@google.com

Review URL: https://codereview.chromium.org/1879373004 .
2016-04-14 11:28:12 -07:00

42 lines
1.0 KiB
Dart

// compile options: --destructure-named-params
import 'dart-ext:foo';
import 'package:js/src/varargs.dart';
f(int a, b, [c = 1]) {
f(a, b, c);
}
external f_ext(int a, b, [c = 1]);
f_nat(int a, b, [c = 1]) native "f_nat";
f_sync(int a, b, [c = 1]) sync* {}
f_async(int a, b, [c = 1]) async* {}
g(int a, b, {c : 1}) {
f(a, b, c);
}
external g_ext(int a, b, {c : 1});
g_nat(int a, b, {c : 1}) native "g_nat";
g_sync(int a, b, {c : 1}) sync* {}
g_async(int a, b, {c : 1}) async* {}
r(int a, @rest others) {
r(a, spread(others));
}
external r_ext(int a, @rest others);
r_nat(int a, @rest others) native "r_nat";
r_sync(int a, @rest others) sync* {}
r_async(int a, @rest others) async* {}
invalid_names1(int let, function, arguments) {
f(let, function, arguments);
}
invalid_names2([int let, function = 1, arguments]) {
f(let, function, arguments);
}
invalid_names3({int let, function, arguments : 2}) {
f(let, function, arguments);
}
names_clashing_with_object_props({int constructor, valueOf, hasOwnProperty : 2}) {
f(constructor, valueOf, hasOwnProperty);
}