anchor.diff:              patchMember.offset);
         }
       }
  -    // Append new top-level declarations.
  -    Token lastToken = baseClass.endToken.previous;
  -    for (ClassMember newMember in membersToAppend) {
  -      newMember.endToken.setNext(lastToken.next);
  -      lastToken.setNext(newMember.beginToken);
  -      baseClass.members.add(newMember);
  -      lastToken = newMember.endToken;
  -    }
  +    // Append new class members.
  +    _appendToNodeList(
  +        baseClass.members, membersToAppend, baseClass.leftBracket);
     }
   
     void _patchDirectives(
  
positive.code:     CompilationUnit unit = parser.parseCompilationUnit(token);
      unit.lineInfo = lineInfo;
      return unit;
    }
  
    /**
  
negative.code:       }
      }
      // Append new top-level declarations.
      _appendToNodeList(baseUnit.declarations, declarationsToAppend,
          baseUnit.endToken.previous);
    }
  
    /**
  