anchor.diff:    String toString() => element.name;
   
     @override
  -  String get _href =>
  -      '${library.fileName}/${_parameter.enclosingElement.name}.html';
  +  String get _href {
  +    var p = _parameter.enclosingElement;
  +
  +    if (p is FunctionElement) {
  +      return '${library.fileName}/${p.name}.html';
  +    } else {
  +      return '${library.fileName}/${p.enclosingElement.name}/' +
  +        '${Operator._rewriteOperatorName(p.name)}.html';
  +    }
  +  }
   }
   
   class TypeParameter extends ModelElement {
  
positive.code:   String get typeName => 'operator';
  
    @override
    String get _href {
      var h = super._href;
      var n = name;
      if (n == "[]" || n == "[]=") {
        var isSetter = n.endsWith("=");
        return (h.split("/")..removeLast()).join("/") + "/:brackets${isSetter ? '=' : ''}.html";
      } else {
        return h;
      }
    }
  }
  
  /// Getters and setters.
  
negative.code: 
    String get linkedReturnType => modelType.createLinkedReturnTypeName();
  
    String get fileName => "${name}.html";
  
    @override
    String get _href =>
        '${library.fileName}/${_method.enclosingElement.name}/${fileName}';
  }
  
  class Operator extends Method {
  