anchor.diff:      return hash;
     }
   
  +  /// Returns a String representation of this message.
  +  ///
  +  /// This representation is similar to, but not quite, the Protocol Buffer
  +  /// TextFormat. Each field is printed on its own line. Sub-messages are
  +  /// indented two spaces farther than their parent messages.
  +  ///
  +  /// Note that this format is absolutely subject to change, and should only
  +  /// ever be used for debugging.
     String toString() => _toString('');
   
     String _toString(String indent) {
  
positive.code:     }
    }
  
    void clearField(int tagNumber) {
      _fieldValues.remove(tagNumber);
    }
  
negative.code:     return type;
    }
  
    /// Returns the base field type without any of the required, repeated
    /// and packed bits.
    int _toBaseFieldType(int fieldType) {
      return fieldType & ~(_REQUIRED_BIT | _REPEATED_BIT | _PACKED_BIT);
    }
  