Skip to content

Commit 9d9240a

Browse files
committed
add originalName field
1 parent e757eb0 commit 9d9240a

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

lib/tokenize.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff 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 += "\"";

lib/tokenize.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff 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;

0 commit comments

Comments
 (0)