| 
    Cppcheck
    
   | 
 
#include <symboldatabase.h>
Public Types | |
| enum | Type {  eConstructor , eCopyConstructor , eMoveConstructor , eOperatorEqual , eDestructor , eFunction , eLambda }  | 
Public Member Functions | |
| Function (const Token *tok, const Scope *scope, const Token *tokDef, const Token *tokArgDef) | |
| Function (const Token *tokenDef, const std::string &clangType) | |
| const std::string & | name () const | 
| std::string | fullName () const | 
| nonneg int | argCount () const | 
| nonneg int | minArgCount () const | 
| const Variable * | getArgumentVar (nonneg int num) const | 
| nonneg int | initializedArgCount () const | 
| void | addArguments (const SymbolDatabase *symbolDatabase, const Scope *scope) | 
| bool | isImplicitlyVirtual (bool defaultVal=false) const | 
| check if this function is virtual in the base classes  More... | |
| std::vector< const Function * > | getOverloadedFunctions () const | 
| const Function * | getOverriddenFunction (bool *foundAllBaseClasses=nullptr) const | 
| get function in base class that is overridden  More... | |
| bool | isLambda () const | 
| bool | isConstructor () const | 
| bool | isDestructor () const | 
| bool | isAttributeConstructor () const | 
| bool | isAttributeDestructor () const | 
| bool | isAttributePure () const | 
| bool | isAttributeConst () const | 
| bool | isAttributeNoreturn () const | 
| bool | isAttributeNothrow () const | 
| bool | isAttributeNodiscard () const | 
| bool | hasBody () const | 
| bool | isInline () const | 
| bool | isConst () const | 
| bool | hasVirtualSpecifier () const | 
| bool | isPure () const | 
| bool | isStatic () const | 
| bool | isStaticLocal () const | 
| bool | isExtern () const | 
| bool | isFriend () const | 
| bool | isExplicit () const | 
| bool | isDefault () const | 
| bool | isDelete () const | 
| bool | isNoExcept () const | 
| bool | isThrow () const | 
| bool | hasOverrideSpecifier () const | 
| bool | hasFinalSpecifier () const | 
| bool | isOperator () const | 
| bool | hasLvalRefQualifier () const | 
| bool | hasRvalRefQualifier () const | 
| bool | isVariadic () const | 
| bool | isVolatile () const | 
| bool | hasTrailingReturnType () const | 
| void | hasBody (bool state) | 
| bool | isInlineKeyword () const | 
| bool | isEscapeFunction () const | 
| void | isEscapeFunction (bool state) | 
| bool | isConstexpr () const | 
| void | isConstexpr (bool state) | 
| bool | isSafe (const Settings &settings) const | 
| bool | argsMatch (const Scope *scope, const Token *first, const Token *second, const std::string &path, nonneg int path_length) const | 
| const Token * | returnDefEnd () const | 
| const Token * | constructorMemberInitialization () const | 
Static Public Member Functions | |
| static bool | returnsConst (const Function *function, bool unknown=false) | 
| static bool | returnsPointer (const Function *function, bool unknown=false) | 
| static bool | returnsReference (const Function *function, bool unknown=false, bool includeRValueRef=false) | 
| static bool | returnsStandardType (const Function *function, bool unknown=false) | 
| static bool | returnsVoid (const Function *function, bool unknown=false) | 
| static std::vector< const Token * > | findReturns (const Function *f) | 
Public Attributes | |
| const Token * | tokenDef {} | 
| function name token in class definition  More... | |
| const Token * | argDef {} | 
| function argument start '(' in class definition  More... | |
| const Token * | token {} | 
| function name token in implementation  More... | |
| const Token * | arg {} | 
| function argument start '('  More... | |
| const Token * | retDef {} | 
| function return type token  More... | |
| const ::Type * | retType {} | 
| function return type  More... | |
| const Scope * | functionScope {} | 
| scope of function body  More... | |
| const Scope * | nestedIn {} | 
| Scope the function is declared in.  More... | |
| std::list< Variable > | argumentList | 
| argument list, must remain list due to clangimport usage!  More... | |
| nonneg int | initArgCount {} | 
| number of args with default values  More... | |
| Type | type = eFunction | 
| constructor, destructor, ...  More... | |
| const Token * | noexceptArg {} | 
| noexcept token  More... | |
| const Token * | throwArg {} | 
| throw token  More... | |
| const Token * | templateDef {} | 
| points to 'template <' before function  More... | |
| const Token * | functionPointerUsage {} | 
| function pointer usage  More... | |
| AccessControl | access {} | 
| public/protected/private  More... | |
Private Types | |
| enum | {  fHasBody = (1 << 0) , fIsInline = (1 << 1) , fIsConst = (1 << 2) , fHasVirtualSpecifier = (1 << 3) , fIsPure = (1 << 4) , fIsStatic = (1 << 5) , fIsStaticLocal = (1 << 6) , fIsExtern = (1 << 7) , fIsFriend = (1 << 8) , fIsExplicit = (1 << 9) , fIsDefault = (1 << 10) , fIsDelete = (1 << 11) , fHasOverrideSpecifier = (1 << 12) , fHasFinalSpecifier = (1 << 13) , fIsNoExcept = (1 << 14) , fIsThrow = (1 << 15) , fIsOperator = (1 << 16) , fHasLvalRefQual = (1 << 17) , fHasRvalRefQual = (1 << 18) , fIsVariadic = (1 << 19) , fIsVolatile = (1 << 20) , fHasTrailingReturnType = (1 << 21) , fIsEscapeFunction = (1 << 22) , fIsInlineKeyword = (1 << 23) , fIsConstexpr = (1 << 24) }  | 
| flags mask used to access specific bit.  More... | |
Private Member Functions | |
| bool | getFlag (unsigned int flag) const | 
| Get specified flag state.  More... | |
| void | setFlag (unsigned int flag, bool state) | 
| Set specified flag state.  More... | |
| const Function * | getOverriddenFunctionRecursive (const ::Type *baseType, bool *foundAllBaseClasses) const | 
| Recursively determine if this function overrides a virtual function in a base class.  More... | |
| void | isInline (bool state) | 
| void | isConst (bool state) | 
| void | hasVirtualSpecifier (bool state) | 
| void | isPure (bool state) | 
| void | isStatic (bool state) | 
| void | isStaticLocal (bool state) | 
| void | isExtern (bool state) | 
| void | isFriend (bool state) | 
| void | isExplicit (bool state) | 
| void | isDefault (bool state) | 
| void | isDelete (bool state) | 
| void | isNoExcept (bool state) | 
| void | isThrow (bool state) | 
| void | isOperator (bool state) | 
| void | hasLvalRefQualifier (bool state) | 
| void | hasRvalRefQualifier (bool state) | 
| void | isVariadic (bool state) | 
| void | isVolatile (bool state) | 
| void | hasTrailingReturnType (bool state) | 
| void | isInlineKeyword (bool state) | 
| const Token * | setFlags (const Token *tok1, const Scope *scope) | 
Private Attributes | |
| unsigned int | mFlags {} | 
Friends | |
| class | SymbolDatabase | 
Definition at line 698 of file symboldatabase.h.
      
  | 
  private | 
