| // 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. |
| |
| class I {} |
| |
| class A implements I {} |
| |
| extension on A { |
| int get member => 87; |
| } |
| |
| extension on I { |
| int get member => 42; |
| } |
| |
| method(A a) => switch (a) { |
| I(:var member) => member, |
| }; |
| |
| main() { |
| expect(42, method(new A())); |
| } |
| |
| expect(expected, actual) { |
| if (expected != actual) throw 'Expected $expected, actual $actual'; |
| } |