anchor.diff:      this.m2;
       //   ^^
       // [analyzer] STATIC_TYPE_WARNING.UNDEFINED_GETTER
  +    // [cfe] unspecified
  +
  +    this[0] = 0;
  +    this[0];
  +    //   ^^
  +    // [analyzer] unspecified
  +    // [cfe] unspecified
  +
  +    this[0] += 0;
  +    //   ^^
  +    // [analyzer] unspecified
  +    // [cfe] unspecified
  +
  +    this[0] ++;
  +    //   ^^
  +    // [analyzer] unspecified
       // [cfe] unspecified
   
       // Check that `this.mc` refers to `C2.mc`.
  
positive.code: extension E1A<T> on C1<T> {
    int get m1 => 0;
    void set m2(int x) {}
  }
  
  extension E1B on C1<Object> {
    void set m1(int x) {}
    int get m2 => 0;
  }
  
  void test1() {
  
negative.code: 
    c1a.m2 = 0;
  
    c1a[0] = 0;
    //  ^^
    // [analyzer] unspecified
    // [cfe] unspecified
  
    c1a[0] += 0;
    //  ^^
    // [analyzer] unspecified
    // [cfe] unspecified
  
    c1a[0]++;
    //  ^^
    // [analyzer] unspecified
    // [cfe] unspecified
  
    c1a[0];
  
    C1<Object> c1b = C1<Null>(); // Neither extension is more specific.
  
    c1b.m1;
  