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

Side by Side Diff: tests/compiler/dart2js/memory_compiler.dart

Issue 2345083003: dart2js: run dartfmt on tests (Closed)
Patch Set: revert another multipart test Created 4 years, 3 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
OLDNEW
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 dart2js.test.memory_compiler; 5 library dart2js.test.memory_compiler;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:compiler/compiler.dart' show 9 import 'package:compiler/compiler.dart' show DiagnosticHandler;
10 DiagnosticHandler; 10 import 'package:compiler/compiler_new.dart'
11 import 'package:compiler/compiler_new.dart' show 11 show
12 CompilationResult, 12 CompilationResult,
13 CompilerDiagnostics, 13 CompilerDiagnostics,
14 CompilerOutput, 14 CompilerOutput,
15 Diagnostic, 15 Diagnostic,
16 PackagesDiscoveryProvider; 16 PackagesDiscoveryProvider;
17 import 'package:compiler/src/diagnostics/messages.dart' show 17 import 'package:compiler/src/diagnostics/messages.dart' show Message;
18 Message; 18 import 'package:compiler/src/null_compiler_output.dart' show NullCompilerOutput;
19 import 'package:compiler/src/null_compiler_output.dart' show 19 import 'package:compiler/src/library_loader.dart' show LoadedLibraries;
20 NullCompilerOutput; 20 import 'package:compiler/src/options.dart' show CompilerOptions;
21 import 'package:compiler/src/library_loader.dart' show
22 LoadedLibraries;
23 import 'package:compiler/src/options.dart' show
24 CompilerOptions;
25 21
26 import 'memory_source_file_helper.dart'; 22 import 'memory_source_file_helper.dart';
27 23
28 export 'output_collector.dart'; 24 export 'output_collector.dart';
29 export 'package:compiler/compiler_new.dart' show 25 export 'package:compiler/compiler_new.dart' show CompilationResult;
30 CompilationResult;
31 export 'diagnostic_helper.dart'; 26 export 'diagnostic_helper.dart';
32 27
33 class MultiDiagnostics implements CompilerDiagnostics { 28 class MultiDiagnostics implements CompilerDiagnostics {
34 final List<CompilerDiagnostics> diagnosticsList; 29 final List<CompilerDiagnostics> diagnosticsList;
35 30
36 const MultiDiagnostics([this.diagnosticsList = const []]); 31 const MultiDiagnostics([this.diagnosticsList = const []]);
37 32
38 @override 33 @override
39 void report(Message message, Uri uri, int begin, int end, 34 void report(Message message, Uri uri, int begin, int end, String text,
40 String text, Diagnostic kind) { 35 Diagnostic kind) {
41 for (CompilerDiagnostics diagnostics in diagnosticsList) { 36 for (CompilerDiagnostics diagnostics in diagnosticsList) {
42 diagnostics.report(message, uri, begin, end, text, kind); 37 diagnostics.report(message, uri, begin, end, text, kind);
43 } 38 }
44 } 39 }
45 } 40 }
46 41
47 CompilerDiagnostics createCompilerDiagnostics( 42 CompilerDiagnostics createCompilerDiagnostics(
48 CompilerDiagnostics diagnostics, 43 CompilerDiagnostics diagnostics, SourceFileProvider provider,
49 SourceFileProvider provider, 44 {bool showDiagnostics: true, bool verbose: false}) {
50 {bool showDiagnostics: true,
51 bool verbose: false}) {
52 CompilerDiagnostics handler = diagnostics; 45 CompilerDiagnostics handler = diagnostics;
53 if (showDiagnostics) { 46 if (showDiagnostics) {
54 if (diagnostics == null) { 47 if (diagnostics == null) {
55 handler = new FormattingDiagnosticHandler(provider)..verbose = verbose; 48 handler = new FormattingDiagnosticHandler(provider)..verbose = verbose;
56 } else { 49 } else {
57 var formattingHandler = 50 var formattingHandler = new FormattingDiagnosticHandler(provider)
58 new FormattingDiagnosticHandler(provider)..verbose = verbose; 51 ..verbose = verbose;
59 handler = new MultiDiagnostics([diagnostics, formattingHandler]); 52 handler = new MultiDiagnostics([diagnostics, formattingHandler]);
60 } 53 }
61 } else if (diagnostics == null) { 54 } else if (diagnostics == null) {
62 handler = new MultiDiagnostics(); 55 handler = new MultiDiagnostics();
63 } 56 }
64 return handler; 57 return handler;
65 } 58 }
66 59
67 Expando<MemorySourceFileProvider> expando = 60 Expando<MemorySourceFileProvider> expando =
68 new Expando<MemorySourceFileProvider>(); 61 new Expando<MemorySourceFileProvider>();
69 62
70 Future<CompilationResult> runCompiler( 63 Future<CompilationResult> runCompiler(
71 {Map<String, String> memorySourceFiles: const <String, String>{}, 64 {Map<String, String> memorySourceFiles: const <String, String>{},
72 Uri entryPoint, 65 Uri entryPoint,
73 List<Uri> entryPoints, 66 List<Uri> entryPoints,
74 List<Uri> resolutionInputs, 67 List<Uri> resolutionInputs,
75 CompilerDiagnostics diagnosticHandler, 68 CompilerDiagnostics diagnosticHandler,
76 CompilerOutput outputProvider, 69 CompilerOutput outputProvider,
77 List<String> options: const <String>[], 70 List<String> options: const <String>[],
78 CompilerImpl cachedCompiler, 71 CompilerImpl cachedCompiler,
79 bool showDiagnostics: true, 72 bool showDiagnostics: true,
80 Uri packageRoot, 73 Uri packageRoot,
81 Uri packageConfig, 74 Uri packageConfig,
82 PackagesDiscoveryProvider packagesDiscoveryProvider, 75 PackagesDiscoveryProvider packagesDiscoveryProvider,
83 void beforeRun(CompilerImpl compiler)}) async { 76 void beforeRun(CompilerImpl compiler)}) async {
84 if (entryPoint == null) { 77 if (entryPoint == null) {
85 entryPoint = Uri.parse('memory:main.dart'); 78 entryPoint = Uri.parse('memory:main.dart');
86 } 79 }
87 CompilerImpl compiler = compilerFor( 80 CompilerImpl compiler = compilerFor(
88 entryPoint: entryPoint, 81 entryPoint: entryPoint,
89 resolutionInputs: resolutionInputs, 82 resolutionInputs: resolutionInputs,
90 memorySourceFiles: memorySourceFiles, 83 memorySourceFiles: memorySourceFiles,
91 diagnosticHandler: diagnosticHandler, 84 diagnosticHandler: diagnosticHandler,
92 outputProvider: outputProvider, 85 outputProvider: outputProvider,
93 options: options, 86 options: options,
94 cachedCompiler: cachedCompiler, 87 cachedCompiler: cachedCompiler,
95 showDiagnostics: showDiagnostics, 88 showDiagnostics: showDiagnostics,
96 packageRoot: packageRoot, 89 packageRoot: packageRoot,
97 packageConfig: packageConfig, 90 packageConfig: packageConfig,
98 packagesDiscoveryProvider: packagesDiscoveryProvider); 91 packagesDiscoveryProvider: packagesDiscoveryProvider);
99 compiler.librariesToAnalyzeWhenRun = entryPoints; 92 compiler.librariesToAnalyzeWhenRun = entryPoints;
100 if (beforeRun != null) { 93 if (beforeRun != null) {
101 beforeRun(compiler); 94 beforeRun(compiler);
102 } 95 }
103 bool isSuccess = await compiler.run(entryPoint); 96 bool isSuccess = await compiler.run(entryPoint);
104 return new CompilationResult(compiler, isSuccess: isSuccess); 97 return new CompilationResult(compiler, isSuccess: isSuccess);
105 } 98 }
106 99
107 CompilerImpl compilerFor( 100 CompilerImpl compilerFor(
108 {Uri entryPoint, 101 {Uri entryPoint,
109 List<Uri> resolutionInputs, 102 List<Uri> resolutionInputs,
110 Map<String, String> memorySourceFiles: const <String, String>{}, 103 Map<String, String> memorySourceFiles: const <String, String>{},
111 CompilerDiagnostics diagnosticHandler, 104 CompilerDiagnostics diagnosticHandler,
112 CompilerOutput outputProvider, 105 CompilerOutput outputProvider,
113 List<String> options: const <String>[], 106 List<String> options: const <String>[],
114 CompilerImpl cachedCompiler, 107 CompilerImpl cachedCompiler,
115 bool showDiagnostics: true, 108 bool showDiagnostics: true,
116 Uri packageRoot, 109 Uri packageRoot,
117 Uri packageConfig, 110 Uri packageConfig,
118 PackagesDiscoveryProvider packagesDiscoveryProvider}) { 111 PackagesDiscoveryProvider packagesDiscoveryProvider}) {
119 Uri libraryRoot = Uri.base.resolve('sdk/'); 112 Uri libraryRoot = Uri.base.resolve('sdk/');
120 if (packageRoot == null && 113 if (packageRoot == null &&
121 packageConfig == null && 114 packageConfig == null &&
122 packagesDiscoveryProvider == null) { 115 packagesDiscoveryProvider == null) {
123 if (Platform.packageRoot != null) { 116 if (Platform.packageRoot != null) {
124 packageRoot = Uri.base.resolve(Platform.packageRoot); 117 packageRoot = Uri.base.resolve(Platform.packageRoot);
125 } else if (Platform.packageConfig != null) { 118 } else if (Platform.packageConfig != null) {
126 packageConfig = Uri.base.resolve(Platform.packageConfig); 119 packageConfig = Uri.base.resolve(Platform.packageConfig);
127 } else { 120 } else {
128 // The tests are run with the base directory as the SDK root 121 // The tests are run with the base directory as the SDK root
129 // so just use the .packages file there. 122 // so just use the .packages file there.
130 packageConfig = Uri.base.resolve('.packages'); 123 packageConfig = Uri.base.resolve('.packages');
131 } 124 }
132 } 125 }
133 126
134 MemorySourceFileProvider provider; 127 MemorySourceFileProvider provider;
135 if (cachedCompiler == null) { 128 if (cachedCompiler == null) {
136 provider = new MemorySourceFileProvider(memorySourceFiles); 129 provider = new MemorySourceFileProvider(memorySourceFiles);
137 // Saving the provider in case we need it later for a cached compiler. 130 // Saving the provider in case we need it later for a cached compiler.
138 expando[provider] = provider; 131 expando[provider] = provider;
139 } else { 132 } else {
140 // When using a cached compiler, it has read a number of files from disk 133 // When using a cached compiler, it has read a number of files from disk
141 // already (and will not attempt to read them again due to caching). These 134 // already (and will not attempt to read them again due to caching). These
142 // files must be available to the new diagnostic handler. 135 // files must be available to the new diagnostic handler.
143 provider = expando[cachedCompiler.provider]; 136 provider = expando[cachedCompiler.provider];
144 provider.memorySourceFiles = memorySourceFiles; 137 provider.memorySourceFiles = memorySourceFiles;
145 } 138 }
146 diagnosticHandler = createCompilerDiagnostics( 139 diagnosticHandler = createCompilerDiagnostics(diagnosticHandler, provider,
147 diagnosticHandler, provider,
148 showDiagnostics: showDiagnostics, 140 showDiagnostics: showDiagnostics,
149 verbose: options.contains('-v') || options.contains('--verbose')); 141 verbose: options.contains('-v') || options.contains('--verbose'));
150 142
151 if (outputProvider == null) { 143 if (outputProvider == null) {
152 outputProvider = const NullCompilerOutput(); 144 outputProvider = const NullCompilerOutput();
153 } 145 }
154 146
155 CompilerImpl compiler = new CompilerImpl( 147 CompilerImpl compiler = new CompilerImpl(
156 provider, 148 provider,
157 outputProvider, 149 outputProvider,
(...skipping 22 matching lines...) Expand all
180 compiler.onLibraryCreated(patchLibrary); 172 compiler.onLibraryCreated(patchLibrary);
181 compiler.onLibraryScanned(patchLibrary, null); 173 compiler.onLibraryScanned(patchLibrary, null);
182 } 174 }
183 copiedLibraries[library.canonicalUri] = library; 175 copiedLibraries[library.canonicalUri] = library;
184 } 176 }
185 }); 177 });
186 // TODO(johnniwinther): Assert that no libraries are loaded lazily from 178 // TODO(johnniwinther): Assert that no libraries are loaded lazily from
187 // this call. 179 // this call.
188 compiler.onLibrariesLoaded(new MemoryLoadedLibraries(copiedLibraries)); 180 compiler.onLibrariesLoaded(new MemoryLoadedLibraries(copiedLibraries));
189 181
190 compiler.backend.constantCompilerTask.copyConstantValues( 182 compiler.backend.constantCompilerTask
191 cachedCompiler.backend.constantCompilerTask); 183 .copyConstantValues(cachedCompiler.backend.constantCompilerTask);
192 184
193 Iterable cachedTreeElements = 185 Iterable cachedTreeElements =
194 cachedCompiler.enqueuer.resolution.processedElements; 186 cachedCompiler.enqueuer.resolution.processedElements;
195 cachedTreeElements.forEach((element) { 187 cachedTreeElements.forEach((element) {
196 if (element.library.isPlatformLibrary) { 188 if (element.library.isPlatformLibrary) {
197 compiler.enqueuer.resolution.registerProcessedElement(element); 189 compiler.enqueuer.resolution.registerProcessedElement(element);
198 } 190 }
199 }); 191 });
200 192
201 // One potential problem that can occur when reusing elements is that there 193 // One potential problem that can occur when reusing elements is that there
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 @override 226 @override
235 void forEachLibrary(f) {} 227 void forEachLibrary(f) {}
236 228
237 @override 229 @override
238 getLibrary(Uri uri) => copiedLibraries[uri]; 230 getLibrary(Uri uri) => copiedLibraries[uri];
239 231
240 @override 232 @override
241 Uri get rootUri => null; 233 Uri get rootUri => null;
242 } 234 }
243 235
244
245 DiagnosticHandler createDiagnosticHandler(DiagnosticHandler diagnosticHandler, 236 DiagnosticHandler createDiagnosticHandler(DiagnosticHandler diagnosticHandler,
246 SourceFileProvider provider, 237 SourceFileProvider provider, bool showDiagnostics) {
247 bool showDiagnostics) {
248 var handler = diagnosticHandler; 238 var handler = diagnosticHandler;
249 if (showDiagnostics) { 239 if (showDiagnostics) {
250 if (diagnosticHandler == null) { 240 if (diagnosticHandler == null) {
251 handler = new FormattingDiagnosticHandler(provider); 241 handler = new FormattingDiagnosticHandler(provider);
252 } else { 242 } else {
253 var formattingHandler = new FormattingDiagnosticHandler(provider); 243 var formattingHandler = new FormattingDiagnosticHandler(provider);
254 handler = (Uri uri, int begin, int end, String message, Diagnostic kind) { 244 handler = (Uri uri, int begin, int end, String message, Diagnostic kind) {
255 diagnosticHandler(uri, begin, end, message, kind); 245 diagnosticHandler(uri, begin, end, message, kind);
256 formattingHandler(uri, begin, end, message, kind); 246 formattingHandler(uri, begin, end, message, kind);
257 }; 247 };
258 } 248 }
259 } else if (diagnosticHandler == null) { 249 } else if (diagnosticHandler == null) {
260 handler = (Uri uri, int begin, int end, String message, Diagnostic kind) {}; 250 handler = (Uri uri, int begin, int end, String message, Diagnostic kind) {};
261 } 251 }
262 return handler; 252 return handler;
263 } 253 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/members_test.dart ('k') | tests/compiler/dart2js/memory_source_file_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698