flags mask used to access specific bit.
| Enumerator | |
|---|---|
| fHasBody | has implementation  | 
| fIsInline | implementation in class definition  | 
| fIsConst | is const  | 
| fHasVirtualSpecifier | does declaration contain 'virtual' specifier  | 
| fIsPure | is pure virtual  | 
| fIsStatic | is static  | 
| fIsStaticLocal | is static local  | 
| fIsExtern | is extern  | 
| fIsFriend | is friend  | 
| fIsExplicit | is explicit  | 
| fIsDefault | is default  | 
| fIsDelete | is delete  | 
| fHasOverrideSpecifier | does declaration contain 'override' specifier?  | 
| fHasFinalSpecifier | does declaration contain 'final' specifier?  | 
| fIsNoExcept | is noexcept  | 
| fIsThrow | is throw  | 
| fIsOperator | is operator  | 
| fHasLvalRefQual | has & lvalue ref-qualifier  | 
| fHasRvalRefQual | has && rvalue ref-qualifier  | 
| fIsVariadic | is variadic  | 
| fIsVolatile | is volatile  | 
| fHasTrailingReturnType | has trailing return type  | 
| fIsEscapeFunction | Function throws or exits.  | 
| fIsInlineKeyword | Function has "inline" keyword.  | 
| fIsConstexpr | is constexpr  | 
Definition at line 703 of file symboldatabase.h.
| enum Function::Type | 
| Enumerator | |
|---|---|
| eConstructor | |
| eCopyConstructor | |
| eMoveConstructor | |
| eOperatorEqual | |
| eDestructor | |
| eFunction | |
| eLambda | |
Definition at line 750 of file symboldatabase.h.
| Function::Function | ( | const Token * | tok, | 
| const Scope * | scope, | ||
| const Token * | tokDef, | ||
| const Token * | tokArgDef | ||
| ) | 
Definition at line 2494 of file symboldatabase.cpp.
References arg, argDef, Scope::className, eConstructor, eDestructor, eLambda, eOperatorEqual, fHasFinalSpecifier, fHasOverrideSpecifier, hasBody(), hasLvalRefQualifier(), hasRvalRefQualifier(), hasTrailingReturnType(), Scope::isClassOrStructOrUnion(), isConst(), isConstructor(), isDefault(), isDelete(), isDestructor(), isExplicit(), Tokenizer::isFunctionHead(), isInline(), isLambda(), isNoExcept(), isOperator(), isPure(), isThrow(), isVolatile(), Token::link(), Token::linkAt(), Token::Match(), Token::next(), Token::previous(), retDef, setFlag(), setFlags(), Token::simpleMatch(), Token::str(), Token::strAt(), throwArg, token, tokenDef, and type.
| Function::Function | ( | const Token * | tokenDef, | 
| const std::string & | clangType | ||
| ) | 
Definition at line 2604 of file symboldatabase.cpp.
References endsWith(), eOperatorEqual, isConst(), isOperator(), Token::scope(), setFlags(), Token::str(), tokenDef, and type.
| void Function::addArguments | ( | const SymbolDatabase * | symbolDatabase, | 
| const Scope * | scope | ||
| ) | 
Definition at line 4411 of file symboldatabase.cpp.
References arg, argDef, Argument, argumentList, SymbolDatabase::debugMessage(), eLambda, findLambdaEndToken(), findLambdaEndTokenWithoutAST(), findVariableTypeIncludingUsedNamespaces(), functionScope, hasBody(), initArgCount, InternalError::INTERNAL, Token::isName(), Token::isStandardType(), isVariadic(), Token::link(), Token::linkAt(), Token::Match(), SymbolDatabase::mSettings, SymbolDatabase::mTokenizer, Token::next(), Token::previous(), Token::simpleMatch(), Token::str(), Token::strAt(), Tokenizer::syntaxError(), Token::tokAt(), type, and Token::varId().
      
  | 
  inline | 
