| Index: pkg/analyzer/lib/src/dart/element/element.dart | 
| diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart | 
| index e93f63573437ff5f93617264e8dbe9ae32a2d650..8737595217319b4d5494201d7c89b412340a2e7f 100644 | 
| --- a/pkg/analyzer/lib/src/dart/element/element.dart | 
| +++ b/pkg/analyzer/lib/src/dart/element/element.dart | 
| @@ -772,9 +772,8 @@ class ClassElementImpl extends AbstractClassElementImpl | 
| List<InterfaceType> get interfaces { | 
| if (_interfaces == null) { | 
| if (_kernel != null) { | 
| -        _interfaces = _kernel.implementedTypes | 
| -            .map((k) => enclosingUnit._kernelContext.getInterfaceType(this, k)) | 
| -            .toList(growable: false); | 
| +        var context = enclosingUnit._kernelContext; | 
| +        _interfaces = context.getInterfaceTypes(this, _kernel.implementedTypes); | 
| } | 
| if (_unlinkedClass != null) { | 
| ResynthesizerContext context = enclosingUnit.resynthesizerContext; | 
| @@ -909,9 +908,7 @@ class ClassElementImpl extends AbstractClassElementImpl | 
| if (_kernel != null) { | 
| _initializeKernelMixins(); | 
| var context = enclosingUnit._kernelContext; | 
| -        _mixins = _kernelMixins.map((k) { | 
| -          return context.getInterfaceType(this, k); | 
| -        }).toList(growable: false); | 
| +        _mixins = context.getInterfaceTypes(this, _kernelMixins); | 
| } | 
| if (_unlinkedClass != null) { | 
| ResynthesizerContext context = enclosingUnit.resynthesizerContext; | 
| @@ -6196,6 +6193,13 @@ abstract class KernelUnitResynthesizerContext { | 
| */ | 
| InterfaceType getInterfaceType(ElementImpl context, kernel.Supertype type); | 
|  | 
| +  /** | 
| +   * Return the [InterfaceType]s for the given Kernel [types], skipping | 
| +   * the elements that don't correspond to an [InterfaceType]. | 
| +   */ | 
| +  List<InterfaceType> getInterfaceTypes( | 
| +      ElementImpl context, List<kernel.Supertype> types); | 
| + | 
| /** | 
| * Return the [ConstructorElementImpl] to which the given [kernelConstructor] | 
| * or [kernelFactory] redirects. | 
|  |