| library; | 
 | import self as self; | 
 | import "dart:core" as core; | 
 |  | 
 | class C extends core::Object { | 
 |   final field core::int value; | 
 |   field core::String log = ""; | 
 |   constructor •(core::int value) → self::C | 
 |     : self::C::value = value, super core::Object::•() | 
 |     ; | 
 |   method clearLog() → void { | 
 |     this.{self::C::log} = ""; | 
 |   } | 
 |   operator >(core::num other) → dynamic { | 
 |     this.{self::C::log} = this.{self::C::log}{core::String}.{core::String::+}("C(${this.{self::C::value}{core::int}})>${other};"){(core::String) → core::String}; | 
 |     return this.{self::C::value}{core::int}.{core::num::-}(other){(core::num) → core::num}; | 
 |   } | 
 | } | 
 | static method test1(self::C c) → core::String { | 
 |   #L1: | 
 |   { | 
 |     final synthesized self::C #0#0 = c; | 
 |     { | 
 |       if(#0#0.{self::C::>}(#C1){(core::num) → dynamic} as core::bool) { | 
 |         { | 
 |           return "1"; | 
 |         } | 
 |       } | 
 |     } | 
 |     { | 
 |       { | 
 |         { | 
 |           return "no match"; | 
 |         } | 
 |       } | 
 |     } | 
 |   } | 
 | } | 
 | static method main() → dynamic { | 
 |   self::C c1 = new self::C::•(0); | 
 |   self::C c2 = new self::C::•(2); | 
 |   self::throws(() → void { | 
 |     self::test1(c1); | 
 |   }); | 
 | } | 
 | static method throws(() → void f) → dynamic { | 
 |   try { | 
 |     f(){() → void}; | 
 |   } | 
 |   on core::Object catch(final core::Object e) { | 
 |     core::print(e); | 
 |     return; | 
 |   } | 
 |   throw "Missing exception"; | 
 | } | 
 |  | 
 | constants  { | 
 |   #C1 = 1 | 
 | } |