| 212 | } |
| 213 | |
| 214 | string MethodCache::ResolveJavaMethod(const FunctionCallbackInfo<Value>& args, const string& className, const string& methodName) { |
| 215 | JEnv env; |
| 216 | |
| 217 | JsArgToArrayConverter argConverter(args, false); |
| 218 | |
| 219 | auto canonicalClassName = Util::ConvertFromJniToCanonicalName(className); |
| 220 | JniLocalRef jsClassName(env.NewStringUTF(canonicalClassName.c_str())); |
| 221 | JniLocalRef jsMethodName(env.NewStringUTF(methodName.c_str())); |
| 222 | |
| 223 | jobjectArray arrArgs = argConverter.ToJavaArray(); |
| 224 | |
| 225 | auto runtime = Runtime::GetRuntime(args.GetIsolate()); |
| 226 | |
| 227 | jstring signature = (jstring) env.CallObjectMethod(runtime->GetJavaRuntime(), RESOLVE_METHOD_OVERLOAD_METHOD_ID, (jstring) jsClassName, (jstring) jsMethodName, arrArgs); |
| 228 | |
| 229 | string resolvedSignature; |
| 230 | |
| 231 | const char* str = env.GetStringUTFChars(signature, nullptr); |
| 232 | resolvedSignature = string(str); |
| 233 | env.ReleaseStringUTFChars(signature, str); |
| 234 | |
| 235 | env.DeleteLocalRef(signature); |
| 236 | |
| 237 | return resolvedSignature; |
| 238 | } |
| 239 | |
| 240 | string MethodCache::ResolveConstructor(const FunctionCallbackInfo<Value>& args, jclass javaClass, bool isInterface) { |
| 241 | JEnv env; |
nothing calls this directly
no test coverage detected