OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 import 'package:args/args.dart' show ArgParser, ArgResults; | 5 import 'package:args/args.dart' show ArgParser, ArgResults; |
6 import 'package:analyzer/file_system/file_system.dart' | 6 import 'package:analyzer/file_system/file_system.dart' |
7 show ResourceProvider, ResourceUriResolver; | 7 show ResourceProvider, ResourceUriResolver; |
8 import 'package:analyzer/file_system/physical_file_system.dart' | 8 import 'package:analyzer/file_system/physical_file_system.dart' |
9 show PhysicalResourceProvider; | 9 show PhysicalResourceProvider; |
10 import 'package:analyzer/source/custom_resolver.dart'; | 10 import 'package:analyzer/source/custom_resolver.dart'; |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 fileResolvers = | 132 fileResolvers = |
133 createFileResolvers(options, resourceProvider: resourceProvider); | 133 createFileResolvers(options, resourceProvider: resourceProvider); |
134 resolvers.addAll(fileResolvers); | 134 resolvers.addAll(fileResolvers); |
135 return new SourceFactory(resolvers, null, resourceProvider); | 135 return new SourceFactory(resolvers, null, resourceProvider); |
136 } | 136 } |
137 | 137 |
138 List<UriResolver> createFileResolvers(AnalyzerOptions options, | 138 List<UriResolver> createFileResolvers(AnalyzerOptions options, |
139 {ResourceProvider resourceProvider}) { | 139 {ResourceProvider resourceProvider}) { |
140 resourceProvider ??= PhysicalResourceProvider.INSTANCE; | 140 resourceProvider ??= PhysicalResourceProvider.INSTANCE; |
141 UriResolver packageResolver() { | 141 UriResolver packageResolver() { |
142 ContextBuilder builder = new ContextBuilder(resourceProvider, null, null); | 142 ContextBuilderOptions builderOptions = new ContextBuilderOptions(); |
143 if (options.packageRoot != null) { | 143 if (options.packageRoot != null) { |
144 builder.defaultPackagesDirectoryPath = options.packageRoot; | 144 builderOptions.defaultPackagesDirectoryPath = options.packageRoot; |
145 } | 145 } |
| 146 ContextBuilder builder = new ContextBuilder(resourceProvider, null, null, |
| 147 options: builderOptions); |
146 return new PackageMapUriResolver(resourceProvider, | 148 return new PackageMapUriResolver(resourceProvider, |
147 builder.convertPackagesToMap(builder.createPackageMap(''))); | 149 builder.convertPackagesToMap(builder.createPackageMap(''))); |
148 } | 150 } |
149 | 151 |
150 return [ | 152 return [ |
151 new ResourceUriResolver(resourceProvider), | 153 new ResourceUriResolver(resourceProvider), |
152 options.useMultiPackage | 154 options.useMultiPackage |
153 ? new MultiPackageResolver(options.packagePaths) | 155 ? new MultiPackageResolver(options.packagePaths) |
154 : packageResolver() | 156 : packageResolver() |
155 ]; | 157 ]; |
156 } | 158 } |
157 | 159 |
158 FolderBasedDartSdk _createFolderBasedDartSdk(String sdkPath) { | 160 FolderBasedDartSdk _createFolderBasedDartSdk(String sdkPath) { |
159 var resourceProvider = PhysicalResourceProvider.INSTANCE; | 161 var resourceProvider = PhysicalResourceProvider.INSTANCE; |
160 var sdk = new FolderBasedDartSdk(resourceProvider, | 162 var sdk = new FolderBasedDartSdk(resourceProvider, |
161 resourceProvider.getFolder(sdkPath), /*useDart2jsPaths:*/ true); | 163 resourceProvider.getFolder(sdkPath), /*useDart2jsPaths:*/ true); |
162 sdk.useSummary = true; | 164 sdk.useSummary = true; |
163 sdk.analysisOptions = new AnalysisOptionsImpl()..strongMode = true; | 165 sdk.analysisOptions = new AnalysisOptionsImpl()..strongMode = true; |
164 return sdk; | 166 return sdk; |
165 } | 167 } |
166 | 168 |
167 /// Creates a [DartUriResolver] that uses the SDK at the given [sdkPath]. | 169 /// Creates a [DartUriResolver] that uses the SDK at the given [sdkPath]. |
168 DartUriResolver createSdkPathResolver(String sdkSummaryPath, String sdkPath) { | 170 DartUriResolver createSdkPathResolver(String sdkSummaryPath, String sdkPath) { |
169 var sdk = (sdkSummaryPath != null) | 171 var sdk = (sdkSummaryPath != null) |
170 ? new SummaryBasedDartSdk(sdkSummaryPath, true) | 172 ? new SummaryBasedDartSdk(sdkSummaryPath, true) |
171 : _createFolderBasedDartSdk(sdkPath); | 173 : _createFolderBasedDartSdk(sdkPath); |
172 return new DartUriResolver(sdk); | 174 return new DartUriResolver(sdk); |
173 } | 175 } |
OLD | NEW |