blob: ebb397549ad936fe2195d375f79d9e7ee19b0a4e [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class Class1 extends core::Object {
synthetic constructor •() self::Class1*
: super core::Object::•()
;
operator [](core::int index) core::int
return index;
operator []=(core::int index, core::int value) void {}
}
class Class2 extends core::Object {
field core::int field = null;
synthetic constructor •() self::Class2*
: super core::Object::•()
;
}
extension Extension on self::Class2 {
operator [] = self::Extension|[];
operator []= = self::Extension|[]=;
}
static method Extension|[](final self::Class2 #this, core::int index) → core::int
return #this.{self::Class2::field};
static method Extension|[]=(final self::Class2 #this, core::int index, core::int value) → void {
#this.{self::Class2::field} = value;
}
static method main() dynamic {
self::Class1? c1;
let final self::Class1? #t1 = c1 in #t1.{core::Object::==}(null) ?{core::int} null : #t1.{self::Class1::[]}(0);
let final self::Class1? #t2 = c1 in #t2.{core::Object::==}(null) ?{core::int} null : #t2.{self::Class1::[]=}(0, 1);
let final self::Class1? #t3 = c1 in #t3.{core::Object::==}(null) ?{core::int} null : #t3.{self::Class1::[]=}(0, 1.{core::num::+}(c1.{self::Class1::[]}(0)));
let final self::Class1? #t4 = c1 in #t4.{core::Object::==}(null) ?{core::int} null : let final core::int #t5 = 0 in #t4.{self::Class1::[]=}(#t5, #t4.{self::Class1::[]}(#t5).{core::num::+}(1));
let final self::Class1? #t6 = c1 in #t6.{core::Object::==}(null) ?{core::int} null : let final core::int #t7 = 0 in #t6.{self::Class1::[]=}(#t7, #t6.{self::Class1::[]}(#t7).{core::num::+}(1.{core::num::+}(c1.{self::Class1::[]}(0))));
let final self::Class1? #t8 = c1 in #t8.{core::Object::==}(null) ?{core::int} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8.{self::Class1::[]}(#t9).{core::num::+}(1) in let final void #t11 = #t8.{self::Class1::[]=}(#t9, #t10) in #t10;
let final self::Class1? #t12 = c1 in #t12.{core::Object::==}(null) ?{core::int} null : let final core::int #t13 = 0 in #t12.{self::Class1::[]=}(#t13, #t12.{self::Class1::[]}(#t13).{core::num::+}(1));
let final self::Class1? #t14 = c1 in #t14.{core::Object::==}(null) ?{core::int} null : let final core::int #t15 = 0 in #t14.{self::Class1::[]}(#t15).{core::num::==}(null) ?{core::int} #t14.{self::Class1::[]=}(#t15, 1) : null;
let final self::Class1? #t16 = c1 in #t16.{core::Object::==}(null) ?{core::int} null : let final core::int #t17 = 0 in #t16.{self::Class1::[]}(#t17).{core::num::==}(null) ?{core::int} #t16.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1.{self::Class1::[]}(1))) : null;
self::Class2? c2;
let final self::Class2? #t18 = c2 in #t18.{core::Object::==}(null) ?{core::int} null : self::Extension|[](#t18, 0);
let final self::Class2? #t19 = c2 in #t19.{core::Object::==}(null) ?{core::int} null : self::Extension|[]=(#t19, 0, 1);
let final self::Class2? #t20 = c2 in #t20.{core::Object::==}(null) ?{core::int} null : self::Extension|[]=(#t20, 0, 1.{core::num::+}(self::Extension|[](c2, 0)));
let final self::Class2? #t21 = c2 in #t21.{core::Object::==}(null) ?{core::int} null : let final core::int #t22 = 0 in self::Extension|[]=(#t21, #t22, self::Extension|[](#t21, #t22).{core::num::+}(1));
let final self::Class2? #t23 = c2 in #t23.{core::Object::==}(null) ?{core::int} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23, #t24, self::Extension|[](#t23, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2, 0))));
let final self::Class2? #t25 = c2 in #t25.{core::Object::==}(null) ?{core::int} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25, #t26).{core::num::+}(1) in let final void #t28 = self::Extension|[]=(#t25, #t26, #t27) in #t27;
let final self::Class2? #t29 = c2 in #t29.{core::Object::==}(null) ?{core::int} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29, #t30, self::Extension|[](#t29, #t30).{core::num::+}(1));
let final self::Class2? #t31 = c2 in #t31.{core::Object::==}(null) ?{core::int} null : let final core::int #t32 = 0 in self::Extension|[](#t31, #t32).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t31, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33.{core::Object::==}(null) ?{core::int} null : let final core::int #t34 = 0 in self::Extension|[](#t33, #t34).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t33, #t34, 1.{core::num::+}(self::Extension|[](c2, 1))) : null;
let final self::Class2? #t35 = c2 in #t35.{core::Object::==}(null) ?{core::int} null : self::Extension|[](#t35, 0);
let final self::Class2? #t36 = c2 in #t36.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t36, 0, 1);
let final self::Class2? #t37 = c2 in #t37.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t37, 0, 1.{core::num::+}(self::Extension|[](c2, 0)));
let final self::Class2? #t38 = c2 in #t38.{core::Object::==}(null) ?{core::int} null : let final core::int #t39 = 0 in self::Extension|[]=(#t38, #t39, self::Extension|[](#t38, #t39).{core::num::+}(1));
let final self::Class2? #t40 = c2 in #t40.{core::Object::==}(null) ?{core::int} null : let final core::int #t41 = 0 in self::Extension|[]=(#t40, #t41, self::Extension|[](#t40, #t41).{core::num::+}(1.{core::num::+}(self::Extension|[](c2, 0))));
let final self::Class2? #t42 = c2 in #t42.{core::Object::==}(null) ?{core::int} null : let final core::int #t43 = 0 in let final core::int #t44 = self::Extension|[](#t42, #t43).{core::num::+}(1) in let final void #t45 = self::Extension|[]=(#t42, #t43, #t44) in #t44;
let final self::Class2? #t46 = c2 in #t46.{core::Object::==}(null) ?{core::int} null : let final core::int #t47 = 0 in self::Extension|[]=(#t46, #t47, self::Extension|[](#t46, #t47).{core::num::+}(1));
let final self::Class2? #t48 = c2 in #t48.{core::Object::==}(null) ?{core::int} null : let final core::int #t49 = 0 in self::Extension|[](#t48, #t49).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t48, #t49, 1) : null;
let final self::Class2? #t50 = c2 in #t50.{core::Object::==}(null) ?{core::int} null : let final core::int #t51 = 0 in self::Extension|[](#t50, #t51).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t50, #t51, 1.{core::num::+}(self::Extension|[](c2, 1))) : null;
}