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

Side by Side Diff: lib/src/codegen/dart_codegen.dart

Issue 1166683005: upgrade dependencies, including migration to package:test (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 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 unified diff | Download patch
« no previous file with comments | « no previous file | lib/src/options.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 dev_compiler.src.codegen.dart_codegen; 5 library dev_compiler.src.codegen.dart_codegen;
6 6
7 import 'dart:io' show File; 7 import 'dart:io' show File;
8 8
9 import 'package:analyzer/analyzer.dart' as analyzer; 9 import 'package:analyzer/analyzer.dart' as analyzer;
10 import 'package:analyzer/src/generated/ast.dart'; 10 import 'package:analyzer/src/generated/ast.dart';
11 import 'package:analyzer/src/generated/element.dart'; 11 import 'package:analyzer/src/generated/element.dart';
12 import 'package:analyzer/src/generated/java_core.dart' as java_core; 12 import 'package:analyzer/src/generated/java_core.dart' as java_core;
13 import 'package:analyzer/src/generated/scanner.dart' show Token; 13 import 'package:analyzer/src/generated/scanner.dart' show Token;
14 import 'package:dart_style/dart_style.dart';
15 import 'package:logging/logging.dart' as logger; 14 import 'package:logging/logging.dart' as logger;
16 import 'package:path/path.dart' as path; 15 import 'package:path/path.dart' as path;
17 16
18 import 'package:dev_compiler/devc.dart' show AbstractCompiler; 17 import 'package:dev_compiler/devc.dart' show AbstractCompiler;
19 import 'package:dev_compiler/src/info.dart'; 18 import 'package:dev_compiler/src/info.dart';
20 import 'package:dev_compiler/src/options.dart'; 19 import 'package:dev_compiler/src/options.dart';
21 import 'package:dev_compiler/src/utils.dart' as utils; 20 import 'package:dev_compiler/src/utils.dart' as utils;
22 import 'ast_builder.dart'; 21 import 'ast_builder.dart';
23 import 'code_generator.dart' as codegenerator; 22 import 'code_generator.dart' as codegenerator;
24 import 'reify_coercions.dart' 23 import 'reify_coercions.dart'
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 // TODO(leafp) This is kind of a hack, but it works for now. 87 // TODO(leafp) This is kind of a hack, but it works for now.
89 class FileWriter extends java_core.PrintStringWriter { 88 class FileWriter extends java_core.PrintStringWriter {
90 final CompilerOptions options; 89 final CompilerOptions options;
91 String _path; 90 String _path;
92 FileWriter(this.options, this._path); 91 FileWriter(this.options, this._path);
93 int indent = 0; 92 int indent = 0;
94 int withinInterpolationExpression = 0; 93 int withinInterpolationExpression = 0;
95 bool insideForLoop = false; 94 bool insideForLoop = false;
96 95
97 void print(x) { 96 void print(x) {
98 if (!options.cheapTestFormat) { 97 if (!options.formatOutput) {
99 super.print(x); 98 super.print(x);
100 return; 99 return;
101 } 100 }
102 101
103 switch (x) { 102 switch (x) {
104 case '{': 103 case '{':
105 indent++; 104 indent++;
106 x = '{\n${" " * indent}'; 105 x = '{\n${" " * indent}';
107 break; 106 break;
108 case ';': 107 case ';':
(...skipping 17 matching lines...) Expand all
126 indent--; 125 indent--;
127 x = '}\n${" " * indent}'; 126 x = '}\n${" " * indent}';
128 } 127 }
129 break; 128 break;
130 } 129 }
131 super.print(x); 130 super.print(x);
132 } 131 }
133 132
134 void finalize() { 133 void finalize() {
135 String s = toString(); 134 String s = toString();
136 if (options.formatOutput && !options.cheapTestFormat) {
137 DartFormatter d = new DartFormatter();
138 try {
139 _log.fine("Formatting file $_path ");
140 s = d.format(s, uri: _path);
141 } catch (e) {
142 _log.severe("Failed to format $_path: " + e.toString());
143 }
144 }
145 _log.fine("Writing file $_path"); 135 _log.fine("Writing file $_path");
146 new File(_path).writeAsStringSync(s); 136 new File(_path).writeAsStringSync(s);
147 } 137 }
148 } 138 }
149 139
150 bool _identifierNeedsQualification(Identifier id, NewTypeIdDesc desc) { 140 bool _identifierNeedsQualification(Identifier id, NewTypeIdDesc desc) {
151 var library = desc.importedFrom; 141 var library = desc.importedFrom;
152 if (library == null) return false; 142 if (library == null) return false;
153 if (library.isDartCore) return false; 143 if (library.isDartCore) return false;
154 if (desc.fromCurrent) return false; 144 if (desc.fromCurrent) return false;
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 void generateUnit(CompilationUnit unit, LibraryInfo info, String libraryDir) { 447 void generateUnit(CompilationUnit unit, LibraryInfo info, String libraryDir) {
458 var uri = unit.element.source.uri; 448 var uri = unit.element.source.uri;
459 _log.fine("Emitting original unit " + uri.toString()); 449 _log.fine("Emitting original unit " + uri.toString());
460 FileWriter out = new FileWriter( 450 FileWriter out = new FileWriter(
461 options, path.join(libraryDir, '${uri.pathSegments.last}')); 451 options, path.join(libraryDir, '${uri.pathSegments.last}'));
462 var unitGen = new EmptyUnitGenerator(unit, out); 452 var unitGen = new EmptyUnitGenerator(unit, out);
463 unitGen.generate(); 453 unitGen.generate();
464 out.finalize(); 454 out.finalize();
465 } 455 }
466 } 456 }
OLDNEW
« no previous file with comments | « no previous file | lib/src/options.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698