| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| class Class extends core::Object { |
| field core::Function field1a = #C1; |
| field () → core::int field1b = #C1; |
| field (core::int) → core::int field2 = #C2; |
| field (core::int, core::int) → core::int field3 = #C3; |
| field (core::int, [core::int]) → core::int field4 = #C4; |
| field ([core::int, core::int]) → core::int field5 = #C5; |
| field (core::int, {b: core::int}) → core::int field6 = #C6; |
| field ({a: core::int, b: core::int}) → core::int field7 = #C7; |
| synthetic constructor •() → self::Class |
| : super core::Object::•() |
| ; |
| get getter1a() → core::Function |
| return #C1; |
| get getter1b() → () → core::int |
| return #C1; |
| get getter2() → (core::int) → core::int |
| return #C2; |
| get getter3() → (core::int, core::int) → core::int |
| return #C3; |
| get getter4() → (core::int, [core::int]) → core::int |
| return #C4; |
| get getter5() → ([core::int, core::int]) → core::int |
| return #C5; |
| get getter6() → (core::int, {b: core::int}) → core::int |
| return #C6; |
| get getter7() → ({a: core::int, b: core::int}) → core::int |
| return #C7; |
| } |
| class Subclass extends self::Class { |
| synthetic constructor •() → self::Subclass |
| : super self::Class::•() |
| ; |
| get field1a() → core::Function { |
| self::enableRead = false; |
| return #C1; |
| } |
| get field1b() → () → core::int { |
| self::enableRead = false; |
| return #C1; |
| } |
| get field2() → (core::int) → core::int { |
| self::enableRead = false; |
| return #C2; |
| } |
| get field3() → (core::int, core::int) → core::int { |
| self::enableRead = false; |
| return #C3; |
| } |
| get field4() → (core::int, [core::int]) → core::int { |
| self::enableRead = false; |
| return #C4; |
| } |
| get field5() → ([core::int, core::int]) → core::int { |
| self::enableRead = false; |
| return #C5; |
| } |
| get field6() → (core::int, {b: core::int}) → core::int { |
| self::enableRead = false; |
| return #C6; |
| } |
| get field7() → ({a: core::int, b: core::int}) → core::int { |
| self::enableRead = false; |
| return #C7; |
| } |
| get getter1a() → core::Function { |
| self::enableRead = false; |
| return #C1; |
| } |
| get getter1b() → () → core::int { |
| self::enableRead = false; |
| return #C1; |
| } |
| get getter2() → (core::int) → core::int { |
| self::enableRead = false; |
| return #C2; |
| } |
| get getter3() → (core::int, core::int) → core::int { |
| self::enableRead = false; |
| return #C3; |
| } |
| get getter4() → (core::int, [core::int]) → core::int { |
| self::enableRead = false; |
| return #C4; |
| } |
| get getter5() → ([core::int, core::int]) → core::int { |
| self::enableRead = false; |
| return #C5; |
| } |
| get getter6() → (core::int, {b: core::int}) → core::int { |
| self::enableRead = false; |
| return #C6; |
| } |
| get getter7() → ({a: core::int, b: core::int}) → core::int { |
| self::enableRead = false; |
| return #C7; |
| } |
| } |
| static field core::bool enableRead = true; |
| static method read(core::int value) → core::int |
| return self::enableRead ?{core::int} value : 1.{core::int::unary-}(){() → core::int}; |
| static method method1() → core::int |
| return 0; |
| static method method2(core::int a) → core::int |
| return a.{core::int::unary-}(){() → core::int}; |
| static method method3(core::int a, core::int b) → core::int |
| return a.{core::num::-}(b){(core::num) → core::int}; |
| static method method4(core::int a, [core::int b = #C8]) → core::int |
| return a.{core::num::-}(b){(core::num) → core::int}; |
| static method method5([core::int a = #C8, core::int b = #C8]) → core::int |
| return a.{core::num::-}(b){(core::num) → core::int}; |
| static method method6(core::int a, {core::int b = #C8}) → core::int |
| return a.{core::num::-}(b){(core::num) → core::int}; |
| static method method7({core::int a = #C8, core::int b = #C8}) → core::int |
| return a.{core::num::-}(b){(core::num) → core::int}; |
| static method main() → dynamic { |
| self::callField(new self::Class::•()); |
| self::callGetter(new self::Class::•()); |
| self::callField(new self::Subclass::•()); |
| self::callGetter(new self::Subclass::•()); |
| } |
| static method callField(self::Class c) → dynamic { |
| self::expect(0, c.{self::Class::field1a}{core::Function}()); |
| self::expect(0, c.{self::Class::field1b}{() → core::int}(){() → core::int}); |
| self::expect(42.{core::int::unary-}(){() → core::int}, let final self::Class #t1 = c in let final core::int #t2 = self::read(42) in #t1.{self::Class::field2}{(core::int) → core::int}(#t2){(core::int) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t3 = c in let final core::int #t4 = self::read(12) in let final core::int #t5 = self::read(23) in #t3.{self::Class::field3}{(core::int, core::int) → core::int}(#t4, #t5){(core::int, core::int) → core::int}); |
| self::expect(12, let final self::Class #t6 = c in let final core::int #t7 = self::read(12) in #t6.{self::Class::field4}{(core::int, [core::int]) → core::int}(#t7){(core::int, [core::int]) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t8 = c in let final core::int #t9 = self::read(12) in let final core::int #t10 = self::read(23) in #t8.{self::Class::field4}{(core::int, [core::int]) → core::int}(#t9, #t10){(core::int, [core::int]) → core::int}); |
| self::expect(0, c.{self::Class::field5}{([core::int, core::int]) → core::int}(){([core::int, core::int]) → core::int}); |
| self::expect(12, let final self::Class #t11 = c in let final core::int #t12 = self::read(12) in #t11.{self::Class::field5}{([core::int, core::int]) → core::int}(#t12){([core::int, core::int]) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t13 = c in let final core::int #t14 = self::read(12) in let final core::int #t15 = self::read(23) in #t13.{self::Class::field5}{([core::int, core::int]) → core::int}(#t14, #t15){([core::int, core::int]) → core::int}); |
| self::expect(12, let final self::Class #t16 = c in let final core::int #t17 = self::read(12) in #t16.{self::Class::field6}{(core::int, {b: core::int}) → core::int}(#t17){(core::int, {b: core::int}) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t18 = c in let final core::int #t19 = self::read(12) in let final core::int #t20 = self::read(23) in #t18.{self::Class::field6}{(core::int, {b: core::int}) → core::int}(#t19, b: #t20){(core::int, {b: core::int}) → core::int}); |
| self::expect(0, c.{self::Class::field7}{({a: core::int, b: core::int}) → core::int}(){({a: core::int, b: core::int}) → core::int}); |
| self::expect(12, let final self::Class #t21 = c in let final core::int #t22 = self::read(12) in #t21.{self::Class::field7}{({a: core::int, b: core::int}) → core::int}(a: #t22){({a: core::int, b: core::int}) → core::int}); |
| self::expect(23.{core::int::unary-}(){() → core::int}, let final self::Class #t23 = c in let final core::int #t24 = self::read(23) in #t23.{self::Class::field7}{({a: core::int, b: core::int}) → core::int}(b: #t24){({a: core::int, b: core::int}) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t25 = c in let final core::int #t26 = self::read(12) in let final core::int #t27 = self::read(23) in #t25.{self::Class::field7}{({a: core::int, b: core::int}) → core::int}(a: #t26, b: #t27){({a: core::int, b: core::int}) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t28 = c in let final core::int #t29 = self::read(23) in let final core::int #t30 = self::read(12) in #t28.{self::Class::field7}{({a: core::int, b: core::int}) → core::int}(b: #t29, a: #t30){({a: core::int, b: core::int}) → core::int}); |
| } |
| static method callGetter(self::Class c) → dynamic { |
| self::expect(0, c.{self::Class::getter1a}{core::Function}()); |
| self::expect(0, c.{self::Class::getter1b}{() → core::int}(){() → core::int}); |
| self::expect(42.{core::int::unary-}(){() → core::int}, let final self::Class #t31 = c in let final core::int #t32 = self::read(42) in #t31.{self::Class::getter2}{(core::int) → core::int}(#t32){(core::int) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t33 = c in let final core::int #t34 = self::read(12) in let final core::int #t35 = self::read(23) in #t33.{self::Class::getter3}{(core::int, core::int) → core::int}(#t34, #t35){(core::int, core::int) → core::int}); |
| self::expect(12, let final self::Class #t36 = c in let final core::int #t37 = self::read(12) in #t36.{self::Class::getter4}{(core::int, [core::int]) → core::int}(#t37){(core::int, [core::int]) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t38 = c in let final core::int #t39 = self::read(12) in let final core::int #t40 = self::read(23) in #t38.{self::Class::getter4}{(core::int, [core::int]) → core::int}(#t39, #t40){(core::int, [core::int]) → core::int}); |
| self::expect(0, c.{self::Class::getter5}{([core::int, core::int]) → core::int}(){([core::int, core::int]) → core::int}); |
| self::expect(12, let final self::Class #t41 = c in let final core::int #t42 = self::read(12) in #t41.{self::Class::getter5}{([core::int, core::int]) → core::int}(#t42){([core::int, core::int]) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t43 = c in let final core::int #t44 = self::read(12) in let final core::int #t45 = self::read(23) in #t43.{self::Class::getter5}{([core::int, core::int]) → core::int}(#t44, #t45){([core::int, core::int]) → core::int}); |
| self::expect(12, let final self::Class #t46 = c in let final core::int #t47 = self::read(12) in #t46.{self::Class::getter6}{(core::int, {b: core::int}) → core::int}(#t47){(core::int, {b: core::int}) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t48 = c in let final core::int #t49 = self::read(12) in let final core::int #t50 = self::read(23) in #t48.{self::Class::getter6}{(core::int, {b: core::int}) → core::int}(#t49, b: #t50){(core::int, {b: core::int}) → core::int}); |
| self::expect(0, c.{self::Class::getter7}{({a: core::int, b: core::int}) → core::int}(){({a: core::int, b: core::int}) → core::int}); |
| self::expect(12, let final self::Class #t51 = c in let final core::int #t52 = self::read(12) in #t51.{self::Class::getter7}{({a: core::int, b: core::int}) → core::int}(a: #t52){({a: core::int, b: core::int}) → core::int}); |
| self::expect(23.{core::int::unary-}(){() → core::int}, let final self::Class #t53 = c in let final core::int #t54 = self::read(23) in #t53.{self::Class::getter7}{({a: core::int, b: core::int}) → core::int}(b: #t54){({a: core::int, b: core::int}) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t55 = c in let final core::int #t56 = self::read(12) in let final core::int #t57 = self::read(23) in #t55.{self::Class::getter7}{({a: core::int, b: core::int}) → core::int}(a: #t56, b: #t57){({a: core::int, b: core::int}) → core::int}); |
| self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t58 = c in let final core::int #t59 = self::read(23) in let final core::int #t60 = self::read(12) in #t58.{self::Class::getter7}{({a: core::int, b: core::int}) → core::int}(b: #t59, a: #t60){({a: core::int, b: core::int}) → core::int}); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| self::enableRead = true; |
| if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) |
| throw "Expected ${expected}, ${actual}"; |
| } |
| |
| constants { |
| #C1 = static-tearoff self::method1 |
| #C2 = static-tearoff self::method2 |
| #C3 = static-tearoff self::method3 |
| #C4 = static-tearoff self::method4 |
| #C5 = static-tearoff self::method5 |
| #C6 = static-tearoff self::method6 |
| #C7 = static-tearoff self::method7 |
| #C8 = 0 |
| } |