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

Side by Side Diff: pkg/front_end/lib/src/incremental_resolved_ast_generator_impl.dart

Issue 2652823002: Use single InputPackagesResultProvider, without SdkSummaryResultProvider. (Closed)
Patch Set: Created 3 years, 11 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
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 'dart:async'; 5 import 'dart:async';
6 6
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/file_system/file_system.dart'; 8 import 'package:analyzer/file_system/file_system.dart';
9 import 'package:analyzer/src/context/context.dart'; 9 import 'package:analyzer/src/context/context.dart';
10 import 'package:analyzer/src/dart/analysis/byte_store.dart'; 10 import 'package:analyzer/src/dart/analysis/byte_store.dart';
11 import 'package:analyzer/src/dart/analysis/driver.dart' as driver; 11 import 'package:analyzer/src/dart/analysis/driver.dart' as driver;
12 import 'package:analyzer/src/dart/analysis/file_state.dart'; 12 import 'package:analyzer/src/dart/analysis/file_state.dart';
13 import 'package:analyzer/src/generated/engine.dart'; 13 import 'package:analyzer/src/generated/engine.dart';
14 import 'package:analyzer/src/generated/sdk.dart'; 14 import 'package:analyzer/src/generated/sdk.dart';
15 import 'package:analyzer/src/generated/source.dart'; 15 import 'package:analyzer/src/generated/source.dart';
16 import 'package:analyzer/src/generated/utilities_dart.dart';
16 import 'package:analyzer/src/summary/idl.dart'; 17 import 'package:analyzer/src/summary/idl.dart';
17 import 'package:analyzer/src/summary/summary_sdk.dart';
18 import 'package:analyzer/src/util/absolute_path.dart'; 18 import 'package:analyzer/src/util/absolute_path.dart';
19 import 'package:front_end/incremental_resolved_ast_generator.dart'; 19 import 'package:front_end/incremental_resolved_ast_generator.dart';
20 import 'package:front_end/src/base/file_repository.dart'; 20 import 'package:front_end/src/base/file_repository.dart';
21 import 'package:front_end/src/base/processed_options.dart'; 21 import 'package:front_end/src/base/processed_options.dart';
22 import 'package:front_end/src/base/source.dart'; 22 import 'package:front_end/src/base/source.dart';
23 import 'package:front_end/src/dependency_grapher_impl.dart'; 23 import 'package:front_end/src/dependency_grapher_impl.dart';
24 import 'package:path/src/context.dart'; 24 import 'package:path/src/context.dart';
25 25
26 dynamic unimplemented() { 26 dynamic unimplemented() {
27 // TODO(paulberry): get rid of this. 27 // TODO(paulberry): get rid of this.
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 // TODO(paulberry): MemoryByteStore leaks memory (it never discards data). 116 // TODO(paulberry): MemoryByteStore leaks memory (it never discards data).
117 // Do something better here. 117 // Do something better here.
118 var byteStore = new MemoryByteStore(); 118 var byteStore = new MemoryByteStore();
119 // TODO(paulberry): can we just use null? 119 // TODO(paulberry): can we just use null?
120 var fileContentOverlay = new FileContentOverlay(); 120 var fileContentOverlay = new FileContentOverlay();
121 var sdkContext = new AnalysisContextImpl(); 121 var sdkContext = new AnalysisContextImpl();
122 var dartSdk = new _DartSdkProxy( 122 var dartSdk = new _DartSdkProxy(
123 await _options.getSdkSummary(), sdkContext, _fileRepository); 123 await _options.getSdkSummary(), sdkContext, _fileRepository);
124 sdkContext.sourceFactory = 124 sdkContext.sourceFactory =
125 new SourceFactory([new DartUriResolver(dartSdk)]); 125 new SourceFactory([new DartUriResolver(dartSdk)]);
126 bool strongMode = true; // TODO(paulberry): support strong mode flag.
127 sdkContext.resultProvider = new SdkSummaryResultProvider(
128 sdkContext, await _options.getSdkSummary(), strongMode);
129 126
130 var sourceFactory = new _SourceFactoryProxy(dartSdk, _fileRepository); 127 var sourceFactory = new _SourceFactoryProxy(dartSdk, _fileRepository);
131 var analysisOptions = new AnalysisOptionsImpl(); 128 var analysisOptions = new AnalysisOptionsImpl();
132 _driver = new driver.AnalysisDriver( 129 _driver = new driver.AnalysisDriver(
133 _scheduler, 130 _scheduler,
134 performanceLog, 131 performanceLog,
135 _resourceProvider, 132 _resourceProvider,
136 byteStore, 133 byteStore,
137 fileContentOverlay, 134 fileContentOverlay,
138 'front_end', 135 'front_end',
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 AnalysisContext context; 260 AnalysisContext context;
264 261
265 _SourceFactoryProxy(this.dartSdk, this._fileRepository); 262 _SourceFactoryProxy(this.dartSdk, this._fileRepository);
266 263
267 @override 264 @override
268 SourceFactory clone() => new _SourceFactoryProxy(dartSdk, _fileRepository); 265 SourceFactory clone() => new _SourceFactoryProxy(dartSdk, _fileRepository);
269 266
270 @override 267 @override
271 Source forUri(String absoluteUri) { 268 Source forUri(String absoluteUri) {
272 Uri uri = Uri.parse(absoluteUri); 269 Uri uri = Uri.parse(absoluteUri);
270 if (uri.scheme == 'dart') {
271 return new _SourceProxy(
272 uri, _fileRepository.pathForUri(uri, allocate: true));
273 }
273 return new _SourceProxy(uri, _fileRepository.pathForUri(uri)); 274 return new _SourceProxy(uri, _fileRepository.pathForUri(uri));
274 } 275 }
275 276
276 noSuchMethod(Invocation invocation) => unimplemented(); 277 noSuchMethod(Invocation invocation) => unimplemented();
277 278
278 Source resolveUri(Source containingSource, String containedUri) { 279 Source resolveUri(Source containingSource, String containedUri) {
279 // TODO(paulberry): re-use code from dependency_grapher_impl, and support 280 // TODO(paulberry): re-use code from dependency_grapher_impl, and support
280 // SDK URI resolution logic. 281 // SDK URI resolution logic.
281 var absoluteUri = containingSource == null 282 String absoluteUri =
282 ? containedUri 283 resolveRelativeUri(containingSource?.uri, Uri.parse(containedUri))
283 : containingSource.uri.resolve(containedUri).toString(); 284 .toString();
284 return forUri(absoluteUri); 285 return forUri(absoluteUri);
285 } 286 }
286 287
287 @override 288 @override
288 Uri restoreUri(Source source) => source.uri; 289 Uri restoreUri(Source source) => source.uri;
289 } 290 }
290 291
291 class _SourceProxy extends BasicSource { 292 class _SourceProxy extends BasicSource {
292 @override 293 @override
293 final String fullName; 294 final String fullName;
294 295
295 _SourceProxy(Uri uri, this.fullName) : super(uri); 296 _SourceProxy(Uri uri, this.fullName) : super(uri);
296 297
297 int get modificationStamp => 0; 298 int get modificationStamp => 0;
298 299
299 noSuchMethod(Invocation invocation) => unimplemented(); 300 noSuchMethod(Invocation invocation) => unimplemented();
300 } 301 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698