equal
deleted
inserted
replaced
136 const char* KIssueTypeChangeInType = "has changed its type"; |
136 const char* KIssueTypeChangeInType = "has changed its type"; |
137 const char* KIssueTypeChangeInInitialisation = "has changed its initialisation value"; |
137 const char* KIssueTypeChangeInInitialisation = "has changed its initialisation value"; |
138 const char* KIssueTypeNewOverride = "overridden in derivable class"; |
138 const char* KIssueTypeNewOverride = "overridden in derivable class"; |
139 //const char* KIssueTypeRemovedOverride = "removed override in derivable class"; |
139 //const char* KIssueTypeRemovedOverride = "removed override in derivable class"; |
140 const char* KIssueTypeEmpty = "contains nothing to be analysed"; |
140 const char* KIssueTypeEmpty = "contains nothing to be analysed"; |
|
141 const char* KIssueTypeDefaultParam = "has changed one of its default parameters"; |
|
142 const char* KIssueTypeOverload = "has been overloaded"; |
|
143 |
141 |
144 |
142 // Table of the issue type descriptions |
145 // Table of the issue type descriptions |
143 const char* KIssueTypeDesc[EIssueTypeCount] = |
146 const char* KIssueTypeDesc[EIssueTypeCount] = |
144 { |
147 { |
145 KIssueTypeRemoval, |
148 KIssueTypeRemoval, |
164 KIssueTypeBaseSize, |
167 KIssueTypeBaseSize, |
165 KIssueTypeUnderConstruction, |
168 KIssueTypeUnderConstruction, |
166 KIssueTypeParamConst, |
169 KIssueTypeParamConst, |
167 KIssueTypeParamConst2, |
170 KIssueTypeParamConst2, |
168 KIssueTypeReturnConst, |
171 KIssueTypeReturnConst, |
169 KIssueTypeReturnConst2 |
172 KIssueTypeReturnConst2, |
|
173 KIssueTypeDefaultParam, |
|
174 KIssueTypeOverload |
170 }; |
175 }; |
171 |
176 |
172 template <typename T> |
177 template <typename T> |
173 string GetIgnoreInfoFromAttribute(const HANodeIterator& node, const T* attribute) |
178 string GetIgnoreInfoFromAttribute(const HANodeIterator& node, const T* attribute) |
174 { |
179 { |
553 |
558 |
554 } |
559 } |
555 return ignoreinfo; |
560 return ignoreinfo; |
556 } |
561 } |
557 |
562 |
558 // Param non-const to const, |
563 // Param, |
559 // ESeverityNULL, |
564 // ESeverityInformative, |
560 template <> TBCSeverity BCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeParamConst>(bool accessible) |
565 template <> TBCSeverity BCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeDefaultParam>(bool accessible) |
561 { |
566 { |
562 if ( !accessible ) |
567 return ESeverityInformative; |
563 { |
568 } |
564 return ESeverityNULL; |
569 template <> string ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeDefaultParam>(const HANodeIterator& baseline,const HANodeIterator& current) |
565 } |
570 { |
566 return ESeverityNULL; |
571 string ignoreinfo=KIgnoreInfoNone; |
567 } |
|
568 template <> string ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeParamConst>(const HANodeIterator& baseline,const HANodeIterator& current) |
|
569 { |
|
570 string ignoreinfo=KIgnoreInfoNone; |
|
571 //ignoreinfo = GenerateFunctionSignature(*this); |
|
572 DOMElement * element = static_cast<DOMElement*>(current.current); |
572 DOMElement * element = static_cast<DOMElement*>(current.current); |
573 DOMNodeList* childs = element->getChildNodes(); |
573 DOMNodeList* childs = element->getChildNodes(); |
574 |
574 |
575 XMLSize_t childcount = childs->getLength(); |
575 XMLSize_t childcount = childs->getLength(); |
576 |
576 |
597 |
597 |
598 } |
598 } |
599 return ignoreinfo; |
599 return ignoreinfo; |
600 } |
600 } |
601 |
601 |
602 // Param const to non-const, |
602 // Param non-const to const, |
603 // ESeverityFCBreak, |
603 // ESeverityNULL, |
604 template <> TBCSeverity BCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeParamConst2>(bool accessible) |
604 template <> TBCSeverity BCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeParamConst>(bool accessible) |
605 { |
605 { |
606 if ( !accessible ) |
606 if ( !accessible ) |
607 { |
607 { |
608 return ESeverityPossibleFCBreak; |
608 return ESeverityNULL; |
609 } |
609 } |
610 return ESeverityFCBreak; |
610 return ESeverityNULL; |
611 } |
611 } |
612 template <> string ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeParamConst2>(const HANodeIterator& baseline,const HANodeIterator& current) |
612 template <> string ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeParamConst>(const HANodeIterator& baseline,const HANodeIterator& current) |
613 { |
613 { |
614 string ignoreinfo=KIgnoreInfoNone; |
614 string ignoreinfo=KIgnoreInfoNone; |
615 //ignoreinfo = GenerateFunctionSignature(*this); |
615 //ignoreinfo = GenerateFunctionSignature(*this); |
616 DOMElement * element = static_cast<DOMElement*>(current.current); |
616 DOMElement * element = static_cast<DOMElement*>(current.current); |
617 DOMNodeList* childs = element->getChildNodes(); |
617 DOMNodeList* childs = element->getChildNodes(); |
641 |
641 |
642 } |
642 } |
643 return ignoreinfo; |
643 return ignoreinfo; |
644 } |
644 } |
645 |
645 |
|
646 // Param const to non-const, |
|
647 // ESeverityFCBreak, |
|
648 template <> TBCSeverity BCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeParamConst2>(bool accessible) |
|
649 { |
|
650 if ( !accessible ) |
|
651 { |
|
652 return ESeverityPossibleFCBreak; |
|
653 } |
|
654 return ESeverityFCBreak; |
|
655 } |
|
656 template <> string ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeParamConst2>(const HANodeIterator& baseline,const HANodeIterator& current) |
|
657 { |
|
658 string ignoreinfo=KIgnoreInfoNone; |
|
659 //ignoreinfo = GenerateFunctionSignature(*this); |
|
660 DOMElement * element = static_cast<DOMElement*>(current.current); |
|
661 DOMNodeList* childs = element->getChildNodes(); |
|
662 |
|
663 XMLSize_t childcount = childs->getLength(); |
|
664 |
|
665 unsigned int i = 0; |
|
666 for (i = 0; i < childcount; ++i) |
|
667 { |
|
668 DOMNode* child = childs->item(i); |
|
669 HANodeIterator childit(current); |
|
670 childit.current = child; |
|
671 |
|
672 short nodetype = childit->getNodeType(); |
|
673 if (nodetype == DOMNode::ELEMENT_NODE) |
|
674 { |
|
675 const XMLCh * defaultval = childit.GetAttribute(KXMLDefaultString); |
|
676 if ( defaultval ) |
|
677 { |
|
678 ignoreinfo += toString(defaultval); |
|
679 } |
|
680 else |
|
681 { |
|
682 } |
|
683 ignoreinfo += ";"; |
|
684 } |
|
685 |
|
686 } |
|
687 return ignoreinfo; |
|
688 } |
|
689 |
646 // Return, |
690 // Return, |
647 // ESeverityBBCBreak, |
691 // ESeverityBBCBreak, |
648 template <> TBCSeverity BCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeReturn>(bool accessible) |
692 template <> TBCSeverity BCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeReturn>(bool accessible) |
649 { |
693 { |
650 if ( !accessible ) |
694 if ( !accessible ) |
746 ignoreinfo = toString(access); |
790 ignoreinfo = toString(access); |
747 } |
791 } |
748 return ignoreinfo; |
792 return ignoreinfo; |
749 } |
793 } |
750 |
794 |
|
795 // Overloaded function, |
|
796 // ESeverityBBCBreak, |
|
797 template <> TBCSeverity BCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeOverload>(bool accessible) |
|
798 { |
|
799 if ( !accessible ) |
|
800 { |
|
801 return ESeverityNULL; |
|
802 } |
|
803 return ESeverityBBCBreak; |
|
804 } |
|
805 template <> string ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeOverload>(const HANodeIterator& baseline,const HANodeIterator& current) |
|
806 { |
|
807 string ignoreinfo=KIgnoreInfoNone; |
|
808 return ignoreinfo; |
|
809 } |
|
810 |
751 /////////////////////////////////////////////////////////////////////////////////////////////////////////// |
811 /////////////////////////////////////////////////////////////////////////////////////////////////////////// |
752 //EIssueIdentityInlineFunction, |
812 //EIssueIdentityInlineFunction, |
753 // Removal, |
813 // Removal, |
754 // {ESeverityInformative, |
814 // {ESeverityInformative, |
755 template <> TBCSeverity BCseverityAccessible<EIssueIdentityInlineFunction,EIssueTypeRemoval>(bool accessible) |
815 template <> TBCSeverity BCseverityAccessible<EIssueIdentityInlineFunction,EIssueTypeRemoval>(bool accessible) |
778 template <> string ignoreInfo<EIssueIdentityInlineFunction,EIssueTypeParam>(const HANodeIterator& baseline,const HANodeIterator& current) |
838 template <> string ignoreInfo<EIssueIdentityInlineFunction,EIssueTypeParam>(const HANodeIterator& baseline,const HANodeIterator& current) |
779 { |
839 { |
780 return ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeParam>(baseline,current); |
840 return ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeParam>(baseline,current); |
781 } |
841 } |
782 |
842 |
|
843 // Param, |
|
844 // ESeverityInformative, |
|
845 template <> TBCSeverity BCseverityAccessible<EIssueIdentityInlineFunction,EIssueTypeDefaultParam>(bool accessible) |
|
846 { |
|
847 return ESeverityInformative; |
|
848 } |
|
849 template <> string ignoreInfo<EIssueIdentityInlineFunction,EIssueTypeDefaultParam>(const HANodeIterator& baseline,const HANodeIterator& current) |
|
850 { |
|
851 return ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeDefaultParam>(baseline,current); |
|
852 } |
|
853 |
783 // Param non-const to const, |
854 // Param non-const to const, |
784 // ESeverityNULL, |
855 // ESeverityNULL, |
785 template <> TBCSeverity BCseverityAccessible<EIssueIdentityInlineFunction,EIssueTypeParamConst>(bool accessible) |
856 template <> TBCSeverity BCseverityAccessible<EIssueIdentityInlineFunction,EIssueTypeParamConst>(bool accessible) |
786 { |
857 { |
787 if ( !accessible ) |
858 if ( !accessible ) |
939 template <> string ignoreInfo<EIssueIdentityVirtualFunction,EIssueTypeParam>(const HANodeIterator& baseline,const HANodeIterator& current) |
1010 template <> string ignoreInfo<EIssueIdentityVirtualFunction,EIssueTypeParam>(const HANodeIterator& baseline,const HANodeIterator& current) |
940 { |
1011 { |
941 return ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeParam>(baseline,current); |
1012 return ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeParam>(baseline,current); |
942 } |
1013 } |
943 |
1014 |
|
1015 // Param, |
|
1016 // ESeverityInformative, |
|
1017 |
|
1018 template <> TBCSeverity BCseverityAccessible<EIssueIdentityVirtualFunction,EIssueTypeDefaultParam>(bool accessible) |
|
1019 { |
|
1020 return ESeverityInformative; |
|
1021 } |
|
1022 template <> string ignoreInfo<EIssueIdentityVirtualFunction,EIssueTypeDefaultParam>(const HANodeIterator& baseline,const HANodeIterator& current) |
|
1023 { |
|
1024 return ignoreInfo<EIssueIdentityExportedFunction,EIssueTypeDefaultParam>(baseline,current); |
|
1025 } |
944 // Return, |
1026 // Return, |
945 // ESeverityBBCBreak, |
1027 // ESeverityBBCBreak, |
946 template <> TBCSeverity BCseverityAccessible<EIssueIdentityVirtualFunction,EIssueTypeReturn>(bool accessible) |
1028 template <> TBCSeverity BCseverityAccessible<EIssueIdentityVirtualFunction,EIssueTypeReturn>(bool accessible) |
947 { |
1029 { |
948 if ( !accessible ) |
1030 if ( !accessible ) |
1997 { |
2079 { |
1998 return ESeveritySCNULL; |
2080 return ESeveritySCNULL; |
1999 } |
2081 } |
2000 return ESeveritySCBreak; |
2082 return ESeveritySCBreak; |
2001 } |
2083 } |
|
2084 // Param, |
|
2085 // ESeveritySCInformative, |
|
2086 template <> TSCSeverity SCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeDefaultParam>(bool accessible) |
|
2087 { |
|
2088 if ( !accessible ) |
|
2089 { |
|
2090 return ESeveritySCNULL; |
|
2091 } |
|
2092 return ESeveritySCInformative; |
|
2093 } |
2002 |
2094 |
2003 // Param non-const to const, |
2095 // Param non-const to const, |
2004 // ESeveritySCBreak, |
2096 // ESeveritySCBreak, |
2005 template <> TSCSeverity SCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeParamConst>(bool accessible) |
2097 template <> TSCSeverity SCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeParamConst>(bool accessible) |
2006 { |
2098 { |
2064 return ESeveritySCNULL; |
2156 return ESeveritySCNULL; |
2065 } |
2157 } |
2066 return ESeveritySCBreak; |
2158 return ESeveritySCBreak; |
2067 } |
2159 } |
2068 |
2160 |
2069 |
2161 // Overloaded function, |
|
2162 // ESeveritySCNULL, |
|
2163 template <> TSCSeverity SCseverityAccessible<EIssueIdentityExportedFunction,EIssueTypeOverload>(bool accessible) |
|
2164 { |
|
2165 return ESeveritySCNULL; |
|
2166 } |
2070 /////////////////////////////////////////////////////////////////////////////////////////////////////////// |
2167 /////////////////////////////////////////////////////////////////////////////////////////////////////////// |
2071 //EIssueIdentityInlineFunction, |
2168 //EIssueIdentityInlineFunction, |
2072 // Removal, |
2169 // Removal, |
2073 // {ESeveritySCBreak, |
2170 // {ESeveritySCBreak, |
2074 template <> TSCSeverity SCseverityAccessible<EIssueIdentityInlineFunction,EIssueTypeRemoval>(bool accessible) |
2171 template <> TSCSeverity SCseverityAccessible<EIssueIdentityInlineFunction,EIssueTypeRemoval>(bool accessible) |
2089 return ESeveritySCNULL; |
2186 return ESeveritySCNULL; |
2090 } |
2187 } |
2091 return ESeveritySCBreak; |
2188 return ESeveritySCBreak; |
2092 } |
2189 } |
2093 |
2190 |
|
2191 // Param, |
|
2192 // ESeveritySCInformative, |
|
2193 template <> TSCSeverity SCseverityAccessible<EIssueIdentityInlineFunction,EIssueTypeDefaultParam>(bool accessible) |
|
2194 { |
|
2195 if ( !accessible ) |
|
2196 { |
|
2197 return ESeveritySCNULL; |
|
2198 } |
|
2199 return ESeveritySCInformative; |
|
2200 } |
|
2201 |
2094 // Param non-const to const, |
2202 // Param non-const to const, |
2095 // ESeveritySCBreak, |
2203 // ESeveritySCBreak, |
2096 template <> TSCSeverity SCseverityAccessible<EIssueIdentityInlineFunction,EIssueTypeParamConst>(bool accessible) |
2204 template <> TSCSeverity SCseverityAccessible<EIssueIdentityInlineFunction,EIssueTypeParamConst>(bool accessible) |
2097 { |
2205 { |
2098 if ( !accessible ) |
2206 if ( !accessible ) |
2154 { |
2262 { |
2155 return ESeveritySCNULL; |
2263 return ESeveritySCNULL; |
2156 } |
2264 } |
2157 return ESeveritySCBreak; |
2265 return ESeveritySCBreak; |
2158 } |
2266 } |
2159 |
|
2160 |
2267 |
2161 /////////////////////////////////////////////////////////////////////////////////////////////////////////// |
2268 /////////////////////////////////////////////////////////////////////////////////////////////////////////// |
2162 //EIssueIdentityExportedVirtualFunction, |
2269 //EIssueIdentityExportedVirtualFunction, |
2163 // Removal, |
2270 // Removal, |
2164 // {ESeveritySCBreak, |
2271 // {ESeveritySCBreak, |
2204 { |
2311 { |
2205 return ESeveritySCNULL; |
2312 return ESeveritySCNULL; |
2206 } |
2313 } |
2207 return ESeveritySCBreak; |
2314 return ESeveritySCBreak; |
2208 } |
2315 } |
2209 |
2316 // Param, |
|
2317 // ESeveritySCInformative, |
|
2318 template <> TSCSeverity SCseverityAccessible<EIssueIdentityVirtualFunction,EIssueTypeDefaultParam>(bool accessible) |
|
2319 { |
|
2320 if ( !accessible ) |
|
2321 { |
|
2322 return ESeveritySCNULL; |
|
2323 } |
|
2324 return ESeveritySCInformative; |
|
2325 } |
2210 // Return, |
2326 // Return, |
2211 // ESeveritySCBreak, |
2327 // ESeveritySCBreak, |
2212 template <> TSCSeverity SCseverityAccessible<EIssueIdentityVirtualFunction,EIssueTypeReturn>(bool accessible) |
2328 template <> TSCSeverity SCseverityAccessible<EIssueIdentityVirtualFunction,EIssueTypeReturn>(bool accessible) |
2213 { |
2329 { |
2214 if ( !accessible ) |
2330 if ( !accessible ) |