OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library fasta.parser.main; | 5 library fasta.parser.main; |
6 | 6 |
7 import 'dart:convert' show LineSplitter, UTF8; | 7 import 'dart:convert' show LineSplitter, UTF8; |
8 | 8 |
9 import 'dart:io' show File; | 9 import 'dart:io' show File; |
10 | 10 |
(...skipping 12 matching lines...) Expand all Loading... |
23 class DebugListener extends Listener { | 23 class DebugListener extends Listener { |
24 void handleIdentifier(Token token, IdentifierContext context) { | 24 void handleIdentifier(Token token, IdentifierContext context) { |
25 logEvent("Identifier: ${token.value}"); | 25 logEvent("Identifier: ${token.value}"); |
26 } | 26 } |
27 | 27 |
28 void logEvent(String name) { | 28 void logEvent(String name) { |
29 print(name); | 29 print(name); |
30 } | 30 } |
31 } | 31 } |
32 | 32 |
33 main(List<String> arguments) async { | 33 mainEntryPoint(List<String> arguments) async { |
34 for (String argument in arguments) { | 34 for (String argument in arguments) { |
35 if (argument.startsWith("@")) { | 35 if (argument.startsWith("@")) { |
36 Uri uri = Uri.base.resolve(argument.substring(1)); | 36 Uri uri = Uri.base.resolve(argument.substring(1)); |
37 await for (String file in new File.fromUri(uri) | 37 await for (String file in new File.fromUri(uri) |
38 .openRead() | 38 .openRead() |
39 .transform(UTF8.decoder) | 39 .transform(UTF8.decoder) |
40 .transform(const LineSplitter())) { | 40 .transform(const LineSplitter())) { |
41 outLine(uri.resolve(file)); | 41 outLine(uri.resolve(file)); |
42 } | 42 } |
43 } else { | 43 } else { |
44 outLine(Uri.base.resolve(argument)); | 44 outLine(Uri.base.resolve(argument)); |
45 } | 45 } |
46 } | 46 } |
47 } | 47 } |
48 | 48 |
49 void outLine(Uri uri) { | 49 void outLine(Uri uri) { |
50 new TopLevelParser(new DebugListener()) | 50 new TopLevelParser(new DebugListener()) |
51 .parseUnit(scan(readBytesFromFileSync(uri)).tokens); | 51 .parseUnit(scan(readBytesFromFileSync(uri)).tokens); |
52 } | 52 } |
OLD | NEW |