apicompatanamdw/compatanalysercmd/headeranalyser/src/BBCAnalyser.cpp
changeset 12 a0eee409ff14
parent 3 ebe3f8f03b59
equal deleted inserted replaced
11:bdd2944b914b 12:a0eee409ff14
  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 						{