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

Side by Side Diff: pkg/dev_compiler/lib/src/analyzer/context.dart

Issue 2425423009: Split out options from ContextBuilder (Closed)
Patch Set: Created 4 years, 2 months 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 | « pkg/analyzer_cli/lib/src/driver.dart ('k') | no next file » | 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) 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
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 }
OLDNEW
« no previous file with comments | « pkg/analyzer_cli/lib/src/driver.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698