Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/clangimport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ namespace clangimport {
}

// "}" tokens that are not end-of-scope
std::set<Token *> mNotScope;
std::set<const Token *> mNotScope;

std::map<const Scope *, AccessControl> scopeAccessControl;
private:
Expand Down
8 changes: 4 additions & 4 deletions lib/symboldatabase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -175,9 +175,9 @@ void SymbolDatabase::createSymbolDatabaseFindAllScopes()
// Store current access in each scope (depends on evaluation progress)
std::map<const Scope*, AccessControl> access;

std::map<Scope *, std::set<std::string>> forwardDecls;
std::map<const Scope *, std::set<std::string>> forwardDecls;

const std::function<Scope *(const Token *, Scope *)> findForwardDeclScope = [&](const Token *tok, Scope *startScope) {
const std::function<const Scope *(const Token *, const Scope *)> findForwardDeclScope = [&](const Token *tok, const Scope *startScope) {
if (tok->str() == "::")
return findForwardDeclScope(tok->next(), &scopeList.front());

Expand All @@ -187,14 +187,14 @@ void SymbolDatabase::createSymbolDatabaseFindAllScopes()
});

if (it == startScope->nestedList.cend())
return static_cast<Scope *>(nullptr);
return static_cast<const Scope *>(nullptr);

return findForwardDeclScope(tok->tokAt(2), *it);
}

auto it = forwardDecls.find(startScope);
if (it == forwardDecls.cend())
return static_cast<Scope *>(nullptr);
return static_cast<const Scope *>(nullptr);

return it->second.count(tok->str()) > 0 ? startScope : nullptr;
};
Expand Down
4 changes: 2 additions & 2 deletions lib/templatesimplifier.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -623,7 +623,7 @@ void TemplateSimplifier::deleteToken(Token *tok)
tok->deleteThis();
}