Definition at line 761 of file symboldatabase.h.
Referenced by CheckClass::checkExplicitConstructors(), checkNullpointerFunctionCallPlausibility(), CheckOther::checkVarFuncNullUB(), CheckClass::constructors(), SymbolDatabase::createSymbolDatabaseNeedInitialization(), Scope::findFunction(), Scope::findFunctionInBase(), CTU::getFileInfo(), isIterator(), and CheckClass::isMemberFunc().
| bool Function::argsMatch | ( | const Scope * | scope, | 
| const Token * | first, | ||
| const Token * | second, | ||
| const std::string & | path, | ||
| nonneg int | path_length | ||
| ) | const | 
Definition at line 2795 of file symboldatabase.cpp.
References Scope::className, Scope::definedType, Token::expressionString(), Token::isCpp(), Type::isDerivedFrom(), Token::isLong(), Token::isUnsigned(), Token::linkAt(), Token::Match(), nestedIn, Scope::nestedIn, Token::next(), Token::nextArgument(), Token::simpleMatch(), Token::str(), Token::strAt(), Token::tokAt(), typesMatch(), and usingNamespace().
Referenced by SymbolDatabase::addGlobalFunction(), getDuplInheritedMemberFunctionsRecursive(), and getOverriddenFunctionRecursive().
| const Token * Function::constructorMemberInitialization | ( | ) | const | 
Definition at line 3173 of file symboldatabase.cpp.
References arg, isConstructor(), Token::link(), and Token::simpleMatch().
Referenced by CheckOther::checkAccessOfMovedVariable(), CheckClass::checkUnsafeClassRefMember(), CheckClass::constructors(), CheckClass::initializationListUsage(), valueFlowAfterMove(), and valueFlowLifetimeUserConstructor().
Definition at line 3145 of file symboldatabase.cpp.
References Token::astParent(), Scope::bodyEnd, Scope::bodyStart, Scope::eClass, Scope::eLambda, findLambdaEndToken(), functionScope, Token::link(), Token::next(), Token::scope(), Token::simpleMatch(), and Token::str().
Referenced by CheckOther::checkConstVariable(), followAllReferences(), getLifetimeTokens(), CheckFunctions::returnLocalStdMove(), valueFlowFunctionReturn(), and valueFlowLifetimeFunction().
| std::string Function::fullName | ( | ) | const | 
Definition at line 2678 of file symboldatabase.cpp.
References argumentList, name(), nestedIn, and Scope::nestedIn.
Definition at line 4682 of file symboldatabase.cpp.
References argumentList.
Referenced by CheckBufferOverrun::argumentSize(), CheckClass::checkCopyCtorAndEqOperator(), checkNullpointerFunctionCallPlausibility(), Scope::findFunction(), CTU::getFileInfo(), getUnsafeFunction(), isCallFunction(), isContainerSizeChangedByFunction(), CheckUninitVar::isFunctionParUsage(), valueFlowLifetimeUserConstructor(), and valueFlowSubFunction().
      
  | 
  inlineprivate | 
