|
Cppcheck
|
#include <tokenlist.h>
Public Member Functions | |
| TokenList (const Settings *settings) | |
| ~TokenList () | |
| void | setSettings (const Settings *settings) |
| void | addtoken (const char str[], const unsigned int lineno, const unsigned int fileno, bool split=false) |
| void | addtoken (const Token *tok, const unsigned int lineno, const unsigned int fileno) |
| bool | createTokens (std::istream &code, const std::string &file0="") |
| Create tokens from code. | |
| void | deallocateTokens () |
| Deallocate list. | |
| const Token * | front () const |
| get first token of list | |
| Token * | front () |
| const Token * | back () const |
| get last token of list | |
| Token * | back () |
| const std::vector< std::string > & | getFiles () const |
| Get filenames (the sourcefile + the files it include). | |
| const std::string & | file (const Token *tok) const |
| get filename for given token | |
| std::string | fileLine (const Token *tok) const |
| Get file:line for a given token. | |
| void | createAst () |
Static Public Member Functions | |
| static void | deleteTokens (Token *tok) |
| Delete all tokens in given token list. | |
| static void | insertTokens (Token *dest, const Token *src, unsigned int n) |
Private Member Functions | |
| TokenList (const TokenList &) | |
| Disable copy constructor, no implementation. | |
| TokenList & | operator= (const TokenList &) |
| Disable assignment operator, no implementation. | |
Private Attributes | |
| Token * | _front |
| private | |
| Token * | _back |
| std::vector< std::string > | _files |
| filenames for the tokenized source code (source + included) | |
| const Settings * | _settings |
| settings | |
Definition at line 35 of file tokenlist.h.
| TokenList::TokenList | ( | const Settings * | settings | ) |
Definition at line 34 of file tokenlist.cpp.
Definition at line 41 of file tokenlist.cpp.
References deallocateTokens().
| TokenList::TokenList | ( | const TokenList & | ) | [private] |
Disable copy constructor, no implementation.
| void TokenList::addtoken | ( | const char | str[], |
| const unsigned int | lineno, | ||
| const unsigned int | fileno, | ||
| bool | split = false |
||
| ) |
Definition at line 70 of file tokenlist.cpp.
References _back, _front, Token::fileIndex(), Token::insertToken(), MathLib::isBin(), MathLib::isHex(), MathLib::isOct(), Token::linenr(), Token::str(), and MathLib::toLongNumber().
Referenced by createTokens(), and TemplateSimplifier::expandTemplate().
| void TokenList::addtoken | ( | const Token * | tok, |
| const unsigned int | lineno, | ||
| const unsigned int | fileno | ||
| ) |
Definition at line 113 of file tokenlist.cpp.
References _back, _front, Token::fileIndex(), Token::insertToken(), Token::isLong(), Token::isSigned(), Token::isUnsigned(), Token::isUnused(), Token::linenr(), and Token::str().
| const Token* TokenList::back | ( | ) | const [inline] |
get last token of list
Definition at line 78 of file tokenlist.h.
Referenced by Tokenizer::createSymbolDatabase(), Tokenizer::deleteSymbolDatabase(), TemplateSimplifier::expandTemplate(), and Tokenizer::validate().
| Token* TokenList::back | ( | ) | [inline] |
Definition at line 81 of file tokenlist.h.
| void TokenList::createAst | ( | ) |
Definition at line 356 of file tokenlist.cpp.
References _front, Token::astOperand1(), Token::eIncDecOp, Token::isOp(), Token::Match(), Token::next(), Token::previous(), and Token::str().
| bool TokenList::createTokens | ( | std::istream & | code, |
| const std::string & | file0 = "" |
||
| ) |
Create tokens from code.
The code must be preprocessed first:
| code | input stream for code |
| file0 | source file name |
Definition at line 171 of file tokenlist.cpp.
References _back, Settings::_basePaths, _files, _front, _settings, addtoken(), Token::assignProgressValues(), deallocateTokens(), Path::getRelativePath(), MathLib::isHex(), Preprocessor::macroChar, Path::sameFileName(), Token::setExpandedMacro(), and Path::simplifyPath().
Referenced by PreprocessorMacro::PreprocessorMacro(), simplifyVarMap(), simplifyVarMapExpandValue(), Tokenizer::tokenize(), and Tokenizer::tokenizeCondition().
| void TokenList::deallocateTokens | ( | ) |
Deallocate list.
Definition at line 49 of file tokenlist.cpp.
References _back, _files, _front, and deleteTokens().
Referenced by createTokens(), Tokenizer::tokenize(), and ~TokenList().
| void TokenList::deleteTokens | ( | Token * | tok | ) | [static] |
Delete all tokens in given token list.
| tok | token list to delete |
Definition at line 57 of file tokenlist.cpp.
References Token::next().
Referenced by CheckMemoryLeakInFunction::call_func(), CheckMemoryLeakInFunction::checkScope(), deallocateTokens(), and CheckMemoryLeakInFunction::getcode().
| const std::string & TokenList::file | ( | const Token * | tok | ) | const |
get filename for given token
| tok | The given token |
Definition at line 425 of file tokenlist.cpp.
References _files, and Token::fileIndex().
Referenced by CppCheck::checkFile(), and Tokenizer::simplifyFileAndLineMacro().
| std::string TokenList::fileLine | ( | const Token * | tok | ) | const |
Get file:line for a given token.
| tok | given token |
Definition at line 430 of file tokenlist.cpp.
References ErrorLogger::ErrorMessage::FileLocation::stringify().
Referenced by SymbolDatabase::printOut(), and SymbolDatabase::printVariable().
| const Token* TokenList::front | ( | ) | const [inline] |
get first token of list
Definition at line 70 of file tokenlist.h.
Referenced by Tokenizer::arraySize(), Tokenizer::combineOperators(), Tokenizer::combineStrings(), Tokenizer::concatenateDoubleSharp(), Tokenizer::concatenateNegativeNumberAndAnyPositive(), Tokenizer::createLinks(), Tokenizer::createLinks2(), Tokenizer::createSymbolDatabase(), Tokenizer::deleteInvalidTypedef(), Tokenizer::deleteSymbolDatabase(), Tokenizer::elseif(), TemplateSimplifier::expandTemplate(), Tokenizer::hasComplicatedSyntaxErrorsInTemplates(), Tokenizer::hasEnumsWithTypedef(), Tokenizer::removeExceptionSpecifications(), Tokenizer::removeMacroInVarDecl(), Tokenizer::removeMacrosInGlobalScope(), Tokenizer::removeRedundantAssignment(), Tokenizer::removeRedundantConditions(), Tokenizer::removeRedundantFor(), Tokenizer::removeRedundantSemicolons(), Tokenizer::removeUnnecessaryQualification(), Tokenizer::setVarId(), Tokenizer::simplifyAddBraces(), Tokenizer::simplifyArrayAccessSyntax(), Tokenizer::simplifyAsm(), Tokenizer::simplifyAssignmentBlock(), Tokenizer::simplifyAssignmentInFunctionCall(), Tokenizer::simplifyAttribute(), Tokenizer::simplifyBitfields(), Tokenizer::simplifyBorland(), Tokenizer::simplifyBuiltinExpect(), Tokenizer::simplifyCalculations(), Tokenizer::simplifyCallingConvention(), Tokenizer::simplifyCasts(), Tokenizer::simplifyCharAt(), Tokenizer::simplifyComma(), Tokenizer::simplifyComparisonOrder(), Tokenizer::simplifyCompoundAssignment(), Tokenizer::simplifyConditionOperator(), Tokenizer::simplifyConditions(), Tokenizer::simplifyConst(), Tokenizer::simplifyConstTernaryOp(), Tokenizer::simplifyDebugNew(), Tokenizer::simplifyDeclspec(), Tokenizer::simplifyDoublePlusAndDoubleMinus(), Tokenizer::simplifyEmptyNamespaces(), Tokenizer::simplifyEnum(), Tokenizer::simplifyErrNoInWhile(), Tokenizer::simplifyExternC(), Tokenizer::simplifyFileAndLineMacro(), Tokenizer::simplifyFlowControl(), Tokenizer::simplifyFuncInWhile(), Tokenizer::simplifyFunctionParameters(), Tokenizer::simplifyFunctionPointers(), Tokenizer::simplifyFunctionReturn(), Tokenizer::simplifyGoto(), Tokenizer::simplifyIfAssign(), Tokenizer::simplifyIfNot(), Tokenizer::simplifyIfNotNull(), Tokenizer::simplifyIfSameInnerCondition(), Tokenizer::simplifyInitVar(), Tokenizer::simplifyKeyword(), Tokenizer::simplifyKnownVariables(), Tokenizer::simplifyLabelsCaseDefault(), Tokenizer::simplifyLogicalOperators(), Tokenizer::simplifyMathExpressions(), Tokenizer::simplifyMathFunctions(), Tokenizer::simplifyMicrosoftMemoryFunctions(), Tokenizer::simplifyMicrosoftMFC(), Tokenizer::simplifyMicrosoftStringFunctions(), Tokenizer::simplifyMulAndParens(), Tokenizer::simplifyNamespaceStd(), Tokenizer::simplifyNestedStrcat(), Tokenizer::simplifyNull(), Tokenizer::simplifyOperatorName(), Tokenizer::simplifyParameterVoid(), Tokenizer::simplifyPlatformTypes(), Tokenizer::simplifyPointerToStandardType(), Tokenizer::simplifyQtSignalsSlots(), Tokenizer::simplifyRealloc(), Tokenizer::simplifyRedundantConsecutiveBraces(), Tokenizer::simplifyRedundantParentheses(), Tokenizer::simplifyReference(), Tokenizer::simplifyReturnStrncat(), Tokenizer::simplifyRoundCurlyParentheses(), Tokenizer::simplifySizeof(), Tokenizer::simplifySQL(), Tokenizer::simplifyStd(), Tokenizer::simplifyStdType(), Tokenizer::simplifyStructDecl(), Tokenizer::simplifyStructInit(), TemplateSimplifier::simplifyTemplateInstantiations(), TemplateSimplifier::simplifyTemplates(), Tokenizer::simplifyTemplates(), Tokenizer::simplifyTokenList(), Tokenizer::simplifyTypedef(), Tokenizer::simplifyUndefinedSizeArray(), Tokenizer::simplifyVarDecl(), Tokenizer::simplifyVariableMultipleAssign(), simplifyVarMap(), simplifyVarMapExpandValue(), Tokenizer::simplifyWhile0(), Tokenizer::tokenize(), and Tokenizer::tokenizeCondition().
| Token* TokenList::front | ( | ) | [inline] |
Definition at line 73 of file tokenlist.h.
| const std::vector<std::string>& TokenList::getFiles | ( | ) | const [inline] |
Get filenames (the sourcefile + the files it include).
The first filename is the filename for the sourcefile
Definition at line 90 of file tokenlist.h.
Referenced by CppCheck::checkFile(), ErrorLogger::ErrorMessage::ErrorMessage(), Tokenizer::getSourceFilePath(), Tokenizer::simplifyKnownVariablesSimplify(), Tokenizer::simplifyTokenList(), and Tokenizer::simplifyTypedef().
| void TokenList::insertTokens | ( | Token * | dest, |
| const Token * | src, | ||
| unsigned int | n | ||
| ) | [static] |
Definition at line 137 of file tokenlist.cpp.
References Token::createMutualLinks(), Token::fileIndex(), Token::insertToken(), Token::isLong(), Token::isPointerCompare(), Token::isSigned(), Token::isUnsigned(), Token::isUnused(), Token::linenr(), Token::Match(), Token::next(), Token::str(), Token::type(), and Token::varId().
Referenced by Tokenizer::simplifyVarDecl().
Disable assignment operator, no implementation.
| void TokenList::setSettings | ( | const Settings * | settings | ) | [inline] |
Definition at line 40 of file tokenlist.h.
Token * TokenList::_back [private] |
Definition at line 121 of file tokenlist.h.
Referenced by addtoken(), createTokens(), and deallocateTokens().
std::vector<std::string> TokenList::_files [private] |
filenames for the tokenized source code (source + included)
Definition at line 124 of file tokenlist.h.
Referenced by createTokens(), deallocateTokens(), and file().
Token* TokenList::_front [private] |
private
Token list
Definition at line 121 of file tokenlist.h.
Referenced by addtoken(), createAst(), createTokens(), and deallocateTokens().
const Settings* TokenList::_settings [private] |
1.7.6.1