blob: c10c1c0b69b2fd2bc8d7195e4816b69537bd7b5b [file] [log] [blame]
library test;
import self as self;
import "dart:core" as core;
abstract class Base<T extends core::Object, U extends core::Object> extends core::Object {
default constructor •() void
: super core::Object::•()
;
operator [](core::String s) self::Base::T
return this.{self::Base::getValue}(s);
operator []=(core::String s, generic-covariant-impl generic-covariant-interface self::Base::U v) void
return this.{self::Base::setValue}(s, v);
abstract method getValue(core::String s) self::Base::T;
abstract method setValue(core::String s, generic-covariant-impl generic-covariant-interface self::Base::U v) void;
}
abstract class Test1 extends self::Base<core::int, core::int> {
default constructor •() void
: super self::Base::•()
;
method test() void {
core::int v1 = let final core::String #t1 = "x" in let final core::int #t2 = self::getInt() in let final void #t3 = super.{self::Base::[]=}(#t1, #t2) in #t2;
core::int v2 = let final core::String #t4 = "x" in let final core::int #t5 = self::getNum() as{TypeError} core::int in let final void #t6 = super.{self::Base::[]=}(#t4, #t5) in #t5;
core::int v4 = let final core::String #t7 = "x" in let final core::int #t8 = super.{self::Base::[]}(#t7) in #t8.{core::num::==}(null) ?{core::int} let final core::int #t9 = self::getInt() in let final void #t10 = super.{self::Base::[]=}(#t7, #t9) in #t9 : #t8;
core::int v5 = let final core::String #t11 = "x" in let final core::int #t12 = super.{self::Base::[]}(#t11) in #t12.{core::num::==}(null) ?{core::int} let final core::int #t13 = self::getNum() as{TypeError} core::int in let final void #t14 = super.{self::Base::[]=}(#t11, #t13) in #t13 : #t12;
core::int v7 = let final core::String #t15 = "x" in let final core::int #t16 = super.{self::Base::[]}(#t15).{core::num::+}(self::getInt()) in let final void #t17 = super.{self::Base::[]=}(#t15, #t16) in #t16;
core::int v8 = let final core::String #t18 = "x" in let final core::int #t19 = super.{self::Base::[]}(#t18).{core::num::+}(self::getNum()) as{TypeError} core::int in let final void #t20 = super.{self::Base::[]=}(#t18, #t19) in #t19;
core::int v10 = let final core::String #t21 = "x" in let final core::int #t22 = super.{self::Base::[]}(#t21).{core::num::+}(1) in let final void #t23 = super.{self::Base::[]=}(#t21, #t22) in #t22;
core::int v11 = let final core::String #t24 = "x" in let final core::int #t25 = super.{self::Base::[]}(#t24) in let final void #t26 = super.{self::Base::[]=}(#t24, #t25.{core::num::+}(1)) in #t25;
}
abstract forwarding-stub operator []=(core::String s, generic-covariant-impl core::int v) void;
abstract forwarding-stub method setValue(core::String s, generic-covariant-impl core::int v) void;
}
abstract class Test2 extends self::Base<core::int, core::num> {
default constructor •() void
: super self::Base::•()
;
method test() void {
core::int v1 = let final core::String #t27 = "x" in let final core::int #t28 = self::getInt() in let final void #t29 = super.{self::Base::[]=}(#t27, #t28) in #t28;
core::num v2 = let final core::String #t30 = "x" in let final core::num #t31 = self::getNum() in let final void #t32 = super.{self::Base::[]=}(#t30, #t31) in #t31;
core::double v3 = let final core::String #t33 = "x" in let final core::double #t34 = self::getDouble() in let final void #t35 = super.{self::Base::[]=}(#t33, #t34) in #t34;
core::int v4 = let final core::String #t36 = "x" in let final core::int #t37 = super.{self::Base::[]}(#t36) in #t37.{core::num::==}(null) ?{core::int} let final core::int #t38 = self::getInt() in let final void #t39 = super.{self::Base::[]=}(#t36, #t38) in #t38 : #t37;
core::num v5 = let final core::String #t40 = "x" in let final core::int #t41 = super.{self::Base::[]}(#t40) in #t41.{core::num::==}(null) ?{core::num} let final core::num #t42 = self::getNum() in let final void #t43 = super.{self::Base::[]=}(#t40, #t42) in #t42 : #t41;
core::num v6 = let final core::String #t44 = "x" in let final core::int #t45 = super.{self::Base::[]}(#t44) in #t45.{core::num::==}(null) ?{core::num} let final core::double #t46 = self::getDouble() in let final void #t47 = super.{self::Base::[]=}(#t44, #t46) in #t46 : #t45;
core::int v7 = let final core::String #t48 = "x" in let final core::int #t49 = super.{self::Base::[]}(#t48).{core::num::+}(self::getInt()) in let final void #t50 = super.{self::Base::[]=}(#t48, #t49) in #t49;
core::num v8 = let final core::String #t51 = "x" in let final core::num #t52 = super.{self::Base::[]}(#t51).{core::num::+}(self::getNum()) in let final void #t53 = super.{self::Base::[]=}(#t51, #t52) in #t52;
core::double v9 = let final core::String #t54 = "x" in let final core::double #t55 = super.{self::Base::[]}(#t54).{core::num::+}(self::getDouble()) in let final void #t56 = super.{self::Base::[]=}(#t54, #t55) in #t55;
core::int v10 = let final core::String #t57 = "x" in let final core::int #t58 = super.{self::Base::[]}(#t57).{core::num::+}(1) in let final void #t59 = super.{self::Base::[]=}(#t57, #t58) in #t58;
core::int v11 = let final core::String #t60 = "x" in let final core::int #t61 = super.{self::Base::[]}(#t60) in let final void #t62 = super.{self::Base::[]=}(#t60, #t61.{core::num::+}(1)) in #t61;
}
abstract forwarding-stub operator []=(core::String s, generic-covariant-impl core::num v) void;
abstract forwarding-stub method setValue(core::String s, generic-covariant-impl core::num v) void;
}
abstract class Test3 extends self::Base<core::int, core::double> {
default constructor •() void
: super self::Base::•()
;
method test() void {
core::double v2 = let final core::String #t63 = "x" in let final core::double #t64 = self::getNum() as{TypeError} core::double in let final void #t65 = super.{self::Base::[]=}(#t63, #t64) in #t64;
core::double v3 = let final core::String #t66 = "x" in let final core::double #t67 = self::getDouble() in let final void #t68 = super.{self::Base::[]=}(#t66, #t67) in #t67;
core::num v5 = let final core::String #t69 = "x" in let final core::int #t70 = super.{self::Base::[]}(#t69) in #t70.{core::num::==}(null) ?{core::num} let final core::double #t71 = self::getNum() as{TypeError} core::double in let final void #t72 = super.{self::Base::[]=}(#t69, #t71) in #t71 : #t70;
core::num v6 = let final core::String #t73 = "x" in let final core::int #t74 = super.{self::Base::[]}(#t73) in #t74.{core::num::==}(null) ?{core::num} let final core::double #t75 = self::getDouble() in let final void #t76 = super.{self::Base::[]=}(#t73, #t75) in #t75 : #t74;
core::double v7 = let final core::String #t77 = "x" in let final core::double #t78 = super.{self::Base::[]}(#t77).{core::num::+}(self::getInt()) as{TypeError} core::double in let final void #t79 = super.{self::Base::[]=}(#t77, #t78) in #t78;
core::double v8 = let final core::String #t80 = "x" in let final core::double #t81 = super.{self::Base::[]}(#t80).{core::num::+}(self::getNum()) as{TypeError} core::double in let final void #t82 = super.{self::Base::[]=}(#t80, #t81) in #t81;
core::double v9 = let final core::String #t83 = "x" in let final core::double #t84 = super.{self::Base::[]}(#t83).{core::num::+}(self::getDouble()) in let final void #t85 = super.{self::Base::[]=}(#t83, #t84) in #t84;
core::double v10 = let final core::String #t86 = "x" in let final core::double #t87 = super.{self::Base::[]}(#t86).{core::num::+}(1) as{TypeError} core::double in let final void #t88 = super.{self::Base::[]=}(#t86, #t87) in #t87;
core::int v11 = let final core::String #t89 = "x" in let final core::int #t90 = super.{self::Base::[]}(#t89) in let final void #t91 = super.{self::Base::[]=}(#t89, #t90.{core::num::+}(1) as{TypeError} core::double) in #t90;
}
abstract forwarding-stub operator []=(core::String s, generic-covariant-impl core::double v) void;
abstract forwarding-stub method setValue(core::String s, generic-covariant-impl core::double v) void;
}
abstract class Test4 extends self::Base<core::num, core::int> {
default constructor •() void
: super self::Base::•()
;
method test() void {
core::int v1 = let final core::String #t92 = "x" in let final core::int #t93 = self::getInt() in let final void #t94 = super.{self::Base::[]=}(#t92, #t93) in #t93;
core::int v2 = let final core::String #t95 = "x" in let final core::int #t96 = self::getNum() as{TypeError} core::int in let final void #t97 = super.{self::Base::[]=}(#t95, #t96) in #t96;
core::num v4 = let final core::String #t98 = "x" in let final core::num #t99 = super.{self::Base::[]}(#t98) in #t99.{core::num::==}(null) ?{core::num} let final core::int #t100 = self::getInt() in let final void #t101 = super.{self::Base::[]=}(#t98, #t100) in #t100 : #t99;
core::num v5 = let final core::String #t102 = "x" in let final core::num #t103 = super.{self::Base::[]}(#t102) in #t103.{core::num::==}(null) ?{core::num} let final core::int #t104 = self::getNum() as{TypeError} core::int in let final void #t105 = super.{self::Base::[]=}(#t102, #t104) in #t104 : #t103;
core::int v7 = let final core::String #t106 = "x" in let final core::int #t107 = super.{self::Base::[]}(#t106).{core::num::+}(self::getInt()) as{TypeError} core::int in let final void #t108 = super.{self::Base::[]=}(#t106, #t107) in #t107;
core::int v8 = let final core::String #t109 = "x" in let final core::int #t110 = super.{self::Base::[]}(#t109).{core::num::+}(self::getNum()) as{TypeError} core::int in let final void #t111 = super.{self::Base::[]=}(#t109, #t110) in #t110;
core::int v10 = let final core::String #t112 = "x" in let final core::int #t113 = super.{self::Base::[]}(#t112).{core::num::+}(1) as{TypeError} core::int in let final void #t114 = super.{self::Base::[]=}(#t112, #t113) in #t113;
core::num v11 = let final core::String #t115 = "x" in let final core::num #t116 = super.{self::Base::[]}(#t115) in let final void #t117 = super.{self::Base::[]=}(#t115, #t116.{core::num::+}(1) as{TypeError} core::int) in #t116;
}
abstract forwarding-stub operator []=(core::String s, generic-covariant-impl core::int v) void;
abstract forwarding-stub method setValue(core::String s, generic-covariant-impl core::int v) void;
}
abstract class Test5 extends self::Base<core::num, core::num> {
default constructor •() void
: super self::Base::•()
;
method test() void {
core::int v1 = let final core::String #t118 = "x" in let final core::int #t119 = self::getInt() in let final void #t120 = super.{self::Base::[]=}(#t118, #t119) in #t119;
core::num v2 = let final core::String #t121 = "x" in let final core::num #t122 = self::getNum() in let final void #t123 = super.{self::Base::[]=}(#t121, #t122) in #t122;
core::double v3 = let final core::String #t124 = "x" in let final core::double #t125 = self::getDouble() in let final void #t126 = super.{self::Base::[]=}(#t124, #t125) in #t125;
core::num v4 = let final core::String #t127 = "x" in let final core::num #t128 = super.{self::Base::[]}(#t127) in #t128.{core::num::==}(null) ?{core::num} let final core::int #t129 = self::getInt() in let final void #t130 = super.{self::Base::[]=}(#t127, #t129) in #t129 : #t128;
core::num v5 = let final core::String #t131 = "x" in let final core::num #t132 = super.{self::Base::[]}(#t131) in #t132.{core::num::==}(null) ?{core::num} let final core::num #t133 = self::getNum() in let final void #t134 = super.{self::Base::[]=}(#t131, #t133) in #t133 : #t132;
core::num v6 = let final core::String #t135 = "x" in let final core::num #t136 = super.{self::Base::[]}(#t135) in #t136.{core::num::==}(null) ?{core::num} let final core::double #t137 = self::getDouble() in let final void #t138 = super.{self::Base::[]=}(#t135, #t137) in #t137 : #t136;
core::num v7 = let final core::String #t139 = "x" in let final core::num #t140 = super.{self::Base::[]}(#t139).{core::num::+}(self::getInt()) in let final void #t141 = super.{self::Base::[]=}(#t139, #t140) in #t140;
core::num v8 = let final core::String #t142 = "x" in let final core::num #t143 = super.{self::Base::[]}(#t142).{core::num::+}(self::getNum()) in let final void #t144 = super.{self::Base::[]=}(#t142, #t143) in #t143;
core::num v9 = let final core::String #t145 = "x" in let final core::num #t146 = super.{self::Base::[]}(#t145).{core::num::+}(self::getDouble()) in let final void #t147 = super.{self::Base::[]=}(#t145, #t146) in #t146;
core::num v10 = let final core::String #t148 = "x" in let final core::num #t149 = super.{self::Base::[]}(#t148).{core::num::+}(1) in let final void #t150 = super.{self::Base::[]=}(#t148, #t149) in #t149;
core::num v11 = let final core::String #t151 = "x" in let final core::num #t152 = super.{self::Base::[]}(#t151) in let final void #t153 = super.{self::Base::[]=}(#t151, #t152.{core::num::+}(1)) in #t152;
}
abstract forwarding-stub operator []=(core::String s, generic-covariant-impl core::num v) void;
abstract forwarding-stub method setValue(core::String s, generic-covariant-impl core::num v) void;
}
abstract class Test6 extends self::Base<core::num, core::double> {
default constructor •() void
: super self::Base::•()
;
method test() void {
core::double v2 = let final core::String #t154 = "x" in let final core::double #t155 = self::getNum() as{TypeError} core::double in let final void #t156 = super.{self::Base::[]=}(#t154, #t155) in #t155;
core::double v3 = let final core::String #t157 = "x" in let final core::double #t158 = self::getDouble() in let final void #t159 = super.{self::Base::[]=}(#t157, #t158) in #t158;
core::num v5 = let final core::String #t160 = "x" in let final core::num #t161 = super.{self::Base::[]}(#t160) in #t161.{core::num::==}(null) ?{core::num} let final core::double #t162 = self::getNum() as{TypeError} core::double in let final void #t163 = super.{self::Base::[]=}(#t160, #t162) in #t162 : #t161;
core::num v6 = let final core::String #t164 = "x" in let final core::num #t165 = super.{self::Base::[]}(#t164) in #t165.{core::num::==}(null) ?{core::num} let final core::double #t166 = self::getDouble() in let final void #t167 = super.{self::Base::[]=}(#t164, #t166) in #t166 : #t165;
core::double v7 = let final core::String #t168 = "x" in let final core::double #t169 = super.{self::Base::[]}(#t168).{core::num::+}(self::getInt()) as{TypeError} core::double in let final void #t170 = super.{self::Base::[]=}(#t168, #t169) in #t169;
core::double v8 = let final core::String #t171 = "x" in let final core::double #t172 = super.{self::Base::[]}(#t171).{core::num::+}(self::getNum()) as{TypeError} core::double in let final void #t173 = super.{self::Base::[]=}(#t171, #t172) in #t172;
core::double v9 = let final core::String #t174 = "x" in let final core::double #t175 = super.{self::Base::[]}(#t174).{core::num::+}(self::getDouble()) as{TypeError} core::double in let final void #t176 = super.{self::Base::[]=}(#t174, #t175) in #t175;
core::double v10 = let final core::String #t177 = "x" in let final core::double #t178 = super.{self::Base::[]}(#t177).{core::num::+}(1) as{TypeError} core::double in let final void #t179 = super.{self::Base::[]=}(#t177, #t178) in #t178;
core::num v11 = let final core::String #t180 = "x" in let final core::num #t181 = super.{self::Base::[]}(#t180) in let final void #t182 = super.{self::Base::[]=}(#t180, #t181.{core::num::+}(1) as{TypeError} core::double) in #t181;
}
abstract forwarding-stub operator []=(core::String s, generic-covariant-impl core::double v) void;
abstract forwarding-stub method setValue(core::String s, generic-covariant-impl core::double v) void;
}
abstract class Test7 extends self::Base<core::double, core::int> {
default constructor •() void
: super self::Base::•()
;
method test() void {
core::int v1 = let final core::String #t183 = "x" in let final core::int #t184 = self::getInt() in let final void #t185 = super.{self::Base::[]=}(#t183, #t184) in #t184;
core::int v2 = let final core::String #t186 = "x" in let final core::int #t187 = self::getNum() as{TypeError} core::int in let final void #t188 = super.{self::Base::[]=}(#t186, #t187) in #t187;
core::num v4 = let final core::String #t189 = "x" in let final core::double #t190 = super.{self::Base::[]}(#t189) in #t190.{core::num::==}(null) ?{core::num} let final core::int #t191 = self::getInt() in let final void #t192 = super.{self::Base::[]=}(#t189, #t191) in #t191 : #t190;
core::num v5 = let final core::String #t193 = "x" in let final core::double #t194 = super.{self::Base::[]}(#t193) in #t194.{core::num::==}(null) ?{core::num} let final core::int #t195 = self::getNum() as{TypeError} core::int in let final void #t196 = super.{self::Base::[]=}(#t193, #t195) in #t195 : #t194;
core::int v7 = let final core::String #t197 = "x" in let final core::int #t198 = super.{self::Base::[]}(#t197).{core::double::+}(self::getInt()) as{TypeError} core::int in let final void #t199 = super.{self::Base::[]=}(#t197, #t198) in #t198;
core::int v8 = let final core::String #t200 = "x" in let final core::int #t201 = super.{self::Base::[]}(#t200).{core::double::+}(self::getNum()) as{TypeError} core::int in let final void #t202 = super.{self::Base::[]=}(#t200, #t201) in #t201;
core::int v10 = let final core::String #t203 = "x" in let final core::int #t204 = super.{self::Base::[]}(#t203).{core::double::+}(1) as{TypeError} core::int in let final void #t205 = super.{self::Base::[]=}(#t203, #t204) in #t204;
core::double v11 = let final core::String #t206 = "x" in let final core::double #t207 = super.{self::Base::[]}(#t206) in let final void #t208 = super.{self::Base::[]=}(#t206, #t207.{core::double::+}(1) as{TypeError} core::int) in #t207;
}
abstract forwarding-stub operator []=(core::String s, generic-covariant-impl core::int v) void;
abstract forwarding-stub method setValue(core::String s, generic-covariant-impl core::int v) void;
}
abstract class Test8 extends self::Base<core::double, core::num> {
default constructor •() void
: super self::Base::•()
;
method test() void {
core::int v1 = let final core::String #t209 = "x" in let final core::int #t210 = self::getInt() in let final void #t211 = super.{self::Base::[]=}(#t209, #t210) in #t210;
core::num v2 = let final core::String #t212 = "x" in let final core::num #t213 = self::getNum() in let final void #t214 = super.{self::Base::[]=}(#t212, #t213) in #t213;
core::double v3 = let final core::String #t215 = "x" in let final core::double #t216 = self::getDouble() in let final void #t217 = super.{self::Base::[]=}(#t215, #t216) in #t216;
core::num v4 = let final core::String #t218 = "x" in let final core::double #t219 = super.{self::Base::[]}(#t218) in #t219.{core::num::==}(null) ?{core::num} let final core::int #t220 = self::getInt() in let final void #t221 = super.{self::Base::[]=}(#t218, #t220) in #t220 : #t219;
core::num v5 = let final core::String #t222 = "x" in let final core::double #t223 = super.{self::Base::[]}(#t222) in #t223.{core::num::==}(null) ?{core::num} let final core::num #t224 = self::getNum() in let final void #t225 = super.{self::Base::[]=}(#t222, #t224) in #t224 : #t223;
core::double v6 = let final core::String #t226 = "x" in let final core::double #t227 = super.{self::Base::[]}(#t226) in #t227.{core::num::==}(null) ?{core::double} let final core::double #t228 = self::getDouble() in let final void #t229 = super.{self::Base::[]=}(#t226, #t228) in #t228 : #t227;
core::double v7 = let final core::String #t230 = "x" in let final core::double #t231 = super.{self::Base::[]}(#t230).{core::double::+}(self::getInt()) in let final void #t232 = super.{self::Base::[]=}(#t230, #t231) in #t231;
core::double v8 = let final core::String #t233 = "x" in let final core::double #t234 = super.{self::Base::[]}(#t233).{core::double::+}(self::getNum()) in let final void #t235 = super.{self::Base::[]=}(#t233, #t234) in #t234;
core::double v9 = let final core::String #t236 = "x" in let final core::double #t237 = super.{self::Base::[]}(#t236).{core::double::+}(self::getDouble()) in let final void #t238 = super.{self::Base::[]=}(#t236, #t237) in #t237;
core::double v10 = let final core::String #t239 = "x" in let final core::double #t240 = super.{self::Base::[]}(#t239).{core::double::+}(1) in let final void #t241 = super.{self::Base::[]=}(#t239, #t240) in #t240;
core::double v11 = let final core::String #t242 = "x" in let final core::double #t243 = super.{self::Base::[]}(#t242) in let final void #t244 = super.{self::Base::[]=}(#t242, #t243.{core::double::+}(1)) in #t243;
}
abstract forwarding-stub operator []=(core::String s, generic-covariant-impl core::num v) void;
abstract forwarding-stub method setValue(core::String s, generic-covariant-impl core::num v) void;
}
abstract class Test9 extends self::Base<core::double, core::double> {
default constructor •() void
: super self::Base::•()
;
method test() void {
core::double v2 = let final core::String #t245 = "x" in let final core::double #t246 = self::getNum() as{TypeError} core::double in let final void #t247 = super.{self::Base::[]=}(#t245, #t246) in #t246;
core::double v3 = let final core::String #t248 = "x" in let final core::double #t249 = self::getDouble() in let final void #t250 = super.{self::Base::[]=}(#t248, #t249) in #t249;
core::double v5 = let final core::String #t251 = "x" in let final core::double #t252 = super.{self::Base::[]}(#t251) in #t252.{core::num::==}(null) ?{core::double} let final core::double #t253 = self::getNum() as{TypeError} core::double in let final void #t254 = super.{self::Base::[]=}(#t251, #t253) in #t253 : #t252;
core::double v6 = let final core::String #t255 = "x" in let final core::double #t256 = super.{self::Base::[]}(#t255) in #t256.{core::num::==}(null) ?{core::double} let final core::double #t257 = self::getDouble() in let final void #t258 = super.{self::Base::[]=}(#t255, #t257) in #t257 : #t256;
core::double v7 = let final core::String #t259 = "x" in let final core::double #t260 = super.{self::Base::[]}(#t259).{core::double::+}(self::getInt()) in let final void #t261 = super.{self::Base::[]=}(#t259, #t260) in #t260;
core::double v8 = let final core::String #t262 = "x" in let final core::double #t263 = super.{self::Base::[]}(#t262).{core::double::+}(self::getNum()) in let final void #t264 = super.{self::Base::[]=}(#t262, #t263) in #t263;
core::double v9 = let final core::String #t265 = "x" in let final core::double #t266 = super.{self::Base::[]}(#t265).{core::double::+}(self::getDouble()) in let final void #t267 = super.{self::Base::[]=}(#t265, #t266) in #t266;
core::double v10 = let final core::String #t268 = "x" in let final core::double #t269 = super.{self::Base::[]}(#t268).{core::double::+}(1) in let final void #t270 = super.{self::Base::[]=}(#t268, #t269) in #t269;
core::double v11 = let final core::String #t271 = "x" in let final core::double #t272 = super.{self::Base::[]}(#t271) in let final void #t273 = super.{self::Base::[]=}(#t271, #t272.{core::double::+}(1)) in #t272;
}
abstract forwarding-stub operator []=(core::String s, generic-covariant-impl core::double v) void;
abstract forwarding-stub method setValue(core::String s, generic-covariant-impl core::double v) void;
}
static method getInt() core::int
return 0;
static method getNum() core::num
return 0;
static method getDouble() core::double
return 0.0;
static method main() dynamic {}