Get specified flag state.
| flag | flag to get state of | 
Definition at line 736 of file symboldatabase.h.
| std::vector< const Function * > Function::getOverloadedFunctions | ( | ) | const | 
Definition at line 4567 of file symboldatabase.cpp.
References Scope::functionMap, Scope::isClassOrStruct(), isStatic(), nestedIn, Scope::nestedIn, Token::str(), and tokenDef.
| const Function * Function::getOverriddenFunction | ( | bool * | foundAllBaseClasses = nullptr | ) | const | 
get function in base class that is overridden
Definition at line 4590 of file symboldatabase.cpp.
References Scope::definedType, getOverriddenFunctionRecursive(), Scope::isClassOrStruct(), and nestedIn.
Referenced by CheckClass::checkOverride(), CheckClass::checkUselessOverride(), isImplicitlyVirtual(), and SymbolDatabase::printXml().
      
  | 
  private | 
Recursively determine if this function overrides a virtual function in a base class.
Definition at line 4610 of file symboldatabase.cpp.
References argDef, argsMatch(), emptyString, Scope::functionList, Scope::functionMap, hasLvalRefQualifier(), hasRvalRefQualifier(), isConst(), isDerivedFromItself(), isDestructor(), isImplicitlyVirtual(), isVolatile(), Token::Match(), match(), Token::previous(), Token::str(), tokenDef, type, and Token::type().
Referenced by getOverriddenFunction().
      
  | 
  inline | 
Definition at line 816 of file symboldatabase.h.
Referenced by addArguments(), SymbolDatabase::addClassFunction(), SymbolDatabase::addGlobalFunction(), CheckClass::checkConst(), CheckClass::checkCopyCtorAndEqOperator(), CheckClass::checkExplicitConstructors(), CheckMemoryLeakInClass::checkPublicFunctions(), CheckClass::checkThisUseAfterFree(), CheckClass::checkUnsafeClassRefMember(), CheckClass::checkVirtualFunctionCallInConstructor(), CheckClass::constructors(), Function(), CheckMemoryLeak::functionReturnType(), CheckClass::getFirstVirtualFunctionCallStack(), getFunctionUsage(), CheckClass::initializeVarList(), CheckUnusedVar::isFunctionWithoutSideEffects(), CheckNullPointer::nullConstantDereference(), CheckClass::operatorEqToSelf(), Check64BitPortability::pointerassignment(), CheckMemoryLeakInClass::variable(), and CheckClass::virtualDestructor().
      
  | 
  inline | 
Definition at line 882 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 861 of file symboldatabase.h.
Referenced by CheckClass::checkOverride(), CheckClass::checkUselessOverride(), and CheckClass::checkVirtualFunctionCallInConstructor().
      
  | 
  inline | 
Definition at line 867 of file symboldatabase.h.
Referenced by Function(), and getOverriddenFunctionRecursive().
      
  | 
  inlineprivate | 
Definition at line 993 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 858 of file symboldatabase.h.
Referenced by CheckClass::checkOverride(), CheckClass::checkVirtualFunctionCallInConstructor(), and isImplicitlyVirtual().
      
  | 
  inline | 
Definition at line 870 of file symboldatabase.h.
Referenced by Function(), and getOverriddenFunctionRecursive().
      
  | 
  inlineprivate | 
Definition at line 996 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 879 of file symboldatabase.h.
Referenced by Function().
      
  | 
  inlineprivate | 
Definition at line 1005 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 825 of file symboldatabase.h.
Referenced by CheckClass::checkConst(), CheckClass::checkMemsetType(), CheckClass::checkVirtualFunctionCallInConstructor(), isImplicitlyVirtual(), setFlags(), setFunctionReturnValue(), and CheckClass::virtualDestructor().
      
  | 
  inlineprivate | 
Definition at line 957 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 768 of file symboldatabase.h.
Referenced by SymbolDatabase::createSymbolDatabaseNeedInitialization().
      
  | 
  inline | 
Definition at line 803 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 794 of file symboldatabase.h.
Referenced by CheckUnusedFunctions::parseTokens().
      
  | 
  inline | 
Definition at line 797 of file symboldatabase.h.
Referenced by CheckUnusedFunctions::parseTokens().
      
  | 
  inline | 
Definition at line 812 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 806 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 809 of file symboldatabase.h.
Referenced by CheckMemoryLeakNoVar::checkForUnsafeArgAlloc().
      
  | 
  inline | 
Definition at line 800 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 822 of file symboldatabase.h.
Referenced by CheckAssert::assertWithSideEffects(), CheckClass::checkConst(), CheckClass::checkConstFunc(), Scope::findFunction(), Function(), getDuplInheritedMemberFunctionsRecursive(), getOverriddenFunctionRecursive(), CheckClass::initializeVarList(), isVariableChanged(), and SymbolDatabase::setValueTypeInTokenList().
      
  | 
  inlineprivate | 
