Use parseString() API instead of internal Parser. (#2010)
diff --git a/tool/parse.dart b/tool/parse.dart
index 1f4d38b..5cc6696 100644
--- a/tool/parse.dart
+++ b/tool/parse.dart
@@ -2,44 +2,11 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+import 'package:analyzer/dart/analysis/utilities.dart';
import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/error/error.dart';
-import 'package:analyzer/error/listener.dart';
-import 'package:analyzer/src/generated/parser.dart';
-import 'package:analyzer/src/string_source.dart';
-
-import 'package:analyzer/src/dart/scanner/reader.dart';
-import 'package:analyzer/src/dart/scanner/scanner.dart';
import 'package:meta/meta.dart';
-class _ErrorListener implements AnalysisErrorListener {
- final errors = <AnalysisError>[];
-
- @override
- void onError(AnalysisError error) {
- errors.add(error);
- }
-
- void throwIfErrors() {
- if (errors.isNotEmpty) {
- throw Exception(errors);
- }
- }
-}
-
class CompilationUnitParser {
- CompilationUnit parse({@required String contents, @required String name}) {
- var reader = CharSequenceReader(contents);
- var stringSource = StringSource(contents, name);
- var errorListener = _ErrorListener();
- var scanner = Scanner(stringSource, reader, errorListener);
- var startToken = scanner.tokenize();
- errorListener.throwIfErrors();
-
- var parser = Parser(stringSource, errorListener, featureSet: null);
- var cu = parser.parseCompilationUnit(startToken);
- errorListener.throwIfErrors();
-
- return cu;
- }
+ CompilationUnit parse({@required String contents, @required String name}) =>
+ parseString(content: contents, path: name).unit;
}