anchor.diff:  
   // SharedOptions=--enable-experiment=extension-methods
   
  -// Tests interactions between getters and setters where one or both is defined
  +// Tests getters and setters where one or both is defined
   // by an extension.
   
   import "package:expect/expect.dart";
  
positive.code:   // v1: C get, C set
    expectGet("C.v1", c.v1);
    expectSet("C.v1=1", c.v1 = Result("1"));
    // v2: C get, E1 set
    expectGet("C.v2", c.v2);
    expectSet("E1.v2=2", c.v2 = Result("2"));
    // v3: E1 get, C set
    expectGet("E1.v3", c.v3);
    expectSet("C.v3=3", c.v3 = Result("3"));
    // v4: E1 get, E1 set
    expectGet("E1.v4", c.v4);
    expectSet("E1.v4=4", c.v4 = Result("4"));
    // v5: E1 get, E2 set
    expectGet("E1.v5", c.v5);
    expectSet("E2.v5=5", c.v5 = Result("5"));
  
    expectSet("C.v1=C.v1+1", c.v1++);
    expectSet("E1.v2=C.v2+1", c.v2++);
    expectSet("C.v3=E1.v3+1", c.v3++);
    expectSet("E1.v4=E1.v4+1", c.v4++);
    expectSet("E2.v5=E1.v5+1", c.v5++);
  
    expectSet("C.v1=C.v1+a", c.v1 += "a");
    expectSet("C.v1=C.v1-b", c.v1 -= "b");
  
    // Cascades work.
    expectSet(
        "E1.v4=E2.v4+[C.v1=[E1.v2=a]]",
        c
          ..v2 = Result("a")
          ..v1 = Result("[$lastSetter]")
          ..v4 += Result("[$lastSetter]"));
  
    // Override used by all accesses of read/write operations
    expectSet("E1.v1=E1.v1+1", E1(c).v1++);
    expectSet("E1.v2=E1.v2+1", E1(c).v2++);
    expectSet("E1.v3=E1.v3+1", E1(c).v3++);
  
negative.code:   expectSet("E1.v1=E1.v1+1", E1(c).v1 = E1(c).v1 + 1);
    expectSet("E1.v2=E1.v2+1", E1(c).v2 = E1(c).v2 + 1);
    expectSet("E1.v3=E1.v3+1", E1(c).v3 = E1(c).v3 + 1);
  
    // Cascades work.
    expectSet(
        "E1.v4=E1.v4+[C.v1=C.v1-[C.v3=a]]",
        c
          ..v3 = Result("a")
          ..v1 -= Result("[$lastSetter]")
          ..v4 += Result("[$lastSetter]"));
  }
  
  /// Expect the value of [result] to be the [expected] string
  