blob: 0afadfc5536955c885750921736bb98d951fcd95 [file] [log] [blame]
library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() self::A
: super core::Object::•()
;
operator +(core::int value) self::C
return throw "";
operator *(self::D value) self::C
return throw "";
}
class B extends core::Object {
synthetic constructor •() self::B
: super core::Object::•()
;
operator +(core::int value) self::E
return throw "";
operator *(self::F value) self::E
return throw "";
}
class C extends self::B {
synthetic constructor •() self::C
: super self::B::•()
;
}
class D extends core::Object {
synthetic constructor •() self::D
: super core::Object::•()
;
}
class E extends core::Object {
synthetic constructor •() self::E
: super core::Object::•()
;
}
class F extends core::Object {
synthetic constructor •() self::F
: super core::Object::•()
;
}
class G extends core::Object {
synthetic constructor •() self::G
: super core::Object::•()
;
operator [](core::int i) self::A
return throw "";
operator []=(core::int i, self::B value) void {}
}
static method f<T extends core::Object? = dynamic>() self::f::T%
return throw "";
static method test1(self::G g) void {
let final self::G #t1 = g in let final core::int #t2 = 0 in #t1.{self::G::[]=}(#t2, #t1.{self::G::[]}(#t2){(core::int) → self::A}.{self::A::*}(self::f<self::D>()){(self::D) → self::C}){(core::int, self::B) → void};
self::C x = let final self::G #t3 = g in let final core::int #t4 = 0 in let final self::C #t5 = #t3.{self::G::[]}(#t4){(core::int) → self::A}.{self::A::*}(self::f<self::D>()){(self::D) → self::C} in let final void #t6 = #t3.{self::G::[]=}(#t4, #t5){(core::int, self::B) → void} in #t5;
}
static method test2(self::G g) void {
let final self::G #t7 = g in let final core::int #t8 = 0 in let final self::C #t9 = #t7.{self::G::[]}(#t8){(core::int) → self::A}.{self::A::+}(1){(core::int) → self::C} in let final void #t10 = #t7.{self::G::[]=}(#t8, #t9){(core::int, self::B) → void} in #t9;
self::C x = let final self::G #t11 = g in let final core::int #t12 = 0 in let final self::C #t13 = #t11.{self::G::[]}(#t12){(core::int) → self::A}.{self::A::+}(1){(core::int) → self::C} in let final void #t14 = #t11.{self::G::[]=}(#t12, #t13){(core::int, self::B) → void} in #t13;
}
static method test3(self::G g) void {
let final self::G #t15 = g in let final core::int #t16 = 0 in #t15.{self::G::[]=}(#t16, #t15.{self::G::[]}(#t16){(core::int) → self::A}.{self::A::+}(1){(core::int) → self::C}){(core::int, self::B) → void};
self::A x = let final self::G #t17 = g in let final core::int #t18 = 0 in let final self::A #t19 = #t17.{self::G::[]}(#t18){(core::int) → self::A} in let final void #t20 = #t17.{self::G::[]=}(#t18, #t19.{self::A::+}(1){(core::int) → self::C}){(core::int, self::B) → void} in #t19;
}
static method main() dynamic {}