| // Copyright (c) 2011, 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.9 |
| |
| /// @assertion Optional parameters may be specified and provided with default |
| /// values. |
| /// defaultFormalParameter: |
| /// normalFormalParameter ('=' expression)? |
| /// ; |
| /// defaultNamedParameter: |
| /// normalFormalParameter (':' expression)? |
| /// ; |
| /// @description Checks using optional parameters together with required ones |
| /// @author kaigorodov |
| /// @reviewer iefremov |
| /// @reviewer rodionov |
| |
| import "../../../../Utils/expect.dart"; |
| |
| void func(int z, [var x = 1, var y = 2]) { |
| Expect.equals(7, z); |
| Expect.equals(1, x); |
| Expect.equals(2, y); |
| } |
| |
| void func2(int z, {var x: 1, var y: 2}) { |
| Expect.equals(7, z); |
| Expect.equals(1, x); |
| Expect.equals(2, y); |
| } |
| |
| main() { |
| func(7); |
| func(7, 1); |
| func(7, 1, 2); |
| |
| func2(7); |
| func2(7, x: 1); |
| func2(7, y: 2); |
| func2(7, x: 1, y: 2); |
| func2(7, y: 2, x: 1); |
| } |