| Index: pkg/analyzer/lib/src/generated/engine.dart
|
| diff --git a/pkg/analyzer/lib/src/generated/engine.dart b/pkg/analyzer/lib/src/generated/engine.dart
|
| index 67a7a2309d2abe3fb053a2c1faf7df135e2b0609..c76cef70986778c89d2a3850d42a1214884c017b 100644
|
| --- a/pkg/analyzer/lib/src/generated/engine.dart
|
| +++ b/pkg/analyzer/lib/src/generated/engine.dart
|
| @@ -5174,6 +5174,14 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| for (int i = 0; i < count; i++) {
|
| _sourceChanged(changedSources[i]);
|
| }
|
| + int removalCount = 0;
|
| + for (Source source in missingSources) {
|
| + if (getLibrariesContaining(source).isEmpty &&
|
| + getLibrariesDependingOn(source).isEmpty) {
|
| + _cache.remove(source);
|
| + removalCount++;
|
| + }
|
| + }
|
| int consistencyCheckEnd = JavaSystem.nanoTime();
|
| if (changedSources.length > 0 || missingSources.length > 0) {
|
| StringBuffer buffer = new StringBuffer();
|
| @@ -5185,7 +5193,9 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| buffer.writeln(" inconsistent entries");
|
| buffer.write(" ");
|
| buffer.write(missingSources.length);
|
| - buffer.writeln(" missing sources");
|
| + buffer.write(" missing sources (");
|
| + buffer.write(removalCount);
|
| + buffer.writeln(" removed");
|
| for (Source source in missingSources) {
|
| buffer.write(" ");
|
| buffer.writeln(source.fullName);
|
| @@ -11844,18 +11854,6 @@ abstract class SourceEntry {
|
| result.value = value == null ? descriptor.defaultValue : value;
|
| }
|
|
|
| - /**
|
| - * Increment the count of the number of times that data represented by the
|
| - * given [descriptor] was transitioned from the current state (as found in the
|
| - * given [result] to a valid state.
|
| - */
|
| - static void countTransition(DataDescriptor descriptor, CachedResult result) {
|
| - Map<CacheState, int> countMap =
|
| - transitionMap.putIfAbsent(descriptor, () => new HashMap<CacheState, int>());
|
| - int count = countMap[result.state];
|
| - countMap[result.state] = count == null ? 1 : count + 1;
|
| - }
|
| -
|
| @override
|
| String toString() {
|
| StringBuffer buffer = new StringBuffer();
|
| @@ -12006,6 +12004,18 @@ abstract class SourceEntry {
|
| buffer.write(" = ");
|
| buffer.write(result == null ? CacheState.INVALID : result.state);
|
| }
|
| +
|
| + /**
|
| + * Increment the count of the number of times that data represented by the
|
| + * given [descriptor] was transitioned from the current state (as found in the
|
| + * given [result] to a valid state.
|
| + */
|
| + static void countTransition(DataDescriptor descriptor, CachedResult result) {
|
| + Map<CacheState, int> countMap =
|
| + transitionMap.putIfAbsent(descriptor, () => new HashMap<CacheState, int>());
|
| + int count = countMap[result.state];
|
| + countMap[result.state] = count == null ? 1 : count + 1;
|
| + }
|
| }
|
|
|
| /**
|
|
|