| 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. | 
|  |