From da150343f745ea03219edb92907794dde5acebaa Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Fri, 23 Apr 2021 15:57:58 -0700 Subject: [PATCH] TM Create: log error when method queue is nil Summary: When TurboModuleManager creates TurboModules, it creates and assigns a method queue to the module using ObjC's Associated Object API: https://www.internalfb.com/code/fbsource/[c91dc16f4b63]/xplat/js/react-native-github/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm?lines=636 Down the line, we retrieve this method queue, and use it to create a native CallInvoker: https://www.internalfb.com/code/fbsource/[c91dc16f4b63abd05c7c9a038e88ca692a453c69]/xplat/js/react-native-github/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm?lines=279-284 We should assert that this method queue isn't nil. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D27956219 fbshipit-source-id: 2554cf2bffc732bb895e6dc082338a38b05f6580 --- .../nativemodule/core/platform/ios/RCTTurboModuleManager.mm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm b/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm index cd373ef7144..804f4012cec 100644 --- a/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +++ b/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm @@ -277,6 +277,9 @@ static Class getFallbackClassFromName(const char *name) Class moduleClass = [module class]; dispatch_queue_t methodQueue = (dispatch_queue_t)objc_getAssociatedObject(module, &kAssociatedMethodQueueKey); + if (methodQueue == nil) { + RCTLogError(@"TurboModule \"%@\" was not associated with a method queue.", moduleClass); + } /** * Step 2c: Create and native CallInvoker from the TurboModule's method queue.