static void invalidateForwardDecls(const Token* beg, const Token* end, std::map<Token*, Token*>* forwardDecls) {
static void invalidateForwardDecls(const Token* beg, const Token* end, std::map<const Token*, Token*>* forwardDecls) {
if (!forwardDecls)
return;
for (auto& fwd : *forwardDecls) {
Expand All @@ -635,7 +635,7 @@ static void invalidateForwardDecls(const Token* beg, const Token* end, std::map<
}
}

bool TemplateSimplifier::removeTemplate(Token *tok, std::map<Token*, Token*>* forwardDecls)
bool TemplateSimplifier::removeTemplate(Token *tok, std::map<const Token*, Token*>* forwardDecls)
{
if (!Token::simpleMatch(tok, "template <"))
return false;
Expand Down
8 changes: 4 additions & 4 deletions lib/templatesimplifier.h
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ class CPPCHECKLIB TemplateSimplifier {
/**
* Remove a specific "template < ..." template class/function
*/
static bool removeTemplate(Token *tok, std::map<Token*, Token*>* forwardDecls = nullptr);
static bool removeTemplate(Token *tok, std::map<const Token*, Token*>* forwardDecls = nullptr);

/** Syntax error
* @throws InternalError thrown unconditionally
Expand Down Expand Up @@ -512,9 +512,9 @@ class CPPCHECKLIB TemplateSimplifier {

std::list<TokenAndName> mTemplateDeclarations;
std::list<TokenAndName> mTemplateForwardDeclarations;
std::map<Token *, Token *> mTemplateForwardDeclarationsMap;
std::map<Token *, Token *> mTemplateSpecializationMap;
std::map<Token *, Token *> mTemplatePartialSpecializationMap;
std::map<const Token *, Token *> mTemplateForwardDeclarationsMap;
std::map<const Token *, Token *> mTemplateSpecializationMap;
std::map<const Token *, Token *> mTemplatePartialSpecializationMap;
std::list<TokenAndName> mTemplateInstantiations;
std::list<TokenAndName> mInstantiatedTemplates;
std::list<TokenAndName> mMemberFunctionsToDelete;
Expand Down
20 changes: 10 additions & 10 deletions lib/tokenize.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -549,9 +549,9 @@ namespace {
private:
Token* mTypedefToken; // The "typedef" token
Token* mEndToken{nullptr}; // Semicolon
std::pair<Token*, Token*> mRangeType;
std::pair<Token*, Token*> mRangeTypeQualifiers;
std::pair<Token*, Token*> mRangeAfterVar;
std::pair<const Token*, Token*> mRangeType;
std::pair<const Token*, Token*> mRangeTypeQualifiers;
std::pair<const Token*, Token*> mRangeAfterVar;
Token* mNameToken{nullptr};
bool mFail = false;
bool mReplaceFailed = false;
Expand All @@ -565,13 +565,13 @@ namespace {

// TODO handle unnamed structs etc
if (Token::Match(start, "const| enum|struct|union|class %name%| {")) {
const std::pair<Token*, Token*> rangeBefore(start, Token::findsimplematch(start, "{"));
const std::pair<const Token*, Token*> rangeBefore(start, Token::findsimplematch(start, "{"));

// find typedef name token
Token* nameToken = rangeBefore.second->link()->next();
while (Token::Match(nameToken, "%name%|* %name%|*"))
nameToken = nameToken->next();
const std::pair<Token*, Token*> rangeQualifiers(rangeBefore.second->link()->next(), nameToken);
const std::pair<const Token*, Token*> rangeQualifiers(rangeBefore.second->link()->next(), nameToken);

if (Token::Match(nameToken, "%name% ;")) {
if (Token::Match(rangeBefore.second->previous(), "enum|struct|union|class {"))
Expand Down Expand Up @@ -723,7 +723,7 @@ namespace {
// Special handling of function pointer cast
if (isFunctionPointer && isCast(tok->previous())) {
tok->insertToken("*");
Token* const tok_1 = insertTokens(tok, std::pair<Token*, Token*>(mRangeType.first, mNameToken->linkAt(1)));
Token* const tok_1 = insertTokens(tok, std::pair<const Token*, Token*>(mRangeType.first, mNameToken->linkAt(1)));
tok_1->originalName(originalname);
tok->deleteThis();
return;
Expand Down Expand Up @@ -998,7 +998,7 @@ namespace {
return false;
}

static Token* insertTokens(Token* to, std::pair<Token*,Token*> range) {
static Token* insertTokens(Token* to, std::pair<const Token*,Token*> range) {
for (const Token* from = range.first; from != range.second; from = from->next()) {
to->insertToken(from->str());
to->next()->column(to->column());
Expand Down Expand Up @@ -5537,7 +5537,7 @@ void Tokenizer::createLinks2()
bool isStruct = false;

std::stack<Token*> type;
std::stack<Token*> templateTokens;
std::stack<const Token*> templateTokens;
for (Token *token = list.front(); token; token = token->next()) {
if (Token::Match(token, "%name%|> %name% [:<]"))
isStruct = true;
Expand Down Expand Up @@ -7026,7 +7026,7 @@ void Tokenizer::simplifyFunctionParameters()
// We have found old style function, now we need to change it

// First step: Get list of argument names in parentheses
std::map<std::string, Token *> argumentNames;
std::map<std::string, const Token *> argumentNames;
bool bailOut = false;
const Token * tokparam = nullptr;

Expand Down Expand Up @@ -7145,7 +7145,7 @@ void Tokenizer::simplifyFunctionParameters()
if (argumentNames.size() != argumentNames2.size()) {
//move back 'tok1' to the last ';'
tok1 = tok1->previous();
for (const std::pair<const std::string, Token *>& argumentName : argumentNames) {
for (const std::pair<const std::string, const Token *>& argumentName : argumentNames) {
if (argumentNames2.find(argumentName.first) == argumentNames2.end()) {
//add the missing parameter argument declaration
tok1->insertToken(";");
Expand Down