| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| inline class I /* declaredRepresentationType = core::int */ { |
| method m = self::I|m; |
| tearoff m = self::I|get#m; |
| constructor • = self::I|; |
| tearoff • = self::I|get#; |
| } |
| inline class I2 /* declaredRepresentationType = core::int */ { |
| method m = self::I2|m; |
| tearoff m = self::I2|get#m; |
| constructor • = self::I2|; |
| tearoff • = self::I2|get#; |
| } |
| static method I|(core::int x, [core::int? y = #C1]) → self::I { |
| final self::I #this = x.{core::num::+}(let final core::int? #t1 = y in #t1 == null ?{core::int} 42 : #t1{core::int}){(core::num) → core::int}; |
| return #this; |
| } |
| static method I|get#(core::int x, [core::int? y]) → self::I |
| return self::I|(x, y); |
| static method I|m(lowered final self::I #this, core::String s, [core::int i = #C2]) → void {} |
| static method I|get#m(lowered final self::I #this) → (core::String, [core::int]) → void |
| return (core::String s, [core::int i = #C2]) → void => self::I|m(#this, s, i); |
| static method I2|(core::int x, {core::int? y = #C1}) → self::I2 { |
| final self::I2 #this = x.{core::num::+}(let final core::int? #t2 = y in #t2 == null ?{core::int} 87 : #t2{core::int}){(core::num) → core::int}; |
| return #this; |
| } |
| static method I2|get#(core::int x, {core::int? y}) → self::I2 |
| return self::I2|(x, y: y); |
| static method I2|m(lowered final self::I2 #this, core::String s, {core::int i = #C2}) → void {} |
| static method I2|get#m(lowered final self::I2 #this) → (core::String, {i: core::int}) → void |
| return (core::String s, {core::int i = #C2}) → void => self::I2|m(#this, s, i: i); |
| static method main() → dynamic { |
| self::expect(42, self::I|(0)); |
| self::expect(0, self::I|(0, 0)); |
| self::expect(87, self::I2|(0)); |
| self::expect(0, self::I2|(0, y: 0)); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) { |
| throw "Expected ${expected}, actual ${actual}"; |
| } |
| } |
| |
| constants { |
| #C1 = null |
| #C2 = 1 |
| } |