| library; |
| import self as self; |
| import "main_lib1.dart" as mai; |
| additionalExports = (mai::main, |
| mai::expect) |
| |
| export "org-dartlang-testcase:///main_lib1.dart"; |
| |
| |
| library; |
| import self as mai; |
| import "main_lib2.dart" as mai2; |
| import "dart:core" as core; |
| |
| import "org-dartlang-testcase:///main_lib2.dart"; |
| |
| static method main() → dynamic { |
| mai2::ExtensionType /* = core::int */ e1 = mai2::ExtensionType|(42); |
| mai::expect(42, mai2::ExtensionType|instanceMethod(e1)); |
| mai::expect(42, mai2::ExtensionType|get#instanceMethod(e1)(){() → core::int}); |
| mai::expect(43, mai2::ExtensionType|+(e1, 1)); |
| mai::expect(42, e1 as{Unchecked} core::int); |
| mai::expect(42, mai2::ExtensionType|get#instanceGetter(e1)); |
| mai2::ExtensionType|set#instanceSetter(e1, 43); |
| mai::expect(87, mai2::ExtensionType|staticMethod()); |
| mai::expect(87, #C1(){() → core::int}); |
| mai::expect(123, mai2::ExtensionType|staticField); |
| mai::expect(123, mai2::ExtensionType|staticGetter); |
| mai2::ExtensionType|staticSetter = 124; |
| mai::expect(124, mai2::ExtensionType|staticField); |
| mai::expect(124, mai2::ExtensionType|staticGetter); |
| mai::expect(42, #C2(42){(core::int) → mai2::ExtensionType /* = core::int */}); |
| mai::expect(43, mai2::ExtensionType|named(42)); |
| mai::expect(43, #C3(42){(core::int) → mai2::ExtensionType /* = core::int */}); |
| mai::expect(44, mai2::ExtensionType|redirectingGenerative(42)); |
| mai::expect(44, #C4(42){(core::int) → mai2::ExtensionType /* = core::int */}); |
| mai::expect(45, mai2::ExtensionType|fact(42)); |
| mai::expect(45, #C5(42){(core::int) → mai2::ExtensionType /* = core::int */}); |
| mai::expect(42, mai2::ExtensionType|(42)); |
| mai::expect(42, #C6(42){(core::int) → mai2::ExtensionType /* = core::int */}); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) |
| throw "Expected ${expected}, actual ${actual}"; |
| } |
| |
| library; |
| import self as mai2; |
| import "dart:core" as core; |
| |
| extension type ExtensionType(core::int it) { |
| static field staticField = mai2::ExtensionType|staticField; |
| method instanceMethod = mai2::ExtensionType|instanceMethod; |
| tearoff instanceMethod = mai2::ExtensionType|get#instanceMethod; |
| operator + = mai2::ExtensionType|+; |
| get instanceGetter = mai2::ExtensionType|get#instanceGetter; |
| static method staticMethod = mai2::ExtensionType|staticMethod; |
| static get staticGetter = get mai2::ExtensionType|staticGetter; |
| set instanceSetter = mai2::ExtensionType|set#instanceSetter; |
| static set staticSetter = set mai2::ExtensionType|staticSetter; |
| constructor • = mai2::ExtensionType|; |
| tearoff • = mai2::ExtensionType|_#new#tearOff; |
| constructor named = mai2::ExtensionType|named; |
| tearoff named = mai2::ExtensionType|_#named#tearOff; |
| constructor redirectingGenerative = mai2::ExtensionType|redirectingGenerative; |
| tearoff redirectingGenerative = mai2::ExtensionType|_#redirectingGenerative#tearOff; |
| static factory fact = mai2::ExtensionType|fact; |
| static tearoff fact = mai2::ExtensionType|_#fact#tearOff; |
| static redirecting-factory redirectingFactory = mai2::ExtensionType|redirectingFactory; |
| static tearoff redirectingFactory = mai2::ExtensionType|_#redirectingFactory#tearOff; |
| } |
| static field core::int ExtensionType|staticField = 123; |
| static inline-class-member method ExtensionType|(core::int it) → mai2::ExtensionType /* = core::int */ { |
| lowered final mai2::ExtensionType /* = core::int */ #this = it; |
| return #this; |
| } |
| static inline-class-member method ExtensionType|_#new#tearOff(core::int it) → mai2::ExtensionType /* = core::int */ |
| return mai2::ExtensionType|(it); |
| static inline-class-member method ExtensionType|named(core::int it) → mai2::ExtensionType /* = core::int */ { |
| lowered final mai2::ExtensionType /* = core::int */ #this = it.{core::num::+}(1){(core::num) → core::int}; |
| return #this; |
| } |
| static inline-class-member method ExtensionType|_#named#tearOff(core::int it) → mai2::ExtensionType /* = core::int */ |
| return mai2::ExtensionType|named(it); |
| static inline-class-member method ExtensionType|redirectingGenerative(core::int it) → mai2::ExtensionType /* = core::int */ { |
| lowered final mai2::ExtensionType /* = core::int */ #this; |
| #this = mai2::ExtensionType|(it.{core::num::+}(2){(core::num) → core::int}); |
| return #this; |
| } |
| static inline-class-member method ExtensionType|_#redirectingGenerative#tearOff(core::int it) → mai2::ExtensionType /* = core::int */ |
| return mai2::ExtensionType|redirectingGenerative(it); |
| static inline-class-member method ExtensionType|fact(core::int it) → mai2::ExtensionType /* = core::int */ |
| return mai2::ExtensionType|(it.{core::num::+}(3){(core::num) → core::int}); |
| static inline-class-member method ExtensionType|_#fact#tearOff(core::int it) → mai2::ExtensionType /* = core::int */ |
| return mai2::ExtensionType|fact(it); |
| static inline-class-member method ExtensionType|redirectingFactory(core::int it) → mai2::ExtensionType /* = core::int */ /* redirection-target: mai2::ExtensionType| */ |
| return mai2::ExtensionType|(it); |
| static inline-class-member method ExtensionType|_#redirectingFactory#tearOff(core::int it) → mai2::ExtensionType /* = core::int */ |
| return mai2::ExtensionType|(it); |
| static inline-class-member method ExtensionType|instanceMethod(lowered final mai2::ExtensionType /* = core::int */ #this) → core::int |
| return #this as{Unchecked} core::int; |
| static inline-class-member method ExtensionType|get#instanceMethod(lowered final mai2::ExtensionType /* = core::int */ #this) → () → core::int |
| return () → core::int => mai2::ExtensionType|instanceMethod(#this); |
| static inline-class-member method ExtensionType|+(lowered final mai2::ExtensionType /* = core::int */ #this, core::int i) → core::int |
| return (#this as{Unchecked} core::int).{core::num::+}(i){(core::num) → core::int}; |
| static inline-class-member method ExtensionType|get#instanceGetter(lowered final mai2::ExtensionType /* = core::int */ #this) → core::int |
| return #this as{Unchecked} core::int; |
| static inline-class-member method ExtensionType|set#instanceSetter(lowered final mai2::ExtensionType /* = core::int */ #this, core::int value) → void {} |
| static inline-class-member method ExtensionType|staticMethod() → core::int |
| return 87; |
| static inline-class-member get ExtensionType|staticGetter() → core::int |
| return mai2::ExtensionType|staticField; |
| static inline-class-member set ExtensionType|staticSetter(core::int value) → void { |
| mai2::ExtensionType|staticField = value; |
| } |
| |
| constants { |
| #C1 = static-tearoff mai2::ExtensionType|staticMethod |
| #C2 = static-tearoff mai2::ExtensionType|_#new#tearOff |
| #C3 = static-tearoff mai2::ExtensionType|_#named#tearOff |
| #C4 = static-tearoff mai2::ExtensionType|_#redirectingGenerative#tearOff |
| #C5 = static-tearoff mai2::ExtensionType|_#fact#tearOff |
| #C6 = static-tearoff mai2::ExtensionType|_#redirectingFactory#tearOff |
| } |