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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/lib/src/context/context.dart
diff --git a/pkg/analyzer/lib/src/context/context.dart b/pkg/analyzer/lib/src/context/context.dart
index 0faff27f7977cbabc80e997fa9a92e635bce255d..f5c554cae78a8cd7bb694e83b7428b6e7015640f 100644
--- a/pkg/analyzer/lib/src/context/context.dart
+++ b/pkg/analyzer/lib/src/context/context.dart
@@ -300,7 +300,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
this._options.enableStrictCallChecks !=
options.enableStrictCallChecks ||
this._options.enableSuperMixins != options.enableSuperMixins ||
- this._options.patchPlatform != options.patchPlatform;
+ !_samePatchPaths(this._options.patchPaths, options.patchPaths);
this._options.analyzeFunctionBodiesPredicate =
options.analyzeFunctionBodiesPredicate;
this._options.generateImplicitErrors = options.generateImplicitErrors;
@@ -328,7 +328,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
this._options.trackCacheDependencies = options.trackCacheDependencies;
this._options.disableCacheFlushing = options.disableCacheFlushing;
this._options.finerGrainedInvalidation = options.finerGrainedInvalidation;
- this._options.patchPlatform = options.patchPlatform;
+ this._options.patchPaths = options.patchPaths;
if (options is AnalysisOptionsImpl) {
this._options.strongModeHints = options.strongModeHints;
this._options.implicitCasts = options.implicitCasts;
@@ -1966,6 +1966,21 @@ class AnalysisContextImpl implements InternalAnalysisContext {
return true;
});
}
+
+ static bool _samePatchPaths(
+ Map<String, List<String>> a, Map<String, List<String>> b) {
+ if (a.length != b.length) return false;
+ for (var key in a.keys) {
+ if (!b.containsKey(key)) return false;
+ var aValue = a[key];
+ var bValue = b[key];
+ if (aValue.length != bValue.length) return false;
+ for (var i = 0; i < aValue.length; i++) {
+ if (aValue[i] != bValue[i]) return false;
+ }
+ }
+ return true;
+ }
}
/**

Powered by Google App Engine
This is Rietveld 408576698