| Index: pkg/compiler/lib/src/patch_parser.dart
 | 
| diff --git a/pkg/compiler/lib/src/patch_parser.dart b/pkg/compiler/lib/src/patch_parser.dart
 | 
| index bf2ae05b2bb9d1e60a1100713a392005c35b8e2f..0354586c1b27271904101b0ef7945763018a78fd 100644
 | 
| --- a/pkg/compiler/lib/src/patch_parser.dart
 | 
| +++ b/pkg/compiler/lib/src/patch_parser.dart
 | 
| @@ -134,14 +134,12 @@ import 'id_generator.dart';
 | 
|  import 'js_backend/js_backend.dart' show JavaScriptBackend;
 | 
|  import 'library_loader.dart' show LibraryLoader;
 | 
|  import 'parser/element_listener.dart' show ElementListener;
 | 
| -import 'parser/listener.dart' show Listener, ParserError;
 | 
| +import 'package:dart_parser/dart_parser.dart'
 | 
| +    show ClassMemberParser, Listener, Parser, ParserError, TopLevelParser;
 | 
|  import 'parser/member_listener.dart' show MemberListener;
 | 
| -import 'parser/parser.dart' show Parser;
 | 
|  import 'parser/partial_elements.dart' show PartialClassElement;
 | 
| -import 'parser/partial_parser.dart' show PartialParser;
 | 
| -import 'scanner/scanner.dart' show Scanner;
 | 
|  import 'script.dart';
 | 
| -import 'tokens/token.dart' show StringToken, Token;
 | 
| +import 'package:dart_scanner/dart_scanner.dart' show StringToken, Token;
 | 
|  
 | 
|  class PatchParserTask extends CompilerTask {
 | 
|    final String name = "Patching Parser";
 | 
| @@ -178,11 +176,11 @@ class PatchParserTask extends CompilerTask {
 | 
|      measure(() {
 | 
|        // TODO(johnniwinther): Test that parts and exports are handled correctly.
 | 
|        Script script = compilationUnit.script;
 | 
| -      Token tokens = new Scanner(script.file).tokenize();
 | 
| +      Token tokens = compiler.scanner.scanFile(script.file);
 | 
|        Listener patchListener = new PatchElementListener(
 | 
|            compiler, compilationUnit, compiler.idGenerator);
 | 
|        try {
 | 
| -        new PartialParser(patchListener).parseUnit(tokens);
 | 
| +        new TopLevelParser(patchListener).parseUnit(tokens);
 | 
|        } on ParserError catch (e) {
 | 
|          // No need to recover from a parser error in platform libraries, user
 | 
|          // will never see this if the libraries are tested correctly.
 | 
| @@ -199,7 +197,7 @@ class PatchParserTask extends CompilerTask {
 | 
|  
 | 
|      measure(() => reporter.withCurrentElement(cls, () {
 | 
|            MemberListener listener = new PatchMemberListener(compiler, cls);
 | 
| -          Parser parser = new PatchClassElementParser(listener);
 | 
| +          Parser parser = new ClassMemberParser(listener);
 | 
|            try {
 | 
|              Token token = parser.parseTopLevelDeclaration(cls.beginToken);
 | 
|              assert(identical(token, cls.endToken.next));
 | 
| @@ -245,16 +243,6 @@ class PatchMemberListener extends MemberListener {
 | 
|  }
 | 
|  
 | 
|  /**
 | 
| - * Partial parser for patch files that also handles the members of class
 | 
| - * declarations.
 | 
| - */
 | 
| -class PatchClassElementParser extends PartialParser {
 | 
| -  PatchClassElementParser(Listener listener) : super(listener);
 | 
| -
 | 
| -  Token parseClassBody(Token token) => fullParseClassBody(token);
 | 
| -}
 | 
| -
 | 
| -/**
 | 
|   * Extension of [ElementListener] for parsing patch files.
 | 
|   */
 | 
|  class PatchElementListener extends ElementListener implements Listener {
 | 
| 
 |