apicompatanamdw/compatanalysercmd/headeranalyser/src/ClassNodeAnalysis.h
changeset 3 ebe3f8f03b59
parent 0 638b9c697799
equal deleted inserted replaced
2:0cb2248d0edc 3:ebe3f8f03b59
    35 XERCES_CPP_NAMESPACE_USE
    35 XERCES_CPP_NAMESPACE_USE
    36 
    36 
    37 
    37 
    38 
    38 
    39 template <TIssueType IssueType>
    39 template <TIssueType IssueType>
    40 void AddIssueClass(const HANodeIterator* self,TIssueIdentity classType, const HANodeIterator& ignorenode, int lineNo, const XMLCh* fileid=NULL)
    40 void AddIssueClass(const HANodeIterator* self,TIssueIdentity classType, const HANodeIterator& ignorenode, int lineNo, 
       
    41 				   const string& issueloc,const XMLCh* fileid=NULL)
    41 {
    42 {
    42 	switch (classType)
    43 	switch (classType)
    43 	{
    44 	{
    44     case EIssueIdentityClass:
    45     case EIssueIdentityClass:
    45 		AddIssue<EIssueIdentityClass,IssueType>(self,ignorenode,lineNo,fileid);
    46 		AddIssue<EIssueIdentityClass,IssueType>(self,ignorenode,lineNo,issueloc,fileid);
    46 		break;
    47 		break;
    47     case EIssueIdentityStruct:
    48     case EIssueIdentityStruct:
    48 		AddIssue<EIssueIdentityStruct,IssueType>(self,ignorenode,lineNo,fileid);
    49 		AddIssue<EIssueIdentityStruct,IssueType>(self,ignorenode,lineNo,issueloc,fileid);
    49 		break;
    50 		break;
    50     case EIssueIdentityUnion:
    51     case EIssueIdentityUnion:
    51 		AddIssue<EIssueIdentityUnion,IssueType>(self,ignorenode,lineNo,fileid);
    52 		AddIssue<EIssueIdentityUnion,IssueType>(self,ignorenode,lineNo,issueloc,fileid);
    52 		break;
    53 		break;
    53 	default:
    54 	default:
    54 		assert(false);
    55 		assert(false);
    55 		break;
    56 		break;
    56 
    57 
    57 	};
    58 	};
    58 }
    59 }
    59 
    60 
    60 template <TIssueType IssueType>
    61 template <TIssueType IssueType>
    61 void AddIssueField(const HANodeIterator* self,TIssueIdentity classType, const HANodeIterator& ignorenode, int lineNo, const XMLCh* fileid=NULL, const string name = "")
    62 void AddIssueField(const HANodeIterator* self,TIssueIdentity classType, const HANodeIterator& ignorenode, int lineNo, 
       
    63 				   const string& issueLoc, const XMLCh* fileid=NULL, const string name = "")
    62 {
    64 {
    63 	switch (classType)
    65 	switch (classType)
    64 	{
    66 	{
    65     case EIssueIdentityField:
    67     case EIssueIdentityField:
    66 		AddIssue<EIssueIdentityField,IssueType>(self,ignorenode,lineNo,fileid,name);
    68 		AddIssue<EIssueIdentityField,IssueType>(self,ignorenode,lineNo,issueLoc,fileid,name);
    67 		break;
    69 		break;
    68     case EIssueIdentityFieldInaccessible:
    70     case EIssueIdentityFieldInaccessible:
    69 		AddIssue<EIssueIdentityFieldInaccessible,IssueType>(self,ignorenode,lineNo,fileid, name);
    71 		AddIssue<EIssueIdentityFieldInaccessible,IssueType>(self,ignorenode,lineNo,issueLoc,fileid, name);
    70 		break;
    72 		break;
    71 	default:
    73 	default:
    72 		assert(false);
    74 		assert(false);
    73 		break;
    75 		break;
    74 
    76 
    82 * @param ignorenode reference to node
    84 * @param ignorenode reference to node
    83 * @param fileid pointer to fileid 
    85 * @param fileid pointer to fileid 
    84 * @param name reference to name
    86 * @param name reference to name
    85 */
    87 */
    86 template <TIssueType IssueType>
    88 template <TIssueType IssueType>
    87 void AddIssueField(const HANodeIterator* self,TIssueIdentity classType, const HANodeIterator& ignorenode, int lineNo,const XMLCh* fileid, const DataMember & name)
    89 void AddIssueField(const HANodeIterator* self,TIssueIdentity classType, const HANodeIterator& ignorenode, int lineNo,
       
    90 				   const string& issueLoc, const XMLCh* fileid, const DataMember & name)
    88 {
    91 {
    89 	switch (classType)
    92 	switch (classType)
    90 	{
    93 	{
    91     case EIssueIdentityField:
    94     case EIssueIdentityField:
    92 		AddIssue<EIssueIdentityField,IssueType>(self,ignorenode,lineNo,fileid,name);
    95 		AddIssue<EIssueIdentityField,IssueType>(self,ignorenode,lineNo,issueLoc,fileid,name);
    93 		break;
    96 		break;
    94     case EIssueIdentityFieldInaccessible:
    97     case EIssueIdentityFieldInaccessible:
    95 		AddIssue<EIssueIdentityFieldInaccessible,IssueType>(self,ignorenode,lineNo,fileid, name);
    98 		AddIssue<EIssueIdentityFieldInaccessible,IssueType>(self,ignorenode,lineNo,issueLoc,fileid, name);
    96 		break;
    99 		break;
    97 	default:
   100 	default:
    98 		assert(false);
   101 		assert(false);
    99 		break;
   102 		break;
   100 
   103