2091 const XMLCh* basereturnatt; |
2091 const XMLCh* basereturnatt; |
2092 const XMLCh* basemangledatt; |
2092 const XMLCh* basemangledatt; |
2093 if(Equals(baseMathodID,KXMLMethodString)) |
2093 if(Equals(baseMathodID,KXMLMethodString)) |
2094 { |
2094 { |
2095 basenameatt = basemethod.GetAttribute(KXMLNameString); |
2095 basenameatt = basemethod.GetAttribute(KXMLNameString); |
|
2096 |
2096 HANodeIterator baseReturMathod(basemethod); |
2097 HANodeIterator baseReturMathod(basemethod); |
2097 bool ret = baseReturMathod.FindNodeById(basemethod.GetAttribute(KXMLReturnsString)); |
2098 bool ret = baseReturMathod.FindNodeById(basemethod.GetAttribute(KXMLReturnsString)); |
2098 basereturnatt = baseReturMathod.GetAttribute(KXMLNameString); |
2099 basereturnatt = GetActualTypeValue(baseReturMathod); |
|
2100 |
2099 basemangledatt = basemethod.GetAttribute(KXMLMangledString); |
2101 basemangledatt = basemethod.GetAttribute(KXMLMangledString); |
2100 } |
2102 } |
2101 for( ; cIter != cexportedMethods.end(); ++cIter) |
2103 for( ; cIter != cexportedMethods.end(); ++cIter) |
2102 { |
2104 { |
2103 HANodeIterator currentmethod(current); |
2105 HANodeIterator currentmethod(current); |
2119 const XMLCh* curMathodID = currentmethod->getNodeName(); |
2121 const XMLCh* curMathodID = currentmethod->getNodeName(); |
2120 if(Equals(curMathodID,KXMLMethodString)) |
2122 if(Equals(curMathodID,KXMLMethodString)) |
2121 { |
2123 { |
2122 HANodeIterator curReturMathod(currentmethod); |
2124 HANodeIterator curReturMathod(currentmethod); |
2123 bool ret1 = curReturMathod.FindNodeById(currentmethod.GetAttribute(KXMLReturnsString)); |
2125 bool ret1 = curReturMathod.FindNodeById(currentmethod.GetAttribute(KXMLReturnsString)); |
2124 const XMLCh* curReturnatt = curReturMathod.GetAttribute(KXMLNameString); |
2126 const XMLCh* curReturnatt = GetActualTypeValue(curReturMathod); |
2125 |
2127 |
2126 // check for overloaded function, first time matching the name, return type and signature |
2128 // check for overloaded function, first time matching the name, return type and signature |
2127 if( Equals(baseMathodID,KXMLMethodString)&& |
2129 if( Equals(baseMathodID,KXMLMethodString)&& |
2128 Equals(basenameatt, currentmethod.GetAttribute(KXMLNameString)) && |
2130 Equals(basenameatt, currentmethod.GetAttribute(KXMLNameString)) && |
2129 Equals(basereturnatt, curReturnatt) && |
2131 Equals(basereturnatt, curReturnatt) && |
2305 const XMLCh* curMathodID = currentmethod->getNodeName(); |
2307 const XMLCh* curMathodID = currentmethod->getNodeName(); |
2306 if(Equals(curMathodID,KXMLMethodString)) |
2308 if(Equals(curMathodID,KXMLMethodString)) |
2307 { |
2309 { |
2308 HANodeIterator curReturMathod(currentmethod); |
2310 HANodeIterator curReturMathod(currentmethod); |
2309 bool ret1 = curReturMathod.FindNodeById(currentmethod.GetAttribute(KXMLReturnsString)); |
2311 bool ret1 = curReturMathod.FindNodeById(currentmethod.GetAttribute(KXMLReturnsString)); |
2310 const XMLCh* curReturnatt = curReturMathod.GetAttribute(KXMLNameString); |
2312 const XMLCh* curReturnatt = GetActualTypeValue(curReturMathod); |
2311 |
2313 |
2312 const XMLCh* lineNumber1 = GetAttribute(currentmethod.current,KXMLLineString); |
2314 const XMLCh* lineNumber1 = GetAttribute(currentmethod.current,KXMLLineString); |
2313 lineNo = atoi(toString(lineNumber1).c_str()); |
2315 lineNo = atoi(toString(lineNumber1).c_str()); |
2314 const XMLCh* fnameNode = currentmethod.GetAttribute(KXMLFileIdString); |
2316 const XMLCh* fnameNode = currentmethod.GetAttribute(KXMLFileIdString); |
2315 if(fnameNode != NULL) |
2317 if(fnameNode != NULL) |
2316 { |
2318 { |
2317 HANodeIterator filenode1(currentmethod); |
2319 HANodeIterator filenode1(currentmethod); |
2318 ret1 = filenode1.FindNodeById(fnameNode); |
2320 bool ret1 = filenode1.FindNodeById(fnameNode); |
2319 fileName = toString(filenode1.GetAttribute(KXMLNameString)); |
2321 fileName = toString(filenode1.GetAttribute(KXMLNameString)); |
2320 } |
2322 } |
2321 |
2323 |
2322 if(Equals(basenameatt, currentmethod.GetAttribute(KXMLNameString)) && |
2324 if(Equals(basenameatt, currentmethod.GetAttribute(KXMLNameString)) && |
2323 Equals(basereturnatt, curReturnatt ) && |
2325 Equals(basereturnatt, curReturnatt ) && |
2341 const XMLCh* bMathodID = bmethod->getNodeName(); |
2343 const XMLCh* bMathodID = bmethod->getNodeName(); |
2342 if(Equals(bMathodID,KXMLMethodString)) |
2344 if(Equals(bMathodID,KXMLMethodString)) |
2343 { |
2345 { |
2344 HANodeIterator returMathod(bmethod); |
2346 HANodeIterator returMathod(bmethod); |
2345 bool ret1 = returMathod.FindNodeById(bmethod.GetAttribute(KXMLReturnsString)); |
2347 bool ret1 = returMathod.FindNodeById(bmethod.GetAttribute(KXMLReturnsString)); |
2346 const XMLCh* returnatt = returMathod.GetAttribute(KXMLNameString); |
2348 const XMLCh* returnatt = GetActualTypeValue(returMathod); |
2347 |
2349 |
2348 if(Equals(basenameatt, bmethod.GetAttribute(KXMLNameString)) && |
2350 if(Equals(basenameatt, bmethod.GetAttribute(KXMLNameString)) && |
2349 Equals(basereturnatt, returnatt) && |
2351 Equals(basereturnatt, returnatt) && |
2350 !Equals(basemangledatt, bmethod.GetAttribute(KXMLMangledString)) ) |
2352 !Equals(basemangledatt, bmethod.GetAttribute(KXMLMangledString)) ) |
2351 { |
2353 { |