File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1119,9 +1119,12 @@ void Tokenizer::simplifyTypedef()
11191119 typedefInfo.filename = list.file (nameToken);
11201120 typedefInfo.lineNumber = nameToken->linenr ();
11211121 typedefInfo.column = nameToken->column ();
1122- if (Token::Match (typedefToken->next (), " struct|enum|class|union %name% {" ) && typedefToken->strAt (2 ) == typedefInfo.name ) {
1123- typedefInfo.tagLine = typedefToken->tokAt (2 )->linenr ();
1124- typedefInfo.tagColumn = typedefToken->tokAt (2 )->column ();
1122+ if (Token::Match (typedefToken->next (), " struct|enum|class|union %name% {" )) {
1123+ typedefInfo.originalName = typedefToken->tokAt (2 )->str ();
1124+ if (typedefToken->strAt (2 ) == typedefInfo.name ) {
1125+ typedefInfo.tagLine = typedefToken->tokAt (2 )->linenr ();
1126+ typedefInfo.tagColumn = typedefToken->tokAt (2 )->column ();
1127+ }
11251128 }
11261129 typedefInfo.used = t.second .isUsed ();
11271130 typedefInfo.isFunctionPointer = isFunctionPointer (t.second .nameToken ());
@@ -6369,6 +6372,12 @@ std::string Tokenizer::dumpTypedefInfo() const
63696372 outs += typedefInfo.name ;
63706373 outs += " \" " ;
63716374
6375+ if (!typedefInfo.originalName .empty ()) {
6376+ outs += " originalName=\" " ;
6377+ outs += typedefInfo.originalName ;
6378+ outs += " \" " ;
6379+ }
6380+
63726381 outs += " file=\" " ;
63736382 outs += ErrorLogger::toxml (typedefInfo.filename );
63746383 outs += " \" " ;
Original file line number Diff line number Diff line change @@ -693,6 +693,7 @@ class CPPCHECKLIB Tokenizer {
693693 };
694694 struct TypedefInfo {
695695 std::string name;
696+ std::string originalName;
696697 std::string filename;
697698 int lineNumber;
698699 int column;
You can’t perform that action at this time.
0 commit comments