MCPcopy Create free account
hub / github.com/NativeScript/android / JsArgConverter

Method JsArgConverter

test-app/runtime/src/main/cpp/JsArgConverter.cpp:17–51  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15using namespace tns;
16
17JsArgConverter::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
53JsArgConverter::JsArgConverter(const v8::FunctionCallbackInfo<Value> &args,
54 bool hasImplementationObject, const string &methodSignature,

Callers

nothing calls this directly

Calls 7

getIsResolvedMethod · 0.80
ParseMethod · 0.80
ErrorClass · 0.70
GetIsolateMethod · 0.45
LengthMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected