| OLD | NEW | 
|---|
| 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 analyzer.src.context.context_builder; | 5 library analyzer.src.context.context_builder; | 
| 6 | 6 | 
| 7 import 'dart:collection'; | 7 import 'dart:collection'; | 
| 8 import 'dart:core' hide Resource; | 8 import 'dart:core' hide Resource; | 
| 9 import 'dart:io' as io; | 9 import 'dart:io' as io; | 
| 10 | 10 | 
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 68    */ | 68    */ | 
| 69   final ContentCache contentCache; | 69   final ContentCache contentCache; | 
| 70 | 70 | 
| 71   /** | 71   /** | 
| 72    * The resolver provider used to create a package: URI resolver, or `null` if | 72    * The resolver provider used to create a package: URI resolver, or `null` if | 
| 73    * the normal (Package Specification DEP) lookup mechanism is to be used. | 73    * the normal (Package Specification DEP) lookup mechanism is to be used. | 
| 74    */ | 74    */ | 
| 75   ResolverProvider packageResolverProvider; | 75   ResolverProvider packageResolverProvider; | 
| 76 | 76 | 
| 77   /** | 77   /** | 
|  | 78    * The resolver provider used to create a file: URI resolver, or `null` if | 
|  | 79    * the normal file URI resolver is to be used. | 
|  | 80    */ | 
|  | 81   ResolverProvider fileResolverProvider; | 
|  | 82 | 
|  | 83   /** | 
| 78    * The file path of the .packages file that should be used in place of any | 84    * The file path of the .packages file that should be used in place of any | 
| 79    * file found using the normal (Package Specification DEP) lookup mechanism, | 85    * file found using the normal (Package Specification DEP) lookup mechanism, | 
| 80    * or `null` if the normal lookup mechanism should be used. | 86    * or `null` if the normal lookup mechanism should be used. | 
| 81    */ | 87    */ | 
| 82   String defaultPackageFilePath; | 88   String defaultPackageFilePath; | 
| 83 | 89 | 
| 84   /** | 90   /** | 
| 85    * The file path of the packages directory that should be used in place of any | 91    * The file path of the packages directory that should be used in place of any | 
| 86    * file found using the normal (Package Specification DEP) lookup mechanism, | 92    * file found using the normal (Package Specification DEP) lookup mechanism, | 
| 87    * or `null` if the normal lookup mechanism should be used. | 93    * or `null` if the normal lookup mechanism should be used. | 
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 190       return new MapPackages(map); | 196       return new MapPackages(map); | 
| 191     } else if (defaultPackagesDirectoryPath != null) { | 197     } else if (defaultPackagesDirectoryPath != null) { | 
| 192       return getPackagesDirectory( | 198       return getPackagesDirectory( | 
| 193           new Uri.directory(defaultPackagesDirectoryPath)); | 199           new Uri.directory(defaultPackagesDirectoryPath)); | 
| 194     } | 200     } | 
| 195     return findPackagesFromFile(new Uri.directory(rootDirectoryPath)); | 201     return findPackagesFromFile(new Uri.directory(rootDirectoryPath)); | 
| 196   } | 202   } | 
| 197 | 203 | 
| 198   SourceFactory createSourceFactory( | 204   SourceFactory createSourceFactory( | 
| 199       String rootDirectoryPath, AnalysisOptions options) { | 205       String rootDirectoryPath, AnalysisOptions options) { | 
|  | 206     Folder _folder = null; | 
|  | 207     Folder folder() { | 
|  | 208       return _folder ??= resourceProvider.getResource('.'); | 
|  | 209     } | 
|  | 210     UriResolver fileResolver = fileResolverProvider == null | 
|  | 211         ? new ResourceUriResolver(resourceProvider) | 
|  | 212         : fileResolverProvider(folder()); | 
| 200     if (packageResolverProvider != null) { | 213     if (packageResolverProvider != null) { | 
| 201       Folder folder = resourceProvider.getResource('.'); | 214       UriResolver packageResolver = packageResolverProvider(folder()); | 
| 202       UriResolver resolver = packageResolverProvider(folder); | 215       if (packageResolver != null) { | 
| 203       if (resolver != null) { |  | 
| 204         // TODO(brianwilkerson) This doesn't support either embedder files or | 216         // TODO(brianwilkerson) This doesn't support either embedder files or | 
| 205         // sdk extensions because we don't have a way to get the package map | 217         // sdk extensions because we don't have a way to get the package map | 
| 206         // from the resolver. | 218         // from the resolver. | 
| 207         List<UriResolver> resolvers = <UriResolver>[ | 219         List<UriResolver> resolvers = <UriResolver>[ | 
| 208           new DartUriResolver(findSdk(null, options)), | 220           new DartUriResolver(findSdk(null, options)), | 
| 209           resolver, | 221           packageResolver, | 
| 210           new ResourceUriResolver(resourceProvider) | 222           fileResolver | 
| 211         ]; | 223         ]; | 
| 212         return new SourceFactory(resolvers); | 224         return new SourceFactory(resolvers); | 
| 213       } | 225       } | 
| 214     } | 226     } | 
| 215     Map<String, List<Folder>> packageMap = | 227     Map<String, List<Folder>> packageMap = | 
| 216         convertPackagesToMap(createPackageMap(rootDirectoryPath)); | 228         convertPackagesToMap(createPackageMap(rootDirectoryPath)); | 
| 217     List<UriResolver> resolvers = <UriResolver>[]; | 229     List<UriResolver> resolvers = <UriResolver>[]; | 
| 218     resolvers.add(new DartUriResolver(findSdk(packageMap, options))); | 230     resolvers.add(new DartUriResolver(findSdk(packageMap, options))); | 
| 219     if (packageMap != null) { | 231     if (packageMap != null) { | 
| 220       resolvers.add(new PackageMapUriResolver(resourceProvider, packageMap)); | 232       resolvers.add(new PackageMapUriResolver(resourceProvider, packageMap)); | 
| 221     } | 233     } | 
| 222     resolvers.add(new ResourceUriResolver(resourceProvider)); | 234     resolvers.add(fileResolver); | 
| 223     return new SourceFactory(resolvers); | 235     return new SourceFactory(resolvers); | 
| 224   } | 236   } | 
| 225 | 237 | 
| 226   /** | 238   /** | 
| 227    * Add any [declaredVariables] to the list of declared variables used by the | 239    * Add any [declaredVariables] to the list of declared variables used by the | 
| 228    * given [context]. | 240    * given [context]. | 
| 229    */ | 241    */ | 
| 230   void declareVariables(InternalAnalysisContext context) { | 242   void declareVariables(InternalAnalysisContext context) { | 
| 231     if (declaredVariables != null && declaredVariables.isNotEmpty) { | 243     if (declaredVariables != null && declaredVariables.isNotEmpty) { | 
| 232       DeclaredVariables contextVariables = context.declaredVariables; | 244       DeclaredVariables contextVariables = context.declaredVariables; | 
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 335       } | 347       } | 
| 336       file = folder | 348       file = folder | 
| 337           .getChildAssumingFile(AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 349           .getChildAssumingFile(AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 
| 338       if (file.exists) { | 350       if (file.exists) { | 
| 339         return file; | 351         return file; | 
| 340       } | 352       } | 
| 341     } | 353     } | 
| 342     return null; | 354     return null; | 
| 343   } | 355   } | 
| 344 } | 356 } | 
| OLD | NEW | 
|---|