anchor.diff:              if (member.hasSetter) addMember(member.setterReference!);
             } else if (member is Procedure) {
               SelectorInfo method = addMember(member.reference);
  -            if (method.tornOff &&
  +            if (selectorMetadata[method.id].tornOff &&
                   procedureAttributeMetadata[member]!.hasTearOffUses) {
                 addMember(member.tearOffReference);
               }
  
positive.code: 
    int get sortWeight => classIds.length * 10 + callCount;
  
    SelectorInfo(this.translator, this.id, this.callCount, this.tornOff,
        this.paramInfo, this.returnCount);
  
    /// Compute the signature for the functions implementing members targeted by
    /// this selector.
  
negative.code: 
      final selector = selectorInfo.putIfAbsent(
          selectorId,
          () => SelectorInfo(translator, selectorId,
              selectorMetadata[selectorId].callCount, paramInfo, returnCount));
      selector.paramInfo.merge(paramInfo);
      selector.returnCount = max(selector.returnCount, returnCount);
      selector.calledDynamically |= calledDynamically;
  