| 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 88403fb59309d1a368dc6f227ce0392ef2d73eb2..ac3ace6b60aea7cddb20eba996750446286be647 100644
|
| --- a/pkg/analyzer/lib/src/context/context.dart
|
| +++ b/pkg/analyzer/lib/src/context/context.dart
|
| @@ -486,6 +486,26 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
|
|
| @override
|
| bool aboutToComputeResult(CacheEntry entry, ResultDescriptor result) {
|
| + AnalysisTarget target = entry.target;
|
| + // TYPE_PROVIDER
|
| + if (target is AnalysisContextTarget && result == TYPE_PROVIDER) {
|
| + DartSdk dartSdk = sourceFactory.dartSdk;
|
| + if (dartSdk != null) {
|
| + AnalysisContext sdkContext = dartSdk.context;
|
| + if (!identical(sdkContext, this) &&
|
| + sdkContext is InternalAnalysisContext) {
|
| + return sdkContext.aboutToComputeResult(entry, result);
|
| + }
|
| + }
|
| + }
|
| + // A result for a Source.
|
| + Source source = target.source;
|
| + if (source != null) {
|
| + InternalAnalysisContext context = _cache.getContextFor(source);
|
| + if (!identical(context, this)) {
|
| + return context.aboutToComputeResult(entry, result);
|
| + }
|
| + }
|
| return false;
|
| }
|
|
|
|
|