| 424 | } |
| 425 | |
| 426 | jobjectArray JsArgToArrayConverter::ToJavaArray() { |
| 427 | if ((m_arr == nullptr) && (m_argsLen > 0)) { |
| 428 | if (m_argsLen >= JsArgToArrayConverter::MAX_JAVA_PARAMS_COUNT) { |
| 429 | stringstream ss; |
| 430 | ss << "You are trying to override more than the MAX_JAVA_PARAMS_COUNT: " |
| 431 | << JsArgToArrayConverter::MAX_JAVA_PARAMS_COUNT; |
| 432 | throw NativeScriptException(ss.str()); |
| 433 | } |
| 434 | |
| 435 | JEnv env; |
| 436 | |
| 437 | if (JsArgToArrayConverter::JAVA_LANG_OBJECT_CLASS == nullptr) { |
| 438 | JsArgToArrayConverter::JAVA_LANG_OBJECT_CLASS = env.FindClass("java/lang/Object"); |
| 439 | } |
| 440 | |
| 441 | JniLocalRef tmpArr( |
| 442 | env.NewObjectArray(m_argsLen, JsArgToArrayConverter::JAVA_LANG_OBJECT_CLASS, |
| 443 | nullptr)); |
| 444 | m_arr = (jobjectArray) env.NewGlobalRef(tmpArr); |
| 445 | |
| 446 | for (int i = 0; i < m_argsLen; i++) { |
| 447 | env.SetObjectArrayElement(m_arr, i, m_argsAsObject[i]); |
| 448 | } |
| 449 | } |
| 450 | |
| 451 | return m_arr; |
| 452 | } |
| 453 | |
| 454 | JsArgToArrayConverter::~JsArgToArrayConverter() { |
| 455 | if (m_argsLen > 0) { |
no test coverage detected