Definition at line 954 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 896 of file symboldatabase.h.
Referenced by setFlags().
      
  | 
  inline | 
Definition at line 899 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 785 of file symboldatabase.h.
Referenced by CheckClass::canNotCopy(), CheckClass::canNotMove(), CheckClass::checkExplicitConstructors(), CheckClass::checkUnsafeClassRefMember(), CheckClass::checkVirtualFunctionCallInConstructor(), constructorMemberInitialization(), CheckClass::constructors(), SymbolDatabase::createSymbolDatabaseSetFunctionPointers(), findConstructor(), Function(), getDuplInheritedMemberFunctionsRecursive(), CheckClass::initializationListUsage(), CheckClass::initializeVarList(), CheckUnusedVar::isRecordTypeWithoutSideEffects(), CheckNullPointer::nullConstantDereference(), valueFlowLifetimeFunction(), CheckMemoryLeakInClass::variable(), and CheckOther::warningOldStylePointerCast().
      
  | 
  inline | 
Definition at line 846 of file symboldatabase.h.
Referenced by SymbolDatabase::addClassFunction(), CheckClass::constructors(), CheckClass::copyconstructors(), Function(), and CheckMemoryLeakInClass::variable().
      
  | 
  inlineprivate | 
Definition at line 978 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 849 of file symboldatabase.h.
Referenced by CheckClass::checkExplicitConstructors(), Function(), getDuplInheritedMemberFunctionsRecursive(), and hasNonCopyableBase().
      
  | 
  inlineprivate | 
Definition at line 981 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 791 of file symboldatabase.h.
Referenced by CheckClass::checkVirtualFunctionCallInConstructor(), Function(), getDuplInheritedMemberFunctionsRecursive(), getOverriddenFunctionRecursive(), CheckUnusedVar::isRecordTypeWithoutSideEffects(), CheckClass::overrideError(), CheckClass::uselessOverrideError(), and CheckMemoryLeakInClass::variable().
      
  | 
  inline | 
Definition at line 889 of file symboldatabase.h.
Referenced by SymbolDatabase::createSymbolDatabaseEscapeFunctions().
      
  | 
  inline | 
Definition at line 892 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 843 of file symboldatabase.h.
Referenced by CheckClass::checkExplicitConstructors(), and Function().
      
  | 
  inlineprivate | 
Definition at line 975 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 837 of file symboldatabase.h.
Referenced by CheckUnusedFunctions::parseTokens(), and setFlags().
      
  | 
  inlineprivate | 
Definition at line 969 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 840 of file symboldatabase.h.
Referenced by CheckClass::checkConst(), and setFlags().
      
  | 
  inlineprivate | 
Definition at line 972 of file symboldatabase.h.
| bool Function::isImplicitlyVirtual | ( | bool | defaultVal = false | ) | const | 
check if this function is virtual in the base classes
Definition at line 4553 of file symboldatabase.cpp.
References getOverriddenFunction(), hasOverrideSpecifier(), and hasVirtualSpecifier().
Referenced by CheckClass::checkConst(), CheckClass::checkReturnByReference(), getDuplInheritedMemberFunctionsRecursive(), CheckClass::getFirstVirtualFunctionCallStack(), getOverriddenFunctionRecursive(), CheckClass::getVirtualFunctionCalls(), and isContainerSizeChangedByFunction().
      
  | 
  inline | 
Definition at line 819 of file symboldatabase.h.
Referenced by CheckClass::checkConst(), and Function().
      
  | 
  inlineprivate | 
Definition at line 951 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 885 of file symboldatabase.h.
Referenced by setFlags().
      
  | 
  inlineprivate | 
Definition at line 1008 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 781 of file symboldatabase.h.
Referenced by Token::function(), and Function().
      
  | 
  inline | 
Definition at line 852 of file symboldatabase.h.
Referenced by Function(), and functionThrowsRecursive().
      
  | 
  inlineprivate | 
Definition at line 984 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 864 of file symboldatabase.h.
Referenced by CheckClass::checkConst(), CheckClass::checkReturnByReference(), CheckClass::constructors(), Function(), CheckUnusedFunctions::parseTokens(), and CheckClass::privateFunctions().
      
  | 
  inlineprivate | 
Definition at line 990 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 828 of file symboldatabase.h.
Referenced by CheckClass::checkUselessOverride(), CheckClass::checkVirtualFunctionCallInConstructor(), Function(), CheckClass::getFirstVirtualFunctionCallStack(), and CheckClass::getVirtualFunctionCalls().
      
  | 
  inlineprivate | 
