anchor.diff:  
     @override
     Object visitTypeParameter(TypeParameter node) {
  -    SimpleIdentifier parameterName = node.name;
  -    Element element = null;
  -    if (_enclosingExecutable != null) {
  -      element = _findIdentifier(
  -          _enclosingExecutable.typeParameters, parameterName,
  -          required: false);
  -    }
  -    if (element == null) {
  -      if (_enclosingClass != null) {
  -        element =
  -            _findIdentifier(_enclosingClass.typeParameters, parameterName);
  -      } else if (_enclosingAlias != null) {
  -        element =
  -            _findIdentifier(_enclosingAlias.typeParameters, parameterName);
  -      }
  -    }
  -    if (element == null) {
  -      String name = parameterName.name;
  -      int offset = parameterName.offset;
  -      _mismatch(
  -          'Could not find type parameter with name "$name" at $offset', node);
  -    }
  +    Element element = _match(node.name, _walker.getTypeParameter());
       super.visitTypeParameter(node);
       _resolveMetadata(node, node.metadata, element);
       return null;
  
positive.code:   @override
    Object visitFieldFormalParameter(FieldFormalParameter node) {
      if (node.parent is! DefaultFormalParameter) {
        SimpleIdentifier parameterName = node.identifier;
        ParameterElement element = _getElementForParameter(node, parameterName);
        ParameterElement outerParameter = _enclosingParameter;
        try {
          _enclosingParameter = element;
          super.visitFieldFormalParameter(node);
          _resolveMetadata(node, node.metadata, element);
          return null;
        } finally {
          _enclosingParameter = outerParameter;
        }
      } else {
        return super.visitFieldFormalParameter(node);
      }
  
negative.code: 
    @override
    Object visitDefaultFormalParameter(DefaultFormalParameter node) {
      ParameterElement element =
          _match(node.parameter.identifier, _walker.getParameter());
      Expression defaultValue = node.defaultValue;
      if (defaultValue != null) {
        _walk(new ElementWalker.forExecutable(element.initializer), () {
          defaultValue.accept(this);
        });
      }
      _walk(new ElementWalker.forParameter(element), () {
        super.visitDefaultFormalParameter(node);
      });
      _resolveMetadata(node, node.metadata, element);
      return null;
    }
  
    @override
    Object visitEnumDeclaration(EnumDeclaration node) {
      ClassElement element = _match(node.name, _walker.getEnum());
      _walk(new ElementWalker.forClass(element), () {
        for (EnumConstantDeclaration constant in node.constants) {
          _match(constant.name, _walker.getVariable());
        }
        super.visitEnumDeclaration(node);
      });
      _resolveMetadata(node, node.metadata, element);
      return null;
    }
  
  