| Index: pkg/observe/lib/transformer.dart
|
| diff --git a/pkg/observe/lib/transformer.dart b/pkg/observe/lib/transformer.dart
|
| index 776cc3f4b326419b21991899c29d94c49f92c6f4..57f96ad532e331c4e92a5090bb782550d7ce16a1 100644
|
| --- a/pkg/observe/lib/transformer.dart
|
| +++ b/pkg/observe/lib/transformer.dart
|
| @@ -8,6 +8,7 @@ library observe.transformer;
|
|
|
| import 'dart:async';
|
|
|
| +import 'package:analyzer/analyzer.dart';
|
| import 'package:analyzer/src/generated/ast.dart';
|
| import 'package:analyzer/src/generated/error.dart';
|
| import 'package:analyzer/src/generated/parser.dart';
|
| @@ -84,7 +85,7 @@ class ObservableTransformer extends Transformer {
|
|
|
| TextEditTransaction _transformCompilationUnit(
|
| String inputCode, SourceFile sourceFile, TransformLogger logger) {
|
| - var unit = _parseCompilationUnit(inputCode);
|
| + var unit = parseCompilationUnit(inputCode, suppressErrors: true);
|
| var code = new TextEditTransaction(inputCode, sourceFile);
|
| for (var directive in unit.directives) {
|
| if (directive is LibraryDirective && _hasObservable(directive)) {
|
| @@ -109,21 +110,6 @@ TextEditTransaction _transformCompilationUnit(
|
| return code;
|
| }
|
|
|
| -/// Parse [code] using analyzer.
|
| -CompilationUnit _parseCompilationUnit(String code) {
|
| - var errorListener = new _ErrorCollector();
|
| - var reader = new CharSequenceReader(code);
|
| - var scanner = new Scanner(null, reader, errorListener);
|
| - var token = scanner.tokenize();
|
| - var parser = new Parser(null, errorListener);
|
| - return parser.parseCompilationUnit(token);
|
| -}
|
| -
|
| -class _ErrorCollector extends AnalysisErrorListener {
|
| - final errors = <AnalysisError>[];
|
| - onError(error) => errors.add(error);
|
| -}
|
| -
|
| _getSpan(SourceFile file, AstNode node) => file.span(node.offset, node.end);
|
|
|
| /// True if the node has the `@observable` or `@published` annotation.
|
|
|