anchor.diff:  
     ClassHierarchy createClassHierarchy(Program program);
   
  -  Procedure newEmptyMethod(String name, {bool abstract: false}) {
  -    var body = abstract ? null : new Block([]);
  +  Procedure newEmptyMethod(String name, {bool isAbstract: false}) {
  +    var body = isAbstract ? null : new Block([]);
       return new Procedure(new Name(name), ProcedureKind.Method,
  -        new FunctionNode(body, returnType: const VoidType()));
  +        new FunctionNode(body, returnType: const VoidType()),
  +        isAbstract: isAbstract);
     }
   
     Procedure newEmptySetter(String name, {bool abstract: false}) {
  
positive.code:   method bar() → void {}
  }
  class B extends self::A {
    method foo() → void;
  }
  class C extends self::A implements self::B {}
  class D {}
  
negative.code:     var b = addClass(new Class(
          name: 'B',
          supertype: a.asThisSupertype,
          procedures: [newEmptyMethod('foo', isAbstract: true)]));
  
      _assertTestLibraryText('''
  class A {
  