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

Side by Side Diff: pkg/analysis_server/test/mock_sdk.dart

Issue 2547953002: Only generate summaries in tests when necessary (Closed)
Patch Set: Created 4 years 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 | pkg/analyzer/test/src/context/mock_sdk.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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 testing.mock_sdk; 5 library testing.mock_sdk;
6 6
7 import 'package:analyzer/file_system/file_system.dart' as resource; 7 import 'package:analyzer/file_system/file_system.dart' as resource;
8 import 'package:analyzer/file_system/memory_file_system.dart' as resource; 8 import 'package:analyzer/file_system/memory_file_system.dart' as resource;
9 import 'package:analyzer/src/context/context.dart'; 9 import 'package:analyzer/src/context/context.dart';
10 import 'package:analyzer/src/generated/engine.dart'; 10 import 'package:analyzer/src/generated/engine.dart';
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 /** 262 /**
263 * The [AnalysisContext] which is used for all of the sources. 263 * The [AnalysisContext] which is used for all of the sources.
264 */ 264 */
265 InternalAnalysisContext _analysisContext; 265 InternalAnalysisContext _analysisContext;
266 266
267 /** 267 /**
268 * The cached linked bundle of the SDK. 268 * The cached linked bundle of the SDK.
269 */ 269 */
270 PackageBundle _bundle; 270 PackageBundle _bundle;
271 271
272 MockSdk({resource.ResourceProvider resourceProvider}) 272 MockSdk(
273 {bool generateSummaryFiles: false,
274 resource.ResourceProvider resourceProvider})
273 : provider = resourceProvider ?? new resource.MemoryResourceProvider() { 275 : provider = resourceProvider ?? new resource.MemoryResourceProvider() {
274 LIBRARIES.forEach((SdkLibrary library) { 276 LIBRARIES.forEach((SdkLibrary library) {
275 provider.newFile(library.path, (library as MockSdkLibrary).content); 277 provider.newFile(library.path, (library as MockSdkLibrary).content);
276 }); 278 });
277 provider.newFile( 279 provider.newFile(
278 provider.convertPath( 280 provider.convertPath(
279 '/lib/_internal/sdk_library_metadata/lib/libraries.dart'), 281 '/lib/_internal/sdk_library_metadata/lib/libraries.dart'),
280 librariesContent); 282 librariesContent);
281 List<int> bytes = _computeLinkedBundleBytes(); 283 if (generateSummaryFiles) {
282 provider.newFileWithBytes( 284 List<int> bytes = _computeLinkedBundleBytes();
283 provider.convertPath('/lib/_internal/spec.sum'), bytes); 285 provider.newFileWithBytes(
284 provider.newFileWithBytes( 286 provider.convertPath('/lib/_internal/spec.sum'), bytes);
285 provider.convertPath('/lib/_internal/strong.sum'), bytes); 287 provider.newFileWithBytes(
288 provider.convertPath('/lib/_internal/strong.sum'), bytes);
289 }
286 } 290 }
287 291
288 @override 292 @override
289 AnalysisContext get context { 293 AnalysisContext get context {
290 if (_analysisContext == null) { 294 if (_analysisContext == null) {
291 _analysisContext = new SdkAnalysisContext(null); 295 _analysisContext = new SdkAnalysisContext(null);
292 SourceFactory factory = new SourceFactory([new DartUriResolver(this)]); 296 SourceFactory factory = new SourceFactory([new DartUriResolver(this)]);
293 _analysisContext.sourceFactory = factory; 297 _analysisContext.sourceFactory = factory;
294 } 298 }
295 return _analysisContext; 299 return _analysisContext;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 return null; 345 return null;
342 } 346 }
343 } 347 }
344 } 348 }
345 return null; 349 return null;
346 } 350 }
347 351
348 @override 352 @override
349 PackageBundle getLinkedBundle() { 353 PackageBundle getLinkedBundle() {
350 if (_bundle == null) { 354 if (_bundle == null) {
351 _bundle = new PackageBundle.fromBuffer(_computeLinkedBundleBytes()); 355 resource.File summaryFile =
356 provider.getFile(provider.convertPath('/lib/_internal/spec.sum'));
357 List<int> bytes;
358 if (summaryFile.exists) {
359 bytes = summaryFile.readAsBytesSync();
360 } else {
361 bytes = _computeLinkedBundleBytes();
362 }
363 _bundle = new PackageBundle.fromBuffer(bytes);
352 } 364 }
353 return _bundle; 365 return _bundle;
354 } 366 }
355 367
356 @override 368 @override
357 SdkLibrary getSdkLibrary(String dartUri) { 369 SdkLibrary getSdkLibrary(String dartUri) {
358 // getSdkLibrary() is only used to determine whether a library is internal 370 // getSdkLibrary() is only used to determine whether a library is internal
359 // to the SDK. The mock SDK doesn't have any internals, so it's safe to 371 // to the SDK. The mock SDK doesn't have any internals, so it's safe to
360 // return null. 372 // return null.
361 return null; 373 return null;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 bool get isShared => throw unimplemented; 436 bool get isShared => throw unimplemented;
425 437
426 @override 438 @override
427 bool get isVmLibrary => throw unimplemented; 439 bool get isVmLibrary => throw unimplemented;
428 440
429 UnimplementedError get unimplemented => new UnimplementedError(); 441 UnimplementedError get unimplemented => new UnimplementedError();
430 442
431 @override 443 @override
432 List<String> getPatches(int platform) => const <String>[]; 444 List<String> getPatches(int platform) => const <String>[];
433 } 445 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/test/src/context/mock_sdk.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698