| // Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| // @dart = 2.7 |
| |
| // [defaultFn_i] is called only via [foo_i]'s default value with a small integer. |
| |
| /*member: defaultFn1:[exact=JSUInt31]*/ |
| defaultFn1(/*[exact=JSUInt31]*/ a) => a; |
| |
| /*member: defaultFn2:[exact=JSUInt31]*/ |
| defaultFn2(/*[exact=JSUInt31]*/ a) => a; |
| |
| /*member: defaultFn3:[exact=JSUInt31]*/ |
| defaultFn3(/*[exact=JSUInt31]*/ a) => a; |
| |
| /*member: defaultFn4:[exact=JSUInt31]*/ |
| defaultFn4(/*[exact=JSUInt31]*/ a) => a; |
| |
| /*member: defaultFn5:[exact=JSUInt31]*/ |
| defaultFn5(/*[exact=JSUInt31]*/ a) => a; |
| |
| /*member: defaultFn6:[exact=JSUInt31]*/ |
| defaultFn6(/*[exact=JSUInt31]*/ a) => a; |
| |
| /*member: foo1:[null|subclass=Object]*/ |
| foo1([/*[subclass=Closure]*/ fn = defaultFn1]) => fn(54); |
| |
| /*member: foo2:[null|subclass=Object]*/ |
| foo2({/*[subclass=Closure]*/ fn: defaultFn2}) => fn(54); |
| |
| /*member: foo3:[null|subclass=Object]*/ |
| foo3([/*[subclass=Closure]*/ fn = defaultFn3]) => fn(54); |
| |
| /*member: foo4:[null|subclass=Object]*/ |
| foo4({/*[subclass=Closure]*/ fn: defaultFn4}) => fn(54); |
| |
| /*member: foo5:[null|subclass=Object]*/ |
| foo5([/*[null|subclass=Object]*/ fn = defaultFn5]) => fn(54); |
| |
| /*member: foo6:[null|subclass=Object]*/ |
| foo6({/*[null|subclass=Object]*/ fn: defaultFn6}) => fn(54); |
| |
| /*member: main:[null]*/ |
| main() { |
| // Direct calls. |
| foo1(); |
| foo2(); |
| // Indirect calls. |
| (foo3)(); |
| (foo4)(); |
| // Calls via Function.apply. |
| Function.apply(foo5, []); |
| Function.apply(foo6, []); |
| } |