description(
'Tests whether bytecode codegen properly handles temporaries across multiple global blocks.'
);
var v1 = 1;
v1 += assign1();
shouldBe("v1", "2");
var o2 = { a: 1 };
var v2 = o2;
v2.a = assign2();
shouldBe("o2.a", "2");
var o3 = { a: 1 };
var v3 = o3;
v3.a += assign3();
shouldBe("o3.a", "2");
var v4 = { a: 1 };
var r4 = v4[assign4()];
shouldBe("r4", "1");
var o5 = { a: 1 };
var v5 = o5;
v5[assign5()] = 2;
shouldBe("o5.a", "2");
var o6 = { a: 1 };
var v6 = o6;
v6["a"] = assign6();
shouldBe("o6.a", "2");
var o7 = { a: 1 };
var v7 = o7;
v7[assign7()] += 1;
shouldBe("o7.a", "2");
var o8 = { a: 1 };
var v8 = o8;
v8["a"] += assign8();
shouldBe("o8.a", "2");