anchor.diff:    Parser parser;
   
     /**
  -   * Return a CommentAndMetadata object with the given values that can be used for testing.
  -   *
  -   * @param comment the comment to be wrapped in the object
  -   * @param annotations the annotations to be wrapped in the object
  -   * @return a CommentAndMetadata object that can be used for testing
  -   */
  -  CommentAndMetadata commentAndMetadata(Comment comment,
  -      [List<Annotation> annotations]) {
  -    return new CommentAndMetadata(comment, annotations);
  -  }
  -
  -  /**
      * Create the [parser] and [listener] used by a test. The [parser] will be
      * prepared to parse the tokens scanned from the given [content].
      */
  
positive.code:   }
  
    void test_parseFunctionDeclaration_setter() {
      Comment comment = astFactory.documentationComment(new List<Token>(0));
      TypeName returnType =
          astFactory.typeName(astFactory.simpleIdentifier(null), null);
      createParser('set p(v) {}');
      FunctionDeclaration declaration = parser.parseFunctionDeclaration(
          commentAndMetadata(comment), null, returnType);
      expectNotNullIfNoErrors(declaration);
      listener.assertNoErrors();
      expect(declaration.documentationComment, comment);
      expect(declaration.returnType, returnType);
      expect(declaration.name, isNotNull);
      FunctionExpression expression = declaration.functionExpression;
      expect(expression, isNotNull);
  
negative.code:   }
  
    void test_parseOperator() {
      createParser('/// Doc\nT operator +(A a);');
      MethodDeclaration method = parser.parseClassMember('C');
      expectNotNullIfNoErrors(method);
      listener.assertNoErrors();
      expect(method.body, isNotNull);
      _expectCommentText(method.documentationComment, '/// Doc');
      expect(method.externalKeyword, isNull);
      expect(method.modifierKeyword, isNull);
      expect(method.name, isNotNull);
  