From ac8b01fb6f27353d0bb59fa94aca523bfaff1c71 Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Thu, 24 Apr 2025 11:41:11 -0700 Subject: [PATCH] Fix OSS build error in JavaModuleWrapper (#50905) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/50905 Subtle compiler differences cause this to fail, but we can just `Class<*>` here instead. Changelog: [Internal] Reviewed By: cortinico, rshest Differential Revision: D73593304 fbshipit-source-id: ea3996fc0641ae5d12a6923bd78645e21232afe7 --- .../java/com/facebook/react/bridge/JavaModuleWrapper.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt index 82ed73e8239..922dbfefc8e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt @@ -60,14 +60,13 @@ internal class JavaModuleWrapper( private fun findMethods() { Systrace.beginSection(TRACE_TAG_REACT, "findMethods") - var classForMethods: Class = moduleHolder.module.javaClass + var classForMethods: Class<*> = moduleHolder.module.javaClass val superClass = classForMethods.superclass - if (TurboModule::class.java.isAssignableFrom(superClass)) { + if (superClass != null && TurboModule::class.java.isAssignableFrom(superClass)) { // For java module that is based on generated flow-type spec, inspect the // spec abstract class instead, which is the super class of the given Java // module. - @Suppress("UNCHECKED_CAST") - classForMethods = superClass as Class + classForMethods = superClass } val targetMethods = classForMethods.declaredMethods