Definition at line 960 of file symboldatabase.h.
| bool Function::isSafe | ( | const Settings & | settings | ) | const | 
Definition at line 3184 of file symboldatabase.cpp.
References access, Settings::SafeChecks::classes, Settings::SafeChecks::externalFunctions, Token::fileIndex(), Settings::SafeChecks::internalFunctions, isStatic(), nestedIn, Public, Settings::safeChecks, token, and Scope::type.
Referenced by valueFlowSafeFunctions().
      
  | 
  inline | 
Definition at line 831 of file symboldatabase.h.
Referenced by CheckAssert::assertWithSideEffects(), CheckClass::checkConst(), CheckIO::checkFileUsage(), CheckOther::checkShadowVariables(), CheckClass::checkThisUseAfterFreeRecursive(), getOverloadedFunctions(), CheckClass::initializeVarList(), isSafe(), and setFlags().
      
  | 
  inlineprivate | 
Definition at line 963 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 834 of file symboldatabase.h.
Referenced by setFlags().
      
  | 
  inlineprivate | 
Definition at line 966 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 855 of file symboldatabase.h.
Referenced by CheckMemoryLeakNoVar::checkForUnsafeArgAlloc(), Function(), functionThrowsRecursive(), and CheckExceptionSafety::unhandledExceptionSpecification().
      
  | 
  inlineprivate | 
Definition at line 987 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 873 of file symboldatabase.h.
Referenced by addArguments(), Scope::findFunction(), Scope::findFunctionInBase(), and CheckClass::isMemberFunc().
      
  | 
  inlineprivate | 
Definition at line 999 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 876 of file symboldatabase.h.
Referenced by Function(), getOverriddenFunctionRecursive(), and SymbolDatabase::setValueTypeInTokenList().
      
  | 
  inlineprivate | 
Definition at line 1002 of file symboldatabase.h.
      
  | 
  inline | 
Definition at line 764 of file symboldatabase.h.
Referenced by CheckClass::checkExplicitConstructors(), Scope::findFunction(), Scope::findFunctionInBase(), and CheckClass::isMemberFunc().
      
  | 
  inline | 
Definition at line 755 of file symboldatabase.h.
Referenced by CheckAssert::assertWithSideEffects(), checkFunctionUsage(), Summaries::create(), fullName(), getDuplInheritedMemberFunctionsRecursive(), CheckClass::initializeVarList(), CheckClass::isMemberFunc(), CheckIO::ArgumentInfo::isStdVectorOrString(), CheckClass::overrideError(), CheckUnusedFunctions::parseTokens(), CheckOther::passedByValueError(), CheckClass::returnByReferenceError(), setFunctionReturnValue(), CheckExceptionSafety::unhandledExceptionSpecification(), CheckClass::uselessOverrideError(), and valueFlowSubFunction().
      
  | 
  inline | 
Definition at line 933 of file symboldatabase.h.
References Token::findmatch().
      
  | 
  static | 
Definition at line 3110 of file symboldatabase.cpp.
References checkReturns(), and Token::findsimplematch().
Referenced by CheckOther::checkConstPointer(), CheckOther::checkConstVariable(), getDuplInheritedMemberFunctionsRecursive(), and isConstFunctionCall().
      
  | 
  static | 
Definition at line 3124 of file symboldatabase.cpp.
References checkReturns(), Token::previous(), and Token::simpleMatch().
Referenced by CheckClass::checkConst(), CheckOther::checkConstVariable(), CheckOther::checkInnerScope(), and CheckClass::checkReturnByReference().
      
  | 
  static | 
Definition at line 3117 of file symboldatabase.cpp.
References checkReturns(), Token::Match(), Token::previous(), and Token::simpleMatch().
Referenced by CheckClass::checkConst(), CheckOther::checkConstPointer(), CheckOther::checkConstVariable(), CheckOther::checkMisusedScopedObject(), CheckClass::checkReturnByReference(), CheckAutoVariables::checkVarLifetimeScope(), followAllReferences(), getLifetimeTokens(), isTemporary(), CheckFunctions::returnLocalStdMove(), and valueFlowLifetimeFunction().
      
  | 
  static | 
Definition at line 3131 of file symboldatabase.cpp.
References checkReturns(), Token::isStandardType(), and Token::previous().
Referenced by CheckClass::checkReturnByReference(), and CheckAutoVariables::checkVarLifetimeScope().
      
  | 
  static | 
Definition at line 3138 of file symboldatabase.cpp.
References checkReturns(), Token::previous(), and Token::simpleMatch().
Referenced by CheckFunctions::checkMissingReturn(), and isConstFunctionCall().
      
  | 
  inlineprivate | 
