| 15 | using namespace tns; |
| 16 | |
| 17 | JsArgConverter::JsArgConverter(const Local<Object> &caller, |
| 18 | const v8::FunctionCallbackInfo<Value> &args, |
| 19 | const string &methodSignature, MetadataEntry *entry) |
| 20 | : m_isolate(args.GetIsolate()), m_methodSignature(methodSignature), m_isValid(true), |
| 21 | m_error(Error()) { |
| 22 | int v8ProvidedArgumentsLength = args.Length(); |
| 23 | m_argsLen = 1 + v8ProvidedArgumentsLength; |
| 24 | |
| 25 | if (m_argsLen > 0) { |
| 26 | if ((entry != nullptr) && (entry->getIsResolved())) { |
| 27 | if (entry->parsedSig.empty()) { |
| 28 | JniSignatureParser parser(m_methodSignature); |
| 29 | entry->parsedSig = parser.Parse(); |
| 30 | } |
| 31 | m_tokens = entry->parsedSig; |
| 32 | } else { |
| 33 | JniSignatureParser parser(m_methodSignature); |
| 34 | m_tokens = parser.Parse(); |
| 35 | } |
| 36 | |
| 37 | m_isValid = ConvertArg(caller, 0); |
| 38 | |
| 39 | if (!m_isValid) { |
| 40 | throw NativeScriptException("Error while converting argument!"); |
| 41 | } |
| 42 | |
| 43 | for (int i = 0; i < v8ProvidedArgumentsLength; i++) { |
| 44 | m_isValid = ConvertArg(args[i], i + 1); |
| 45 | |
| 46 | if (!m_isValid) { |
| 47 | break; |
| 48 | } |
| 49 | } |
| 50 | } |
| 51 | } |
| 52 | |
| 53 | JsArgConverter::JsArgConverter(const v8::FunctionCallbackInfo<Value> &args, |
| 54 | bool hasImplementationObject, const string &methodSignature, |
nothing calls this directly
no test coverage detected