| // Copyright (c) 2023, 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. |
| |
| abstract class A { |
| int? get foo; |
| int get bar; |
| int? get baz; |
| num get boz; |
| bool get qux; |
| String get quux; |
| int get foobar; |
| } |
| |
| test(x, y, z) { |
| var qux; |
| var quux; |
| if (x case A(:var foo!, :var bar, :var baz?, :var boz as double, |
| :(var foobar))) { |
| return 0; |
| } else if (x case (:var foo!, :var bar, :var baz?, var boz as double, |
| :(var foobar))) { |
| return 1; |
| } else if (x case A(: [1, 2])) { // Error |
| return 2; |
| } else if (x case (: [1, 2])) { // Error |
| return 3; |
| } |
| |
| A(:qux, :quux) = y; |
| (qux, :quux) = z; |
| } |