Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 context.directory.manager; | 5 library context.directory.manager; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 import 'dart:convert'; | 9 import 'dart:convert'; |
| 10 import 'dart:core' hide Resource; | 10 import 'dart:core' hide Resource; |
| 11 | 11 |
| 12 import 'package:analysis_server/src/analysis_server.dart'; | 12 import 'package:analysis_server/src/analysis_server.dart'; |
| 13 import 'package:analysis_server/src/server_options.dart'; | 13 import 'package:analysis_server/src/server_options.dart'; |
| 14 import 'package:analysis_server/uri/resolver_provider.dart'; | 14 import 'package:analysis_server/uri/resolver_provider.dart'; |
| 15 import 'package:analyzer/file_system/file_system.dart'; | 15 import 'package:analyzer/file_system/file_system.dart'; |
| 16 import 'package:analyzer/instrumentation/instrumentation.dart'; | 16 import 'package:analyzer/instrumentation/instrumentation.dart'; |
| 17 import 'package:analyzer/source/analysis_options_provider.dart'; | 17 import 'package:analyzer/source/analysis_options_provider.dart'; |
| 18 import 'package:analyzer/source/package_map_provider.dart'; | 18 import 'package:analyzer/source/package_map_provider.dart'; |
| 19 import 'package:analyzer/source/package_map_resolver.dart'; | 19 import 'package:analyzer/source/package_map_resolver.dart'; |
| 20 import 'package:analyzer/source/path_filter.dart'; | 20 import 'package:analyzer/source/path_filter.dart'; |
| 21 import 'package:analyzer/source/pub_package_map_provider.dart'; | 21 import 'package:analyzer/source/pub_package_map_provider.dart'; |
| 22 import 'package:analyzer/source/sdk_ext.dart'; | |
| 22 import 'package:analyzer/src/generated/engine.dart'; | 23 import 'package:analyzer/src/generated/engine.dart'; |
| 23 import 'package:analyzer/src/generated/java_io.dart'; | 24 import 'package:analyzer/src/generated/java_io.dart'; |
| 24 import 'package:analyzer/src/generated/source.dart'; | 25 import 'package:analyzer/src/generated/source.dart'; |
| 25 import 'package:analyzer/src/generated/source_io.dart'; | 26 import 'package:analyzer/src/generated/source_io.dart'; |
| 26 import 'package:package_config/packages.dart'; | 27 import 'package:package_config/packages.dart'; |
| 27 import 'package:package_config/packages_file.dart' as pkgfile show parse; | 28 import 'package:package_config/packages_file.dart' as pkgfile show parse; |
| 28 import 'package:package_config/src/packages_impl.dart' show MapPackages; | 29 import 'package:package_config/src/packages_impl.dart' show MapPackages; |
| 29 import 'package:path/path.dart' as pathos; | 30 import 'package:path/path.dart' as pathos; |
| 30 import 'package:watcher/watcher.dart'; | 31 import 'package:watcher/watcher.dart'; |
| 31 import 'package:yaml/yaml.dart'; | 32 import 'package:yaml/yaml.dart'; |
| (...skipping 1313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1345 final String packageRoot; | 1346 final String packageRoot; |
| 1346 | 1347 |
| 1347 PackageMapDisposition(this.packageMap, {this.packageRoot}); | 1348 PackageMapDisposition(this.packageMap, {this.packageRoot}); |
| 1348 | 1349 |
| 1349 @override | 1350 @override |
| 1350 Packages get packages => null; | 1351 Packages get packages => null; |
| 1351 | 1352 |
| 1352 @override | 1353 @override |
| 1353 Iterable<UriResolver> createPackageUriResolvers( | 1354 Iterable<UriResolver> createPackageUriResolvers( |
| 1354 ResourceProvider resourceProvider) => | 1355 ResourceProvider resourceProvider) => |
| 1355 <UriResolver>[new PackageMapUriResolver(resourceProvider, packageMap)]; | 1356 <UriResolver>[new SdkExtUriResolver(packageMap), |
| 1357 new PackageMapUriResolver(resourceProvider, packageMap)]; | |
| 1356 } | 1358 } |
| 1357 | 1359 |
| 1358 /** | 1360 /** |
| 1359 * Concrete [FolderDisposition] object indicating that the context for a given | 1361 * Concrete [FolderDisposition] object indicating that the context for a given |
| 1360 * folder should resolve packages using a ".packages" file. | 1362 * folder should resolve packages using a ".packages" file. |
| 1361 */ | 1363 */ |
| 1362 class PackagesFileDisposition extends FolderDisposition { | 1364 class PackagesFileDisposition extends FolderDisposition { |
| 1363 @override | 1365 @override |
| 1364 final Packages packages; | 1366 final Packages packages; |
| 1365 | 1367 |
| 1366 PackagesFileDisposition(this.packages) {} | 1368 PackagesFileDisposition(this.packages) {} |
| 1367 | 1369 |
| 1368 @override | 1370 @override |
| 1369 String get packageRoot => null; | 1371 String get packageRoot => null; |
| 1370 | 1372 |
| 1371 @override | 1373 @override |
| 1372 Iterable<UriResolver> createPackageUriResolvers( | 1374 Iterable<UriResolver> createPackageUriResolvers( |
| 1373 ResourceProvider resourceProvider) => | 1375 ResourceProvider resourceProvider) { |
| 1374 const <UriResolver>[]; | 1376 if (packages != null) { |
| 1377 // Construct package map for the SdkExtUriResolver. | |
| 1378 Map<String, List<Folder>> packageMap = <String, List<Folder>>{}; | |
| 1379 packages.asMap().forEach((String name, Uri uri) { | |
| 1380 if (uri.scheme == 'file' || uri.scheme == '' /* unspecified */) { | |
| 1381 packageMap[name] = | |
| 1382 <Folder>[resourceProvider.getFolder(uri.toFilePath())]; | |
|
Paul Berry
2015/08/13 17:12:07
This will cause unit testing problems because uri.
Cutch
2015/08/13 19:24:17
Done.
| |
| 1383 } | |
| 1384 }); | |
| 1385 return <UriResolver>[new SdkExtUriResolver(packageMap)]; | |
| 1386 } else { | |
| 1387 return const <UriResolver>[]; | |
| 1388 } | |
| 1389 } | |
| 1375 } | 1390 } |
| OLD | NEW |