| library test; | 
 | 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 {} | 
 |  | 
 |  | 
 | Extra constant evaluation status: | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:36:7 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:36:7 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:37:61 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:37:61 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:43:59 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:43:59 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:45:7 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:45:7 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:49:41 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:49:41 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:51:45 -> IntConstant(0) | 
 | Evaluated: VariableGet @ org-dartlang-testcase:///indexed_assign_combiner.dart:51:45 -> IntConstant(0) | 
 | Extra constant evaluation: evaluated: 84, effectively constant: 12 |