blob: eaa6a97f18bbfd48450019de9bfb72685726a9d0 [file] [log] [blame]
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
}