blob: 46d6732532bdc5e4a3abb12d9446f79857691747 [file] [log] [blame]
library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
typedef F<contravariant T extends core::Object? = dynamic> = (T%) void;
class B<T extends core::Object? = dynamic, U extends (self::B::T%) void = (Never) void> extends core::Object {
synthetic constructor •() self::B<self::B::T%, self::B::U>
: super core::Object::•()
;
operator +(dynamic other) self::B<self::B::T%, (self::B::T%) void>
return throw "";
}
class C extends core::Object {
field self::B<core::num, (core::num) void> x = throw "";
static field self::B<core::num, (core::num) void> y = throw "";
synthetic constructor •() self::C
: super core::Object::•()
;
operator [](core::int i) self::B<core::num, (core::num) void>
return throw "";
operator []=(core::int i, self::B<core::num, (core::num) void> v) void {}
}
static method test1(self::B<core::num, (core::num) void> b) void {
b = b.{self::B::+}(1){(dynamic) self::B<core::num, (core::num) void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) void>;
self::B<core::num, (core::num) void> x = b = b.{self::B::+}(2){(dynamic) self::B<core::num, (core::num) void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) void>;
}
static method test2(self::C c) void {
let final self::C #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2){(core::int) → self::B<core::num, (core::num) → void>}.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>){(core::int, self::B<core::num, (core::num) → void>) → void};
self::B<core::num, (core::num) void> x = let final self::C #t3 = c in let final core::int #t4 = 0 in let final self::B<core::num, (core::num) → void> #t5 = #t3.{self::C::[]}(#t4){(core::int) → self::B<core::num, (core::num) → void>}.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void> in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<core::num, (core::num) → void>) → void} in #t5;
}
static method test3(self::C c) void {
let final self::C #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}{self::B<core::num, (core::num) → void>}.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
self::B<core::num, (core::num) void> x = let final self::C #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}{self::B<core::num, (core::num) → void>}.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
}
static method test4(self::C c) void {
self::C::y = self::C::y.{self::B::+}(1){(dynamic) self::B<core::num, (core::num) void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) void>;
self::B<core::num, (core::num) void> x = self::C::y = self::C::y.{self::B::+}(2){(dynamic) self::B<core::num, (core::num) void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) void>;
}
static method main() void {}
Extra constant evaluation status:
Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_combiner.dart:27:5 -> IntConstant(0)
Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_combiner.dart:27:5 -> IntConstant(0)
Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_combiner.dart:28:13 -> IntConstant(0)
Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_combiner.dart:28:13 -> IntConstant(0)
Extra constant evaluation: evaluated: 62, effectively constant: 4