| OLD | NEW |
| 1 #!/usr/bin/env dart | 1 #!/usr/bin/env dart |
| 2 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 2 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 3 // for details. All rights reserved. Use of this source code is governed by a | 3 // for details. All rights reserved. Use of this source code is governed by a |
| 4 // BSD-style license that can be found in the LICENSE file. | 4 // BSD-style license that can be found in the LICENSE file. |
| 5 | 5 |
| 6 import 'dart:io'; | 6 import 'dart:io'; |
| 7 | 7 |
| 8 import 'package:analyzer/src/generated/ast.dart'; | 8 import 'package:analyzer/dart/ast/ast.dart'; |
| 9 import 'package:analyzer/src/generated/error.dart'; | 9 import 'package:analyzer/dart/ast/visitor.dart'; |
| 10 import 'package:analyzer/error/error.dart'; |
| 11 import 'package:analyzer/error/listener.dart'; |
| 12 import 'package:analyzer/src/dart/scanner/reader.dart'; |
| 13 import 'package:analyzer/src/dart/scanner/scanner.dart'; |
| 10 import 'package:analyzer/src/generated/parser.dart'; | 14 import 'package:analyzer/src/generated/parser.dart'; |
| 11 import 'package:analyzer/src/generated/scanner.dart'; | |
| 12 | 15 |
| 13 main(List<String> args) { | 16 main(List<String> args) { |
| 14 print('working dir ${new File('.').resolveSymbolicLinksSync()}'); | 17 print('working dir ${new File('.').resolveSymbolicLinksSync()}'); |
| 15 | 18 |
| 16 if (args.length == 0) { | 19 if (args.length == 0) { |
| 17 print('Usage: parser_driver [files_to_parse]'); | 20 print('Usage: parser_driver [files_to_parse]'); |
| 18 exit(0); | 21 exit(0); |
| 19 } | 22 } |
| 20 | 23 |
| 21 for (var arg in args) { | 24 for (var arg in args) { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 34 | 37 |
| 35 var visitor = new _ASTVisitor(); | 38 var visitor = new _ASTVisitor(); |
| 36 unit.accept(visitor); | 39 unit.accept(visitor); |
| 37 | 40 |
| 38 for (var error in errorListener.errors) { | 41 for (var error in errorListener.errors) { |
| 39 print(error); | 42 print(error); |
| 40 } | 43 } |
| 41 } | 44 } |
| 42 | 45 |
| 43 class _ASTVisitor extends GeneralizingAstVisitor { | 46 class _ASTVisitor extends GeneralizingAstVisitor { |
| 47 @override |
| 44 visitNode(AstNode node) { | 48 visitNode(AstNode node) { |
| 45 print('${node.runtimeType} : <"$node">'); | 49 print('${node.runtimeType} : <"$node">'); |
| 46 return super.visitNode(node); | 50 return super.visitNode(node); |
| 47 } | 51 } |
| 48 } | 52 } |
| 49 | 53 |
| 50 class _ErrorCollector extends AnalysisErrorListener { | 54 class _ErrorCollector extends AnalysisErrorListener { |
| 51 List<AnalysisError> errors; | 55 List<AnalysisError> errors; |
| 52 _ErrorCollector() : errors = new List<AnalysisError>(); | 56 _ErrorCollector() : errors = new List<AnalysisError>(); |
| 57 @override |
| 53 onError(error) => errors.add(error); | 58 onError(error) => errors.add(error); |
| 54 } | 59 } |
| OLD | NEW |