1 // Copyright © 2021-present 650 Industries, Inc. (aka Expo)
2 
3 #include "JNIFunctionBody.h"
4 
5 namespace jni = facebook::jni;
6 namespace react = facebook::react;
7 
8 namespace expo {
9 jni::local_ref<react::ReadableNativeArray::javaobject>
10 JNIFunctionBody::invoke(jni::local_ref<jni::JArrayClass<jobject>> &&args) {
11   static const auto method = getClass()->getMethod<
12     react::ReadableNativeArray::javaobject(jni::local_ref<jni::JArrayClass<jobject>>)
13   >(
14     "invoke"
15   );
16 
17   return method(this->self(), args);
18 }
19 
20 void JNIAsyncFunctionBody::invoke(
21   jni::local_ref<jni::JArrayClass<jobject>> &&args,
22   jobject promise
23 ) {
24   static const auto method = getClass()->getMethod<
25     void(jni::local_ref<jni::JArrayClass<jobject>>, jobject)
26   >(
27     "invoke"
28   );
29 
30   method(this->self(), args, promise);
31 }
32 } // namespace expo
33