| // 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 C { |
| final int value; |
| String log = ""; |
| C(this.value); |
| |
| void clearLog() { |
| log = ""; |
| } |
| |
| dynamic operator >(num other) { |
| log += "C($value)>$other;"; |
| return this.value - other; |
| } |
| } |
| |
| String test1(C c) { |
| switch (c) { |
| case > 1: |
| return "1"; |
| default: |
| return "no match"; |
| } |
| } |
| |
| main() { |
| C c1 = C(0); |
| C c2 = C(2); |
| throws(() { |
| test1(c1); |
| }); |
| } |
| |
| throws(void Function() f) { |
| try { |
| f(); |
| } catch (e) { |
| print(e); |
| return; |
| } |
| throw 'Missing exception'; |
| } |