Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Unified Diff: pkg/observe/lib/transformer.dart

Issue 318983002: Use parseDirectives were possible. Also mark analyzer ready to be released. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698