Set specified flag state.
| flag | flag to set state | 
| state | new state of flag | 
Definition at line 745 of file symboldatabase.h.
Referenced by Function().
Definition at line 2622 of file symboldatabase.cpp.
References Scope::eGlobal, Scope::eNamespace, hasVirtualSpecifier(), isConstexpr(), isExtern(), Token::isExternC(), isFriend(), Token::isInline(), isInlineKeyword(), isStatic(), isStaticLocal(), Token::link(), Token::Match(), Token::previous(), Token::simpleMatch(), Token::str(), templateDef, and Scope::type.
Referenced by Function().
      
  | 
  friend | 
Definition at line 700 of file symboldatabase.h.
| AccessControl Function::access {} | 
public/protected/private
Definition at line 919 of file symboldatabase.h.
Referenced by CheckClass::canNotCopy(), CheckClass::canNotMove(), CheckClass::checkExplicitConstructors(), CheckMemoryLeakInClass::checkPublicFunctions(), CheckClass::checkReturnPtrThis(), CheckClass::checkUselessOverride(), CheckClass::constructors(), SymbolDatabase::createSymbolDatabaseFindAllScopes(), clangimport::AstNode::createTokensFunctionDecl(), getDuplInheritedMemberFunctionsRecursive(), hasNonCopyableBase(), isSafe(), CheckClass::privateFunctions(), and CheckClass::virtualDestructor().
| const Token* Function::arg {} | 
function argument start '('
Definition at line 907 of file symboldatabase.h.
Referenced by addArguments(), SymbolDatabase::addClassFunction(), constructorMemberInitialization(), CheckClass::constructors(), SymbolDatabase::createSymbolDatabaseSetFunctionPointers(), Function(), CheckClass::initializeVarList(), and CheckMemoryLeakInClass::variable().
| const Token* Function::argDef {} | 
function argument start '(' in class definition
Definition at line 905 of file symboldatabase.h.
Referenced by addArguments(), SymbolDatabase::addGlobalFunction(), CheckClass::checkReturnPtrThis(), CheckClass::checkUselessOverride(), CheckOther::checkVarFuncNullUB(), Function(), getDuplInheritedMemberFunctionsRecursive(), getOverriddenFunctionRecursive(), CheckUnusedVar::isRecordTypeWithoutSideEffects(), and CheckClass::virtualFunctionCallInConstructorError().
| std::list<Variable> Function::argumentList | 
argument list, must remain list due to clangimport usage!
Definition at line 912 of file symboldatabase.h.
Referenced by addArguments(), CheckClass::checkExplicitConstructors(), CheckUninitVar::checkScope(), CheckOther::checkShadowVariables(), SymbolDatabase::createSymbolDatabaseVariableSymbolTable(), fullName(), functionModifiesArguments(), getArgumentPos(), getArgumentVar(), isUniqueExpression(), CheckClass::operatorEqToSelf(), and CheckStl::string_c_str().
| const Token* Function::functionPointerUsage {} | 
function pointer usage
Definition at line 918 of file symboldatabase.h.
Referenced by CheckOther::passedByValueError().
| const Scope* Function::functionScope {} | 
scope of function body
Definition at line 910 of file symboldatabase.h.
Referenced by addArguments(), SymbolDatabase::addClassFunction(), SymbolDatabase::addGlobalFunction(), CheckCondition::alwaysTrueFalse(), CheckAssert::assertWithSideEffects(), CheckClass::checkConstFunc(), CheckMemoryLeakInClass::checkPublicFunctions(), CheckOther::checkRedundantCopy(), CheckClass::checkReturnByReference(), CheckClass::checkThisUseAfterFree(), CheckClass::checkThisUseAfterFreeRecursive(), CheckClass::checkUselessOverride(), CheckClass::constructors(), CheckClass::copyconstructors(), SymbolDatabase::createSymbolDatabaseFindAllScopes(), SymbolDatabase::createSymbolDatabaseSetFunctionPointers(), findExpression(), findReturns(), CheckMemoryLeak::functionReturnType(), CheckClass::getFileInfo(), getFunctionUsage(), CheckClass::hasAllocation(), CheckClass::hasAllocationInIfScope(), CheckClass::hasAssignSelf(), CheckClass::initializeVarList(), isContainerSizeChangedByFunction(), CheckUnusedVar::isFunctionWithoutSideEffects(), CheckUnusedVar::isRecordTypeWithoutSideEffects(), CheckExceptionSafety::unhandledExceptionSpecification(), valueFlowForward(), valueFlowSubFunction(), and CheckMemoryLeakInClass::variable().
| nonneg int Function::initArgCount {} | 
number of args with default values
Definition at line 913 of file symboldatabase.h.
Referenced by addArguments().
      
  | 
  private | 
