77
88package com.facebook.react.internal.turbomodule.core
99
10- import com.facebook.infer.annotation.Assertions
1110import com.facebook.proguard.annotations.DoNotStrip
1211import com.facebook.react.bridge.Callback
1312import com.facebook.react.bridge.Dynamic
@@ -56,9 +55,9 @@ internal object TurboModuleInteropUtils {
5655 if (returnType != MutableMap ::class .java) {
5756 throw ParsingException (moduleName, " getConstants must return a Map" )
5857 }
59- } else if (annotation != null &&
60- (annotation.isBlockingSynchronousMethod && returnType == Void .TYPE ||
61- ! annotation.isBlockingSynchronousMethod && returnType != Void .TYPE )) {
58+ } else if (( annotation != null ) &&
59+ (( annotation.isBlockingSynchronousMethod && returnType == java.lang. Void .TYPE ) ||
60+ ( ! annotation.isBlockingSynchronousMethod && returnType != java.lang. Void .TYPE ) )) {
6261 throw ParsingException (
6362 moduleName,
6463 " TurboModule system assumes returnType == void iff the method is synchronous." )
@@ -77,8 +76,8 @@ internal object TurboModuleInteropUtils {
7776
7877 private fun getMethodsFromModule (module : NativeModule ): Array <Method > {
7978 var classForMethods: Class <out NativeModule > = module.javaClass
80- val superClass = classForMethods.superclass as Class <out NativeModule >
81- if (TurboModule ::class .java.isAssignableFrom(superClass)) {
79+ val superClass = classForMethods.superclass as ? Class <out NativeModule >
80+ if (superClass != null && TurboModule ::class .java.isAssignableFrom(superClass)) {
8281 // For java module that is based on generated flow-type spec, inspect the
8382 // spec abstract class instead, which is the super class of the given java
8483 // module.
@@ -123,11 +122,11 @@ internal object TurboModuleInteropUtils {
123122 return " F"
124123 }
125124
126- if (paramClass == Boolean ::class .java ||
127- paramClass == Int ::class .java ||
128- paramClass == Double ::class .java ||
129- paramClass == Float ::class .java ||
130- paramClass == String ::class .java ||
125+ if (paramClass == java.lang. Boolean ::class .java ||
126+ paramClass == java.lang. Integer ::class .java ||
127+ paramClass == java.lang. Double ::class .java ||
128+ paramClass == java.lang. Float ::class .java ||
129+ paramClass == java.lang. String ::class .java ||
131130 paramClass == Callback ::class .java ||
132131 paramClass == Promise ::class .java ||
133132 paramClass == ReadableMap ::class .java ||
@@ -147,31 +146,31 @@ internal object TurboModuleInteropUtils {
147146 methodName : String ,
148147 returnClass : Class <* >
149148 ): String {
150- if (returnClass == Boolean ::class .javaPrimitiveType) {
149+ if (returnClass == java.lang. Boolean ::class .javaPrimitiveType) {
151150 return " Z"
152151 }
153152
154- if (returnClass == Int ::class .javaPrimitiveType) {
153+ if (returnClass == java.lang. Integer ::class .javaPrimitiveType) {
155154 return " I"
156155 }
157156
158- if (returnClass == Double ::class .javaPrimitiveType) {
157+ if (returnClass == java.lang. Double ::class .javaPrimitiveType) {
159158 return " D"
160159 }
161160
162- if (returnClass == Float ::class .javaPrimitiveType) {
161+ if (returnClass == java.lang. Float ::class .javaPrimitiveType) {
163162 return " F"
164163 }
165164
166- if (returnClass == Void .TYPE ) {
165+ if (returnClass == java.lang. Void .TYPE ) {
167166 return " V"
168167 }
169168
170- if (returnClass == Boolean ::class .java ||
171- returnClass == Int ::class .java ||
172- returnClass == Double ::class .java ||
173- returnClass == Float ::class .java ||
174- returnClass == String ::class .java ||
169+ if (returnClass == java.lang. Boolean ::class .java ||
170+ returnClass == java.lang. Integer ::class .java ||
171+ returnClass == java.lang. Double ::class .java ||
172+ returnClass == java.lang. Float ::class .java ||
173+ returnClass == java.lang. String ::class .java ||
175174 returnClass == WritableMap ::class .java ||
176175 returnClass == WritableArray ::class .java ||
177176 returnClass == MutableMap ::class .java) {
@@ -186,8 +185,8 @@ internal object TurboModuleInteropUtils {
186185
187186 private fun convertClassToJniType (cls : Class <* >): String {
188187 val canonicalName = cls.canonicalName
189- Assertions .assertNotNull (canonicalName, " Class must have a canonical name" )
190- return ' L' .toString() + canonicalName!! .replace(' .' , ' /' ) + ' ;'
188+ requireNotNull (canonicalName) { " Class must have a canonical name" }
189+ return ' L' .toString() + canonicalName.replace(' .' , ' /' ) + ' ;'
191190 }
192191
193192 private fun getJsArgCount (
@@ -234,24 +233,25 @@ internal object TurboModuleInteropUtils {
234233 i + = 1
235234 }
236235
237- if (returnClass == Boolean ::class .javaPrimitiveType || returnClass == Boolean ::class .java) {
236+ if (returnClass == java.lang.Boolean ::class .javaPrimitiveType ||
237+ returnClass == java.lang.Boolean ::class .java) {
238238 return " BooleanKind"
239239 }
240240
241- if (returnClass == Double ::class .javaPrimitiveType ||
242- returnClass == Double ::class .java ||
243- returnClass == Float ::class .javaPrimitiveType ||
244- returnClass == Float ::class .java ||
245- returnClass == Int ::class .javaPrimitiveType ||
246- returnClass == Int ::class .java) {
241+ if (returnClass == java.lang. Double ::class .javaPrimitiveType ||
242+ returnClass == java.lang. Double ::class .java ||
243+ returnClass == java.lang. Float ::class .javaPrimitiveType ||
244+ returnClass == java.lang. Float ::class .java ||
245+ returnClass == java.lang. Integer ::class .javaPrimitiveType ||
246+ returnClass == java.lang. Integer ::class .java) {
247247 return " NumberKind"
248248 }
249249
250- if (returnClass == String ::class .java) {
250+ if (returnClass == java.lang. String ::class .java) {
251251 return " StringKind"
252252 }
253253
254- if (returnClass == Void .TYPE ) {
254+ if (returnClass == java.lang. Void .TYPE ) {
255255 return " VoidKind"
256256 }
257257
0 commit comments