anchor.diff:  
     @override
     js_ast.Expression visitPropertyGet(PropertyGet node) {
  -    return _emitPropertyGet(
  -        node.receiver, node.interfaceTarget, node.name.text);
  +    var propertyGet =
  +        _emitPropertyGet(node.receiver, node.interfaceTarget, node.name.text);
  +    if (_isCheckableNative(node.interfaceTarget)) {
  +      // If target is a native getter with a non-nullable type, add a null check
  +      // for soundness.
  +      return runtimeCall('checkNativeNonNull(#)', [propertyGet]);
  +    }
  +    return propertyGet;
     }
   
     @override
  
positive.code: 
    @override
    js_ast.Expression visitMethodInvocation(MethodInvocation node) {
      return _emitMethodCall(
          node.receiver, node.interfaceTarget, node.arguments, node);
    }
  
    js_ast.Expression _emitMethodCall(Expression receiver, Member target,
  
negative.code:   }
  
    /// Return whether [member] returns a native object whose type needs to be
    /// checked.
    bool _isCheckableNative(Member member) =>
        member != null &&
        member.isExternal &&
        _extensionTypes.isNativeClass(member.enclosingClass) &&
  