Definition at line 949 of file symboldatabase.h.
| const Scope* Function::nestedIn {} | 
Scope the function is declared in.
Definition at line 911 of file symboldatabase.h.
Referenced by SymbolDatabase::addClassFunction(), argsMatch(), CheckAssert::assertWithSideEffects(), CheckClass::checkVirtualFunctionCallInConstructor(), CheckClass::constructors(), SymbolDatabase::createSymbolDatabaseFindAllScopes(), Scope::findFunction(), fullName(), getOverloadedFunctions(), getOverriddenFunction(), CheckClass::getVirtualFunctionCalls(), CheckClass::initializeVarList(), isSafe(), isUniqueExpression(), CheckSizeof::sizeofFunction(), and valueFlowLifetimeUserConstructor().
| const Token* Function::noexceptArg {} | 
noexcept token
Definition at line 915 of file symboldatabase.h.
Referenced by functionThrowsRecursive().
| const Token* Function::retDef {} | 
function return type token
Definition at line 908 of file symboldatabase.h.
Referenced by CheckClass::checkConst(), CheckType::checkFloatToIntegerOverflow(), CheckClass::checkReturnByReference(), Function(), inBooleanFunction(), CheckIO::ArgumentInfo::isStdVectorOrString(), isUniqueExpression(), CheckClass::operatorEqToSelf(), CheckBool::returnValueOfFunctionReturningBool(), SymbolDatabase::setValueTypeInTokenList(), and Token::typeDecl().
| const ::Type* Function::retType {} | 
function return type
Definition at line 909 of file symboldatabase.h.
Referenced by CheckClass::checkConstFunc(), isUniqueExpression(), and Token::typeOf().
| const Token* Function::templateDef {} | 
points to 'template <' before function
Definition at line 917 of file symboldatabase.h.
Referenced by CheckClass::checkExplicitConstructors(), ValueType::matchParameter(), and setFlags().
| const Token* Function::throwArg {} | 
throw token
Definition at line 916 of file symboldatabase.h.
Referenced by Function(), functionThrowsRecursive(), and CheckExceptionSafety::unhandledExceptionSpecification().
| const Token* Function::token {} | 
function name token in implementation
Definition at line 906 of file symboldatabase.h.
Referenced by SymbolDatabase::addClassFunction(), CheckClass::checkConst(), CheckClass::checkReturnPtrThis(), CheckClass::checkUselessOverride(), CheckClass::constructors(), CheckClass::copyconstructors(), SymbolDatabase::createSymbolDatabaseFindAllScopes(), SymbolDatabase::createSymbolDatabaseSetFunctionPointers(), exprDependsOnThis(), Function(), isSafe(), CheckNullPointer::nullConstantDereference(), CheckClass::operatorEqToSelf(), CheckUnusedFunctions::parseTokens(), Check64BitPortability::pointerassignment(), and CheckClass::virtualDestructor().
| const Token* Function::tokenDef {} | 
function name token in class definition
Definition at line 904 of file symboldatabase.h.
Referenced by Scope::addFunction(), CheckClass::checkConst(), CheckClass::checkExplicitConstructors(), CheckOther::checkRedundantCopy(), CheckClass::checkUselessOverride(), CheckClass::constructors(), CheckClass::copyconstructors(), SymbolDatabase::createSymbolDatabaseSetFunctionPointers(), Function(), CheckClass::getFirstVirtualFunctionCallStack(), getOverloadedFunctions(), getOverriddenFunctionRecursive(), CheckClass::initializeVarList(), isUniqueExpression(), CheckClass::overrideError(), CheckClass::returnByReferenceError(), SymbolDatabase::setValueTypeInTokenList(), CheckStl::string_c_str(), tokenIsFunctionReturningBool(), CheckExceptionSafety::unhandledExceptionSpecification(), CheckClass::uselessOverrideError(), and CheckClass::virtualFunctionCallInConstructorError().
constructor, destructor, ...
Definition at line 914 of file symboldatabase.h.
Referenced by addArguments(), CheckClass::canNotCopy(), CheckClass::canNotMove(), CheckClass::checkConst(), CheckClass::checkCopyCtorAndEqOperator(), CheckClass::checkExplicitConstructors(), CheckMemoryLeakInClass::checkPublicFunctions(), CheckClass::checkThisUseAfterFree(), CheckClass::constructors(), CheckClass::copyconstructors(), SymbolDatabase::createSymbolDatabaseNeedInitialization(), Function(), Type::getFunction(), getOverriddenFunctionRecursive(), hasNonCopyableBase(), CheckClass::initializeVarList(), isUniqueExpression(), CheckClass::operatorEqToSelf(), CheckUnusedFunctions::parseTokens(), CheckClass::privateFunctions(), CheckClass::pureVirtualFunctionCallInConstructorError(), and CheckClass::virtualFunctionCallInConstructorError().