| Index: test/codegen/expect/language/instance_compound_assignment_operator_test.js | 
| diff --git a/test/codegen/expect/language/instance_compound_assignment_operator_test.js b/test/codegen/expect/language/instance_compound_assignment_operator_test.js | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..b9649003f3b21948904cccdcd0383ae675cb4399 | 
| --- /dev/null | 
| +++ b/test/codegen/expect/language/instance_compound_assignment_operator_test.js | 
| @@ -0,0 +1,109 @@ | 
| +dart_library.library('language/instance_compound_assignment_operator_test', null, /* Imports */[ | 
| +  'dart_sdk', | 
| +  'expect' | 
| +], function load__instance_compound_assignment_operator_test(exports, dart_sdk, expect) { | 
| +  'use strict'; | 
| +  const core = dart_sdk.core; | 
| +  const dart = dart_sdk.dart; | 
| +  const dartx = dart_sdk.dartx; | 
| +  const expect$ = expect.expect; | 
| +  const instance_compound_assignment_operator_test = Object.create(null); | 
| +  let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))(); | 
| +  const _g = Symbol('_g'); | 
| +  instance_compound_assignment_operator_test.A = class A extends core.Object { | 
| +    new() { | 
| +      this.f = 2; | 
| +      this[_g] = 0; | 
| +      this.gGetCount = 0; | 
| +      this.gSetCount = 0; | 
| +    } | 
| +    get(index) { | 
| +      return this.f; | 
| +    } | 
| +    set(index, value) { | 
| +      (() => { | 
| +        return this.f = value; | 
| +      })(); | 
| +      return value; | 
| +    } | 
| +    get g() { | 
| +      this.gGetCount = dart.notNull(this.gGetCount) + 1; | 
| +      return this[_g]; | 
| +    } | 
| +    set g(value) { | 
| +      this.gSetCount = dart.notNull(this.gSetCount) + 1; | 
| +      this[_g] = core.int._check(value); | 
| +    } | 
| +  }; | 
| +  dart.setSignature(instance_compound_assignment_operator_test.A, { | 
| +    constructors: () => ({new: dart.definiteFunctionType(instance_compound_assignment_operator_test.A, [])}), | 
| +    methods: () => ({ | 
| +      get: dart.definiteFunctionType(dart.dynamic, [dart.dynamic]), | 
| +      set: dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic]) | 
| +    }) | 
| +  }); | 
| +  const _a = Symbol('_a'); | 
| +  instance_compound_assignment_operator_test.B = class B extends core.Object { | 
| +    new() { | 
| +      this[_a] = new instance_compound_assignment_operator_test.A(); | 
| +      this.count = 0; | 
| +    } | 
| +    get a() { | 
| +      this.count = dart.dsend(this.count, '+', 1); | 
| +      return this[_a]; | 
| +    } | 
| +  }; | 
| +  dart.setSignature(instance_compound_assignment_operator_test.B, { | 
| +    constructors: () => ({new: dart.definiteFunctionType(instance_compound_assignment_operator_test.B, [])}) | 
| +  }); | 
| +  instance_compound_assignment_operator_test.globalA = null; | 
| +  instance_compound_assignment_operator_test.fooCounter = 0; | 
| +  instance_compound_assignment_operator_test.foo = function() { | 
| +    instance_compound_assignment_operator_test.fooCounter = dart.notNull(instance_compound_assignment_operator_test.fooCounter) + 1; | 
| +    return instance_compound_assignment_operator_test.globalA; | 
| +  }; | 
| +  dart.fn(instance_compound_assignment_operator_test.foo, VoidTodynamic()); | 
| +  instance_compound_assignment_operator_test.main = function() { | 
| +    let b = new instance_compound_assignment_operator_test.B(); | 
| +    expect$.Expect.equals(0, b.count); | 
| +    expect$.Expect.equals(2, dart.dload(b.a, 'f')); | 
| +    expect$.Expect.equals(1, b.count); | 
| +    let o = b.a; | 
| +    expect$.Expect.equals(2, b.count); | 
| +    dart.dput(b.a, 'f', 1); | 
| +    expect$.Expect.equals(3, b.count); | 
| +    expect$.Expect.equals(1, dart.dload(b[_a], 'f')); | 
| +    let o$ = b.a; | 
| +    dart.dput(o$, 'f', dart.dsend(dart.dload(o$, 'f'), '+', 1)); | 
| +    expect$.Expect.equals(4, b.count); | 
| +    expect$.Expect.equals(2, dart.dload(b[_a], 'f')); | 
| +    b.count = 0; | 
| +    dart.dput(b[_a], 'f', 2); | 
| +    expect$.Expect.equals(0, b.count); | 
| +    expect$.Expect.equals(2, dart.dindex(b.a, 0)); | 
| +    expect$.Expect.equals(1, b.count); | 
| +    o = b.a; | 
| +    expect$.Expect.equals(2, b.count); | 
| +    dart.dsetindex(b.a, 0, 1); | 
| +    expect$.Expect.equals(3, b.count); | 
| +    expect$.Expect.equals(1, dart.dload(b[_a], 'f')); | 
| +    let o$0 = b.a, i = 0; | 
| +    dart.dsetindex(o$0, i, dart.dsend(dart.dindex(o$0, i), '+', 1)); | 
| +    expect$.Expect.equals(4, b.count); | 
| +    expect$.Expect.equals(2, dart.dload(b[_a], 'f')); | 
| +    let o$1 = b[_a]; | 
| +    dart.dput(o$1, 'g', dart.dsend(dart.dload(o$1, 'g'), '+', 1)); | 
| +    expect$.Expect.equals(1, dart.dload(b[_a], 'gGetCount')); | 
| +    expect$.Expect.equals(1, dart.dload(b[_a], 'gSetCount')); | 
| +    expect$.Expect.equals(1, dart.dload(b[_a], _g)); | 
| +    instance_compound_assignment_operator_test.globalA = b[_a]; | 
| +    dart.dput(instance_compound_assignment_operator_test.globalA, 'f', 0); | 
| +    let o$2 = instance_compound_assignment_operator_test.foo(); | 
| +    dart.dput(o$2, 'f', dart.dsend(dart.dload(o$2, 'f'), '+', 1)); | 
| +    expect$.Expect.equals(1, instance_compound_assignment_operator_test.fooCounter); | 
| +    expect$.Expect.equals(1, dart.dload(instance_compound_assignment_operator_test.globalA, 'f')); | 
| +  }; | 
| +  dart.fn(instance_compound_assignment_operator_test.main, VoidTodynamic()); | 
| +  // Exports: | 
| +  exports.instance_compound_assignment_operator_test = instance_compound_assignment_operator_test; | 
| +}); | 
|  |