| 946 | } |
| 947 | |
| 948 | Local<Object> CallbackHandlers::FindClass(Isolate *isolate, const string &className) { |
| 949 | Local<Object> clazz; |
| 950 | JEnv env; |
| 951 | |
| 952 | jclass c = env.FindClass(className); |
| 953 | if (env.ExceptionCheck() == JNI_FALSE) { |
| 954 | auto runtime = Runtime::GetRuntime(isolate); |
| 955 | auto objectManager = runtime->GetObjectManager(); |
| 956 | |
| 957 | jint javaObjectID = objectManager->GetOrCreateObjectId(c); |
| 958 | clazz = objectManager->GetJsObjectByJavaObject(javaObjectID); |
| 959 | |
| 960 | if (clazz.IsEmpty()) { |
| 961 | clazz = objectManager->CreateJSWrapper(javaObjectID, "Ljava/lang/Class;", c); |
| 962 | } |
| 963 | } |
| 964 | return clazz; |
| 965 | } |
| 966 | |
| 967 | int CallbackHandlers::GetArrayLength(Isolate *isolate, const Local<Object> &arr) { |
| 968 | auto runtime = Runtime::GetRuntime(isolate); |
no test coverage detected