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

Side by Side Diff: third_party/pkg/angular/lib/tools/expression_extractor.dart

Issue 256553002: Revert "Update all Angular libs (run update_all.sh)." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 library angular.tools.html_expression_extractor; 1 library angular.tools.html_expression_extractor;
2 2
3 import 'dart:async'; 3 import 'dart:async';
4 import 'dart:io'; 4 import 'dart:io';
5 import 'package:angular/tools/html_extractor.dart'; 5 import 'package:angular/tools/html_extractor.dart';
6 import 'package:angular/tools/source_metadata_extractor.dart'; 6 import 'package:angular/tools/source_metadata_extractor.dart';
7 import 'package:angular/tools/source_crawler_impl.dart'; 7 import 'package:angular/tools/source_crawler_impl.dart';
8 import 'package:angular/tools/io.dart'; 8 import 'package:angular/tools/io.dart';
9 import 'package:angular/tools/io_impl.dart'; 9 import 'package:angular/tools/io_impl.dart';
10 import 'package:angular/tools/common.dart'; 10 import 'package:angular/tools/common.dart';
11 11
12 import 'package:di/di.dart'; 12 import 'package:di/di.dart';
13 import 'package:di/dynamic_injector.dart'; 13 import 'package:di/dynamic_injector.dart';
14 14
15 import 'package:angular/core/module.dart';
15 import 'package:angular/core/parser/parser.dart'; 16 import 'package:angular/core/parser/parser.dart';
16 import 'package:angular/tools/parser_getter_setter/generator.dart'; 17 import 'package:angular/tools/parser_getter_setter/generator.dart';
18 import 'package:angular/tools/parser_generator/generator.dart';
17 19
18 main(args) { 20 main(args) {
19 if (args.length < 5) { 21 if (args.length < 5) {
20 print('Usage: expression_extractor file_to_scan html_root header_file ' 22 print('Usage: expression_extractor file_to_scan html_root header_file '
21 'footer_file output [package_roots+]'); 23 'footer_file output [package_roots+]');
22 exit(0); 24 exit(0);
23 } 25 }
24 IoService ioService = new IoServiceImpl(); 26 IoService ioService = new IoServiceImpl();
25 27
26 var packageRoots = 28 var packageRoots =
27 (args.length < 6) ? [Platform.packageRoot] : args.sublist(5); 29 (args.length < 6) ? [Platform.packageRoot] : args.sublist(5);
28 var sourceCrawler = new SourceCrawlerImpl(packageRoots); 30 var sourceCrawler = new SourceCrawlerImpl(packageRoots);
29 var sourceMetadataExtractor = new SourceMetadataExtractor(); 31 var sourceMetadataExtractor = new SourceMetadataExtractor();
30 List<DirectiveInfo> directives = 32 List<DirectiveInfo> directives =
31 sourceMetadataExtractor.gatherDirectiveInfo(args[0], sourceCrawler); 33 sourceMetadataExtractor.gatherDirectiveInfo(args[0], sourceCrawler);
32 var htmlExtractor = new HtmlExpressionExtractor(directives); 34 var htmlExtractor = new HtmlExpressionExtractor(directives);
33 htmlExtractor.crawl(args[1], ioService); 35 htmlExtractor.crawl(args[1], ioService);
34 36
35 var expressions = htmlExtractor.expressions; 37 var expressions = htmlExtractor.expressions;
36 expressions.add('null'); 38 expressions.add('null');
37 39
38 var headerFile = args[2]; 40 var headerFile = args[2];
39 var footerFile = args[3]; 41 var footerFile = args[3];
40 var outputFile = args[4]; 42 var outputFile = args[4];
41 var printer; 43 SourcePrinter printer;
42 if (outputFile == '--') { 44 if (outputFile == '--') {
43 printer = stdout; 45 printer = new SourcePrinter();
44 } else { 46 } else {
45 printer = new File(outputFile).openWrite(); 47 printer = new FileSourcePrinter(outputFile);
46 } 48 }
47 49
48 // Output the header file first. 50 // Output the header file first.
49 if (headerFile != '') { 51 if (headerFile != '') {
50 printer.write(_readFile(headerFile)); 52 printer.printSrc(_readFile(headerFile));
51 } 53 }
52 54
53 printer.write('// Found ${expressions.length} expressions\n'); 55 printer.printSrc('// Found ${expressions.length} expressions');
54 Module module = new Module() 56 Module module = new Module()
55 ..type(Parser, implementedBy: DynamicParser) 57 ..type(Parser, implementedBy: DynamicParser)
56 ..type(ParserBackend, implementedBy: DartGetterSetterGen); 58 ..type(ParserBackend, implementedBy: DartGetterSetterGen)
59 ..type(FilterMap, implementedBy: NullFilterMap)
60 ..value(SourcePrinter, printer);
57 Injector injector = 61 Injector injector =
58 new DynamicInjector(modules: [module], allowImplicitInjection: true); 62 new DynamicInjector(modules: [module], allowImplicitInjection: true);
59 63
60 runZoned(() { 64 runZoned(() {
61 // Run the generator. 65 // Run the generator.
62 injector.get(ParserGetterSetter).generateParser(htmlExtractor.expressions, 66 injector.get(ParserGetterSetter).generateParser(htmlExtractor.expressions);
63 printer);
64 }, zoneSpecification: new ZoneSpecification(print: (_, __, ___, String line) { 67 }, zoneSpecification: new ZoneSpecification(print: (_, __, ___, String line) {
65 printer.write(line); 68 printer.printSrc(line);
66 })); 69 }));
67 70
68 71
69 // Output footer last. 72 // Output footer last.
70 if (footerFile != '') { 73 if (footerFile != '') {
71 printer.write(_readFile(footerFile)); 74 printer.printSrc(_readFile(footerFile));
72 } 75 }
73 } 76 }
74 77
75 String _readFile(String filePath) => new File(filePath).readAsStringSync(); 78 String _readFile(String filePath) => new File(filePath).readAsStringSync();
79
80 class FileSourcePrinter implements SourcePrinter {
81 final File _file;
82
83 FileSourcePrinter(String filePath)
84 : _file = new File(filePath) {
85 // clear file
86 _file.writeAsStringSync('');
87 }
88
89 printSrc(src) => _file.writeAsStringSync('$src\n', mode: FileMode.APPEND);
90 }
OLDNEW
« no previous file with comments | « third_party/pkg/angular/lib/routing/routing.dart ('k') | third_party/pkg/angular/lib/tools/html_extractor.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698