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

Method GetSignature

test-app/runtime/src/main/cpp/MetadataMethodInfo.cpp:20–55  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18}
19
20std::string MethodInfo::GetSignature() { //use nodeId's to read the whole signature
21 auto m_reader = MetadataNode::getMetadataReader();
22 string signature = "(";
23 string ret;
24 for (int i = 0; i < m_signatureLength; i++) {
25 uint16_t nodeId = nodeIds[i];
26 string curArgTypeName = m_reader->ReadTypeName(nodeId);
27 MetadataTreeNode* node = m_reader->GetNodeById(nodeId);
28
29 uint8_t nodeType = m_reader->GetNodeType(node);
30 bool isRefType = m_reader->IsNodeTypeClass(nodeType) || m_reader->IsNodeTypeInterface(nodeType);
31 if (i == 0) {
32 if ((curArgTypeName[0] != '[') && isRefType) {
33 ret.append("L");
34 }
35 ret.append(curArgTypeName);
36 if ((curArgTypeName[0] != '[') && isRefType) {
37 ret.append(";");
38 }
39 } else {
40 if ((curArgTypeName[0] != '[') && isRefType) {
41 signature.append("L");
42 }
43 signature.append(curArgTypeName);
44 if ((curArgTypeName[0] != '[') && isRefType) {
45 signature.append(";");
46 }
47 }
48 }
49 if (ret.empty()) {
50 ret = "V";
51 }
52 signature += ")" + ret;
53
54 return signature;
55}
56
57std::string MethodInfo::GetDeclaringType() {
58 auto m_reader = MetadataNode::getMetadataReader();

Callers 1

MetadataEntry.cppFile · 0.80

Calls 7

GetNodeByIdMethod · 0.80
GetNodeTypeMethod · 0.80
IsNodeTypeClassMethod · 0.80
appendMethod · 0.65
ReadTypeNameMethod · 0.45
IsNodeTypeInterfaceMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected