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

Side by Side Diff: packages/analyzer/test/src/context/mock_sdk.dart

Issue 1521693002: Roll Observatory deps (charted -> ^0.3.0) (Closed) Base URL: https://chromium.googlesource.com/external/github.com/dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 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
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 test.src.mock_sdk; 5 library test.src.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/cache.dart'; 9 import 'package:analyzer/src/context/cache.dart';
10 import 'package:analyzer/src/context/context.dart'; 10 import 'package:analyzer/src/context/context.dart';
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 '''); 111 ''');
112 112
113 static const _MockSdkLibrary LIB_ASYNC = const _MockSdkLibrary( 113 static const _MockSdkLibrary LIB_ASYNC = const _MockSdkLibrary(
114 'dart:async', 114 'dart:async',
115 '/lib/async/async.dart', 115 '/lib/async/async.dart',
116 ''' 116 '''
117 library dart.async; 117 library dart.async;
118 118
119 import 'dart:math'; 119 import 'dart:math';
120 120
121 part 'stream.dart';
122
121 class Future<T> { 123 class Future<T> {
122 factory Future.delayed(Duration duration, [T computation()]) => null; 124 factory Future.delayed(Duration duration, [T computation()]) => null;
123 factory Future.value([value]) => null; 125 factory Future.value([value]) => null;
124 static Future wait(List<Future> futures) => null; 126 static Future wait(List<Future> futures) => null;
125 } 127 }
126 128 ''',
129 const <_MockSdkFile>[
130 const _MockSdkFile(
131 '/lib/async/stream.dart',
132 r'''
133 part of dart.async;
127 class Stream<T> {} 134 class Stream<T> {}
128 abstract class StreamTransformer<S, T> {} 135 abstract class StreamTransformer<S, T> {}
129 '''); 136 ''')
137 ]);
130 138
131 static const _MockSdkLibrary LIB_COLLECTION = const _MockSdkLibrary( 139 static const _MockSdkLibrary LIB_COLLECTION = const _MockSdkLibrary(
132 'dart:collection', 140 'dart:collection',
133 '/lib/collection/collection.dart', 141 '/lib/collection/collection.dart',
134 ''' 142 '''
135 library dart.collection; 143 library dart.collection;
136 144
137 abstract class HashMap<K, V> implements Map<K, V> {} 145 abstract class HashMap<K, V> implements Map<K, V> {}
138 '''); 146 ''');
139 147
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 new resource.MemoryResourceProvider(); 198 new resource.MemoryResourceProvider();
191 199
192 /** 200 /**
193 * The [AnalysisContextImpl] which is used for all of the sources. 201 * The [AnalysisContextImpl] which is used for all of the sources.
194 */ 202 */
195 AnalysisContextImpl _analysisContext; 203 AnalysisContextImpl _analysisContext;
196 204
197 MockSdk() { 205 MockSdk() {
198 LIBRARIES.forEach((_MockSdkLibrary library) { 206 LIBRARIES.forEach((_MockSdkLibrary library) {
199 provider.newFile(library.path, library.content); 207 provider.newFile(library.path, library.content);
208 library.parts.forEach((file) {
209 provider.newFile(file.path, file.content);
210 });
200 }); 211 });
201 } 212 }
202 213
203 @override 214 @override
204 AnalysisContextImpl get context { 215 AnalysisContextImpl get context {
205 if (_analysisContext == null) { 216 if (_analysisContext == null) {
206 _analysisContext = new _SdkAnalysisContext(this); 217 _analysisContext = new _SdkAnalysisContext(this);
207 SourceFactory factory = new SourceFactory([new DartUriResolver(this)]); 218 SourceFactory factory = new SourceFactory([new DartUriResolver(this)]);
208 _analysisContext.sourceFactory = factory; 219 _analysisContext.sourceFactory = factory;
209 ChangeSet changeSet = new ChangeSet(); 220 ChangeSet changeSet = new ChangeSet();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 // return null. 284 // return null.
274 return null; 285 return null;
275 } 286 }
276 287
277 @override 288 @override
278 Source mapDartUri(String dartUri) { 289 Source mapDartUri(String dartUri) {
279 const Map<String, String> uriToPath = const { 290 const Map<String, String> uriToPath = const {
280 "dart:core": "/lib/core/core.dart", 291 "dart:core": "/lib/core/core.dart",
281 "dart:html": "/lib/html/dartium/html_dartium.dart", 292 "dart:html": "/lib/html/dartium/html_dartium.dart",
282 "dart:async": "/lib/async/async.dart", 293 "dart:async": "/lib/async/async.dart",
294 "dart:async/stream.dart": "/lib/async/stream.dart",
283 "dart:collection": "/lib/collection/collection.dart", 295 "dart:collection": "/lib/collection/collection.dart",
284 "dart:convert": "/lib/convert/convert.dart", 296 "dart:convert": "/lib/convert/convert.dart",
285 "dart:math": "/lib/math/math.dart" 297 "dart:math": "/lib/math/math.dart"
286 }; 298 };
287 299
288 String path = uriToPath[dartUri]; 300 String path = uriToPath[dartUri];
289 if (path != null) { 301 if (path != null) {
290 resource.File file = provider.getResource(path); 302 resource.File file = provider.getResource(path);
291 Uri uri = new Uri(scheme: 'dart', path: dartUri.substring(5)); 303 Uri uri = new Uri(scheme: 'dart', path: dartUri.substring(5));
292 return file.createSource(uri); 304 return file.createSource(uri);
293 } 305 }
294 306
295 // If we reach here then we tried to use a dartUri that's not in the 307 // If we reach here then we tried to use a dartUri that's not in the
296 // table above. 308 // table above.
297 return null; 309 return null;
298 } 310 }
299 } 311 }
300 312
301 class _MockSdkLibrary implements SdkLibrary { 313 class _MockSdkLibrary implements SdkLibrary {
302 final String shortName; 314 final String shortName;
303 final String path; 315 final String path;
304 final String content; 316 final String content;
317 final List<_MockSdkFile> parts;
305 318
306 const _MockSdkLibrary(this.shortName, this.path, this.content); 319 const _MockSdkLibrary(this.shortName, this.path, this.content,
320 [this.parts = const <_MockSdkFile>[]]);
307 321
308 @override 322 @override
309 String get category => throw unimplemented; 323 String get category => throw unimplemented;
310 324
311 @override 325 @override
312 bool get isDart2JsLibrary => throw unimplemented; 326 bool get isDart2JsLibrary => throw unimplemented;
313 327
314 @override 328 @override
315 bool get isDocumented => throw unimplemented; 329 bool get isDocumented => throw unimplemented;
316 330
317 @override 331 @override
318 bool get isImplementation => throw unimplemented; 332 bool get isImplementation => throw unimplemented;
319 333
320 @override 334 @override
321 bool get isInternal => throw unimplemented; 335 bool get isInternal => throw unimplemented;
322 336
323 @override 337 @override
324 bool get isShared => throw unimplemented; 338 bool get isShared => throw unimplemented;
325 339
326 @override 340 @override
327 bool get isVmLibrary => throw unimplemented; 341 bool get isVmLibrary => throw unimplemented;
328 342
329 UnimplementedError get unimplemented => new UnimplementedError(); 343 UnimplementedError get unimplemented => new UnimplementedError();
330 } 344 }
331 345
346 class _MockSdkFile {
347 final String path;
348 final String content;
349
350 const _MockSdkFile(this.path, this.content);
351 }
352
332 /** 353 /**
333 * An [AnalysisContextImpl] that only contains sources for a Dart SDK. 354 * An [AnalysisContextImpl] that only contains sources for a Dart SDK.
334 */ 355 */
335 class _SdkAnalysisContext extends AnalysisContextImpl { 356 class _SdkAnalysisContext extends AnalysisContextImpl {
336 final DartSdk sdk; 357 final DartSdk sdk;
337 358
338 _SdkAnalysisContext(this.sdk); 359 _SdkAnalysisContext(this.sdk);
339 360
340 @override 361 @override
341 AnalysisCache createCacheFromSourceFactory(SourceFactory factory) { 362 AnalysisCache createCacheFromSourceFactory(SourceFactory factory) {
342 if (factory == null) { 363 if (factory == null) {
343 return super.createCacheFromSourceFactory(factory); 364 return super.createCacheFromSourceFactory(factory);
344 } 365 }
345 return new AnalysisCache(<CachePartition>[ 366 return new AnalysisCache(<CachePartition>[
346 AnalysisEngine.instance.partitionManager_new.forSdk(sdk) 367 AnalysisEngine.instance.partitionManager_new.forSdk(sdk)
347 ]); 368 ]);
348 } 369 }
349 } 370 }
OLDNEW
« no previous file with comments | « packages/analyzer/test/src/context/context_test.dart ('k') | packages/analyzer/test/src/task/dart_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698