anchor.diff:  
     _makeWrite(Expression value, bool voidContext) {
       return variable.isFinal || variable.isConst
  -        ? wrapInvalid(value)
  +        ? makeInvalidWrite(value)
           : new VariableSet(variable, value);
     }
   }
  
positive.code:   SuperPropertyAccessor(this.readTarget, this.writeTarget);
  
    _makeRead() => readTarget == null
        ? new InvalidExpression()
        : new SuperPropertyGet(readTarget);
  
    _makeWrite(Expression value, bool voidContext) {
      return writeTarget == null
          ? wrapInvalid(value)
          : new SuperPropertySet(writeTarget, value);
    }
  }
  
negative.code:   StaticAccessor(this.readTarget, this.writeTarget);
  
    _makeRead() =>
        readTarget == null ? makeInvalidRead() : new StaticGet(readTarget);
  
    _makeWrite(Expression value, bool voidContext) {
      return writeTarget == null
          ? makeInvalidWrite(value)
          : new StaticSet(writeTarget, value);
    }
  }
  