anchor.diff:        typeArgumentsError = true;
       }
       if (dartType is! InterfaceType ||
  -        hasJSInteropAnnotation(dartType.classNode) ||
  -        hasStaticInteropAnnotation(dartType.classNode) ||
  -        hasAnonymousAnnotation(dartType.classNode)) {
  +        dartType.declaredNullability != Nullability.nonNullable ||
  +        js_interop.hasJSInteropAnnotation(dartType.classNode) ||
  +        js_interop.hasStaticInteropAnnotation(dartType.classNode) ||
  +        js_interop.hasAnonymousAnnotation(dartType.classNode)) {
         _diagnosticReporter.report(
             templateJsInteropStaticInteropMockNotDartInterfaceType.withArguments(
                 dartType, true),
  
positive.code:         LocatedMessage,
          templateJsInteropStaticInteropMockMissingOverride,
          templateJsInteropStaticInteropMockExternalExtensionMemberConflict;
  import 'package:_js_interop_checks/src/js_interop.dart';
  
  class _ExtensionVisitor extends RecursiveVisitor {
    final Map<Reference, Extension> staticInteropClassesWithExtensions;
  
negative.code: }
  
  class StaticInteropMockCreator extends Transformer {
    final Procedure _allowInterop;
    final Procedure _callMethod;
    final Procedure _createStaticInteropMock;
    final DiagnosticReporter<Message, LocatedMessage> _diagnosticReporter;
    late final _ExtensionVisitor _extensionVisitor;
    final InterfaceType _functionType;
    final Procedure _getProperty;
    final Procedure _globalThis;
    final InterfaceType _objectType;
    final Procedure _setProperty;
    final Map<Reference, Extension> _staticInteropClassesWithExtensions = {};
    final TypeEnvironment _typeEnvironment;
  
    StaticInteropMockCreator(this._typeEnvironment, this._diagnosticReporter)
        : _allowInterop = _typeEnvironment.coreTypes.index
              .getTopLevelProcedure('dart:js', 'allowInterop'),
          _callMethod = _typeEnvironment.coreTypes.index
              .getTopLevelProcedure('dart:js_util', 'callMethod'),
          _createStaticInteropMock = _typeEnvironment.coreTypes.index
              .getTopLevelProcedure('dart:js_util', 'createStaticInteropMock'),
          _functionType = _typeEnvironment.coreTypes.functionNonNullableRawType,
          _getProperty = _typeEnvironment.coreTypes.index
              .getTopLevelProcedure('dart:js_util', 'getProperty'),
          _globalThis = _typeEnvironment.coreTypes.index
              .getTopLevelProcedure('dart:js_util', 'get:globalThis'),
          _objectType = _typeEnvironment.coreTypes.objectNonNullableRawType,
          _setProperty = _typeEnvironment.coreTypes.index
              .getTopLevelProcedure('dart:js_util', 'setProperty') {
      _extensionVisitor = _ExtensionVisitor(_staticInteropClassesWithExtensions);
    }
  
  