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

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

Issue 2560323002: Simplify how patch files are specified to analyzer. (Closed)
Patch Set: Created 4 years 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) 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 library analyzer.src.context.context; 5 library analyzer.src.context.context;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 9
10 import 'package:analyzer/dart/ast/ast.dart'; 10 import 'package:analyzer/dart/ast/ast.dart';
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 : false) || 293 : false) ||
294 ((options is AnalysisOptionsImpl) 294 ((options is AnalysisOptionsImpl)
295 ? this._options.nonnullableTypes != options.nonnullableTypes 295 ? this._options.nonnullableTypes != options.nonnullableTypes
296 : false) || 296 : false) ||
297 ((options is AnalysisOptionsImpl) 297 ((options is AnalysisOptionsImpl)
298 ? this._options.implicitDynamic != options.implicitDynamic 298 ? this._options.implicitDynamic != options.implicitDynamic
299 : false) || 299 : false) ||
300 this._options.enableStrictCallChecks != 300 this._options.enableStrictCallChecks !=
301 options.enableStrictCallChecks || 301 options.enableStrictCallChecks ||
302 this._options.enableSuperMixins != options.enableSuperMixins || 302 this._options.enableSuperMixins != options.enableSuperMixins ||
303 this._options.patchPlatform != options.patchPlatform; 303 !_samePatchPaths(this._options.patchPaths, options.patchPaths);
304 this._options.analyzeFunctionBodiesPredicate = 304 this._options.analyzeFunctionBodiesPredicate =
305 options.analyzeFunctionBodiesPredicate; 305 options.analyzeFunctionBodiesPredicate;
306 this._options.generateImplicitErrors = options.generateImplicitErrors; 306 this._options.generateImplicitErrors = options.generateImplicitErrors;
307 this._options.generateSdkErrors = options.generateSdkErrors; 307 this._options.generateSdkErrors = options.generateSdkErrors;
308 this._options.dart2jsHint = options.dart2jsHint; 308 this._options.dart2jsHint = options.dart2jsHint;
309 this._options.enableAssertInitializer = options.enableAssertInitializer; 309 this._options.enableAssertInitializer = options.enableAssertInitializer;
310 this._options.enableStrictCallChecks = options.enableStrictCallChecks; 310 this._options.enableStrictCallChecks = options.enableStrictCallChecks;
311 this._options.enableLazyAssignmentOperators = 311 this._options.enableLazyAssignmentOperators =
312 options.enableLazyAssignmentOperators; 312 options.enableLazyAssignmentOperators;
313 this._options.enableSuperMixins = options.enableSuperMixins; 313 this._options.enableSuperMixins = options.enableSuperMixins;
314 this._options.enableTiming = options.enableTiming; 314 this._options.enableTiming = options.enableTiming;
315 this._options.errorProcessors = options.errorProcessors; 315 this._options.errorProcessors = options.errorProcessors;
316 this._options.excludePatterns = options.excludePatterns; 316 this._options.excludePatterns = options.excludePatterns;
317 this._options.hint = options.hint; 317 this._options.hint = options.hint;
318 this._options.incremental = options.incremental; 318 this._options.incremental = options.incremental;
319 this._options.incrementalApi = options.incrementalApi; 319 this._options.incrementalApi = options.incrementalApi;
320 this._options.incrementalValidation = options.incrementalValidation; 320 this._options.incrementalValidation = options.incrementalValidation;
321 this._options.lint = options.lint; 321 this._options.lint = options.lint;
322 this._options.lintRules = options.lintRules; 322 this._options.lintRules = options.lintRules;
323 this._options.preserveComments = options.preserveComments; 323 this._options.preserveComments = options.preserveComments;
324 if (this._options.strongMode != options.strongMode) { 324 if (this._options.strongMode != options.strongMode) {
325 _typeSystem = null; 325 _typeSystem = null;
326 } 326 }
327 this._options.strongMode = options.strongMode; 327 this._options.strongMode = options.strongMode;
328 this._options.trackCacheDependencies = options.trackCacheDependencies; 328 this._options.trackCacheDependencies = options.trackCacheDependencies;
329 this._options.disableCacheFlushing = options.disableCacheFlushing; 329 this._options.disableCacheFlushing = options.disableCacheFlushing;
330 this._options.finerGrainedInvalidation = options.finerGrainedInvalidation; 330 this._options.finerGrainedInvalidation = options.finerGrainedInvalidation;
331 this._options.patchPlatform = options.patchPlatform; 331 this._options.patchPaths = options.patchPaths;
332 if (options is AnalysisOptionsImpl) { 332 if (options is AnalysisOptionsImpl) {
333 this._options.strongModeHints = options.strongModeHints; 333 this._options.strongModeHints = options.strongModeHints;
334 this._options.implicitCasts = options.implicitCasts; 334 this._options.implicitCasts = options.implicitCasts;
335 this._options.nonnullableTypes = options.nonnullableTypes; 335 this._options.nonnullableTypes = options.nonnullableTypes;
336 this._options.implicitDynamic = options.implicitDynamic; 336 this._options.implicitDynamic = options.implicitDynamic;
337 } 337 }
338 if (needsRecompute) { 338 if (needsRecompute) {
339 for (WorkManager workManager in workManagers) { 339 for (WorkManager workManager in workManagers) {
340 workManager.onAnalysisOptionsChanged(); 340 workManager.onAnalysisOptionsChanged();
341 } 341 }
(...skipping 1617 matching lines...) Expand 10 before | Expand all | Expand 10 after
1959 AnalysisErrorInfo errorInfo = getErrors(unitSource); 1959 AnalysisErrorInfo errorInfo = getErrors(unitSource);
1960 notice.setErrors(errorInfo.errors, errorInfo.lineInfo); 1960 notice.setErrors(errorInfo.errors, errorInfo.lineInfo);
1961 } 1961 }
1962 // schedule 1962 // schedule
1963 dartWorkManager.unitIncrementallyResolved(librarySource, unitSource); 1963 dartWorkManager.unitIncrementallyResolved(librarySource, unitSource);
1964 // OK 1964 // OK
1965 driver.reset(); 1965 driver.reset();
1966 return true; 1966 return true;
1967 }); 1967 });
1968 } 1968 }
1969
1970 static bool _samePatchPaths(
1971 Map<String, List<String>> a, Map<String, List<String>> b) {
1972 if (a.length != b.length) return false;
1973 for (var key in a.keys) {
1974 if (!b.containsKey(key)) return false;
1975 var aValue = a[key];
1976 var bValue = b[key];
1977 if (aValue.length != bValue.length) return false;
1978 for (var i = 0; i < aValue.length; i++) {
1979 if (aValue[i] != bValue[i]) return false;
1980 }
1981 }
1982 return true;
1983 }
1969 } 1984 }
1970 1985
1971 /** 1986 /**
1972 * A helper class used to create futures for [AnalysisContextImpl]. 1987 * A helper class used to create futures for [AnalysisContextImpl].
1973 * Using a helper class allows us to preserve the generic parameter T. 1988 * Using a helper class allows us to preserve the generic parameter T.
1974 */ 1989 */
1975 class AnalysisFutureHelper<T> { 1990 class AnalysisFutureHelper<T> {
1976 final AnalysisContextImpl _context; 1991 final AnalysisContextImpl _context;
1977 final AnalysisTarget _target; 1992 final AnalysisTarget _target;
1978 final ResultDescriptor<T> _descriptor; 1993 final ResultDescriptor<T> _descriptor;
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
2246 } 2261 }
2247 DartSdk sdk = factory.dartSdk; 2262 DartSdk sdk = factory.dartSdk;
2248 if (sdk == null) { 2263 if (sdk == null) {
2249 throw new ArgumentError( 2264 throw new ArgumentError(
2250 "The source factory for an SDK analysis context must have a DartUriRes olver"); 2265 "The source factory for an SDK analysis context must have a DartUriRes olver");
2251 } 2266 }
2252 return new AnalysisCache( 2267 return new AnalysisCache(
2253 <CachePartition>[AnalysisEngine.instance.partitionManager.forSdk(sdk)]); 2268 <CachePartition>[AnalysisEngine.instance.partitionManager.forSdk(sdk)]);
2254 } 2269 }
2255 } 2270 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698