| 
    Cppcheck
    
   | 
 
Value type. More...
#include <symboldatabase.h>
Public Types | |
| enum | Sign { UNKNOWN_SIGN , SIGNED , UNSIGNED } | 
| enum | Type {  UNKNOWN_TYPE , POD , NONSTD , RECORD , SMART_POINTER , CONTAINER , ITERATOR , VOID , BOOL , CHAR , SHORT , WCHAR_T , INT , LONG , LONGLONG , UNKNOWN_INT , FLOAT , DOUBLE , LONGDOUBLE }  | 
| enum class | MatchResult {  UNKNOWN , SAME , FALLBACK1 , FALLBACK2 , NOMATCH }  | 
Public Member Functions | |
| ValueType ()=default | |
| ValueType (Sign s, Type t, nonneg int p) | |
| ValueType (Sign s, Type t, nonneg int p, nonneg int c) | |
| ValueType (Sign s, Type t, nonneg int p, nonneg int c, nonneg int v) | |
| ValueType (Sign s, Type t, nonneg int p, nonneg int c, std::string otn) | |
| bool | isPrimitive () const | 
| bool | isIntegral () const | 
| bool | isFloat () const | 
| bool | fromLibraryType (const std::string &typestr, const Settings &settings) | 
| bool | isEnum () const | 
| bool | isConst (nonneg int indirect=0) const | 
| bool | isVolatile (nonneg int indirect=0) const | 
| MathLib::bigint | typeSize (const Platform &platform, bool p=false) const | 
| bool | isTypeEqual (const ValueType *that) const | 
| Check if type is the same ignoring const and references.  More... | |
| std::string | str () const | 
| std::string | dump () const | 
| void | setDebugPath (const Token *tok, SourceLocation ctx, const SourceLocation &local=SourceLocation::current()) | 
Static Public Member Functions | |
| static ValueType | parseDecl (const Token *type, const Settings &settings) | 
| static Type | typeFromString (const std::string &typestr, bool longType) | 
| static MatchResult | matchParameter (const ValueType *call, const ValueType *func) | 
| static MatchResult | matchParameter (const ValueType *call, const Variable *callVar, const Variable *funcVar) | 
Public Attributes | |
| enum ValueType::Sign | sign = UNKNOWN_SIGN | 
| enum ValueType::Type | type = UNKNOWN_TYPE | 
| nonneg int | bits {} | 
| bitfield bitcount  More... | |
| nonneg int | pointer {} | 
| 0=>not pointer, 1=>*, 2=>**, 3=>***, etc  More... | |
| nonneg int | constness {} | 
| bit 0=data, bit 1=*, bit 2=**  More... | |
| nonneg int | volatileness {} | 
| bit 0=data, bit 1=*, bit 2=**  More... | |
| Reference | reference = Reference::None | 
| Is the outermost indirection of this type a reference or rvalue.  More... | |
| const Scope * | typeScope {} | 
| if the type definition is seen this point out the type scope  More... | |
| const ::Type * | smartPointerType {} | 
| Smart pointer type.  More... | |
| const Token * | smartPointerTypeToken {} | 
| Smart pointer type token.  More... | |
| const Library::SmartPointer * | smartPointer {} | 
| Smart pointer.  More... | |
| const Library::Container * | container {} | 
| If the type is a container defined in a cfg file, this is the used.  More... | |
| const Token * | containerTypeToken {} | 
| The container type token.  More... | |
| std::string | originalTypeName | 
| original type name as written in the source code.  More... | |
| ErrorPath | debugPath | 
| debug path to the type  More... | |
Value type.
Definition at line 1208 of file symboldatabase.h.
      
  | 
  strong | 
| Enumerator | |
|---|---|
| UNKNOWN | |
| SAME | |
| FALLBACK1 | |
| FALLBACK2 | |
| NOMATCH | |
Definition at line 1281 of file symboldatabase.h.
| enum ValueType::Sign | 
| Enumerator | |
|---|---|
| UNKNOWN_SIGN | |
| SIGNED | |
| UNSIGNED | |
Definition at line 1210 of file symboldatabase.h.
| enum ValueType::Type | 
| Enumerator | |
|---|---|
| UNKNOWN_TYPE | |
| POD | |
| NONSTD | |
| RECORD | |
| SMART_POINTER | |
| CONTAINER | |
| ITERATOR | |
| VOID | |
| BOOL | |
| CHAR | |
| SHORT | |
| WCHAR_T | |
| INT | |
| LONG | |
| LONGLONG | |
| UNKNOWN_INT | |
| FLOAT | |
| DOUBLE | |
| LONGDOUBLE | |
Definition at line 1211 of file symboldatabase.h.
      
  | 
  default | 
Definition at line 1251 of file symboldatabase.h.
Definition at line 1256 of file symboldatabase.h.
Definition at line 1262 of file symboldatabase.h.
Definition at line 1269 of file symboldatabase.h.
| std::string ValueType::dump | ( | ) | const | 
Definition at line 7876 of file symboldatabase.cpp.
References bits, BOOL, CHAR, constness, CONTAINER, container, DOUBLE, FLOAT, id_string(), INT, ITERATOR, LONG, LONGDOUBLE, LONGLONG, LValue, None, NONSTD, originalTypeName, POD, pointer, RECORD, reference, RValue, SHORT, sign, SMART_POINTER, ErrorLogger::toxml(), type, typeScope, UNKNOWN_INT, UNKNOWN_TYPE, VOID, volatileness, and WCHAR_T.
Referenced by Tokenizer::dump().
| bool ValueType::fromLibraryType | ( | const std::string & | typestr, | 
| const Settings & | settings | ||
| ) | 
Definition at line 7798 of file symboldatabase.cpp.
References Library::PodType::BOOL, Library::PodType::CHAR, constness, Library::PodType::INT, Settings::library, Library::PodType::LONG, Library::PodType::LONGLONG, Library::PlatformType::mConstPtr, Library::PlatformType::mLong, Library::PlatformType::mPointer, Library::PlatformType::mPtrPtr, Library::PlatformType::mSigned, Library::PlatformType::mType, Library::PlatformType::mUnsigned, Library::PodType::NO, originalTypeName, Settings::platform, Library::platform_type(), Library::podtype(), pointer, Library::PodType::SHORT, Library::PodType::sign, sign, SIGNED, Library::PodType::size, Platform::sizeof_int, Platform::sizeof_long, Platform::sizeof_long_long, Platform::sizeof_short, Platform::sizeof_size_t, Library::PodType::stdtype, Platform::toString(), type, UNKNOWN_SIGN, and UNSIGNED.
Referenced by parsedecl(), SymbolDatabase::setValueType(), and SymbolDatabase::setValueTypeInTokenList().
| bool ValueType::isConst | ( | nonneg int | indirect = 0 | ) | const | 
Definition at line 7999 of file symboldatabase.cpp.
References constness, and pointer.
Referenced by CheckClass::checkConstFunc(), CheckOther::checkConstPointer(), CheckOther::checkConstVariable(), and isVariableChanged().
      
  | 
  inline | 
Definition at line 1299 of file symboldatabase.h.
References Scope::eEnum.
Referenced by CheckOther::clarifyCalculation(), and matchParameter().
      
  | 
  inline | 
Definition at line 1293 of file symboldatabase.h.
Referenced by CheckType::checkFloatToIntegerOverflow(), followVariableExpression(), getDimensionsEtc(), isTruncated(), matchParameter(), setAutoTokenProperties(), and setTokenValueCast().
      
  | 
  inline | 
Definition at line 1289 of file symboldatabase.h.
Referenced by CheckIO::ArgumentInfo::ArgumentInfo(), CheckNullPointer::arithmetic(), astIsIntegral(), CheckStl::checkFindInsert(), CheckType::checkFloatToIntegerOverflow(), CheckType::checkIntegerOverflow(), CheckCondition::checkInvalidTestForOverflow(), CheckOther::checkNegativeBitwiseShift(), CheckString::checkSuspiciousStringCompare(), CheckType::checkTooBigBitwiseShift(), followVariableExpression(), getDimensionsEtc(), getInitListSize(), getMinMaxValues(), CheckOther::invalidPointerCast(), isConvertedToIntegral(), isLifetimeBorrowed(), isTruncated(), isVariableChangedByFunctionCall(), matchParameter(), CheckCondition::multiCondition2(), parsedecl(), CheckBufferOverrun::pointerArithmetic(), Check64BitPortability::pointerassignment(), setAutoTokenProperties(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), CheckSizeof::sizeofVoid(), str(), truncateValues(), valueFlowGlobalConstVar(), valueFlowGlobalStaticVar(), and valueFlowSetConstantValue().
      
  | 
  inline | 
Definition at line 1285 of file symboldatabase.h.
Referenced by astIsPrimitive(), getAlignOf(), isTrivialConstructor(), needsInitialization(), and SymbolDatabase::setValueType().
| bool ValueType::isTypeEqual | ( | const ValueType * | that | ) | const | 
Check if type is the same ignoring const and references.
Definition at line 8049 of file symboldatabase.cpp.
Referenced by CheckCondition::checkCompareValueOutOfTypeRange(), SymbolDatabase::setValueType(), and valueFlowIsSameContainerType().
| bool ValueType::isVolatile | ( | nonneg int | indirect = 0 | ) | const | 
Definition at line 8006 of file symboldatabase.cpp.
References pointer, and volatileness.
      
  | 
  static | 
Definition at line 8137 of file symboldatabase.cpp.
References Scope::className, constness, container, Scope::definedType, FALLBACK1, FALLBACK2, Type::isDerivedFrom(), isEnum(), isFloat(), isIntegral(), NOMATCH, None, pointer, reference, SAME, sign, Library::Container::stdStringLike, type, typeScope, UNKNOWN, UNKNOWN_TYPE, and volatileness.
Referenced by checkVariableCallMatch(), Scope::findFunction(), and matchParameter().
      
  | 
  static | 
Definition at line 8203 of file symboldatabase.cpp.
References container, Scope::function, getTypeString(), Variable::isArray(), Variable::isStlType(), matchParameter(), NOMATCH, pointer, SAME, Variable::scope(), Token::simpleMatch(), Function::templateDef, Variable::typeStartToken(), UNKNOWN, and Variable::valueType().
Definition at line 7768 of file symboldatabase.cpp.
References Platform::defaultSign, parsedecl(), Settings::platform, and type.
Referenced by CheckType::checkFloatToIntegerOverflow(), CheckClass::checkThisUseAfterFree(), Variable::evaluate(), SymbolDatabase::findFunction(), getInitListSize(), getMinMaxValues(), getParentValueTypes(), getSizeOfType(), isContainerOfPointers(), setTokenValue(), setValues(), clangimport::AstNode::setValueType(), SymbolDatabase::setValueTypeInTokenList(), valueFlowIsSameContainerType(), and valueFlowSetConstantValue().
| void ValueType::setDebugPath | ( | const Token * | tok, | 
| SourceLocation | ctx, | ||
| const SourceLocation & | local = SourceLocation::current()  | 
        ||
| ) | 
Definition at line 8127 of file symboldatabase.cpp.
References debugPath, SourceLocation::file_name(), SourceLocation::function_name(), SourceLocation::line(), and Path::stripDirectoryPart().
Referenced by parsedecl(), and SymbolDatabase::setValueType().
| std::string ValueType::str | ( | ) | const | 
Definition at line 8059 of file symboldatabase.cpp.
References BOOL, CHAR, Scope::className, constness, container, Scope::definedType, DOUBLE, Scope::eClass, Scope::eGlobal, Scope::eNamespace, Type::enclosingScope, Scope::eStruct, FLOAT, INT, isIntegral(), LONG, LONGDOUBLE, LONGLONG, LValue, Library::SmartPointer::name, Scope::nestedIn, pointer, reference, RValue, SHORT, sign, SIGNED, smartPointer, Library::Container::startPattern, Scope::type, type, typeScope, UNKNOWN_INT, UNSIGNED, VOID, volatileness, and WCHAR_T.
Referenced by CheckCondition::checkCompareValueOutOfTypeRange(), SymbolDatabase::debugSymbolDatabase(), CheckOther::invalidPointerCast(), isLifetimeBorrowed(), CheckType::longCastAssignError(), CheckType::longCastReturnError(), SymbolDatabase::printVariable(), CheckSizeof::sizeofVoid(), and Token::typeStr().
      
  | 
  static | 
Definition at line 7775 of file symboldatabase.cpp.
Referenced by parsedecl(), SymbolDatabase::setValueType(), and SymbolDatabase::setValueTypeInTokenList().
| MathLib::bigint ValueType::typeSize | ( | const Platform & | platform, | 
| bool | p = false  | 
        ||
| ) | const | 
Definition at line 8012 of file symboldatabase.cpp.
References Scope::definedType, pointer, Type::sizeOf, Platform::sizeof_bool, Platform::sizeof_double, Platform::sizeof_float, Platform::sizeof_int, Platform::sizeof_long, Platform::sizeof_long_double, Platform::sizeof_long_long, Platform::sizeof_pointer, Platform::sizeof_short, Platform::sizeof_wchar_t, type, and typeScope.
Referenced by CheckMemoryLeakNoVar::checkForUnreleasedInputArgument(), CheckBufferOverrun::getBufferSize(), getDimensionsEtc(), CTU::getFileInfo(), CheckBufferOverrun::isCtuUnsafeBufferUsage(), CheckBufferOverrun::objectIndex(), CheckLeakAutoVar::ret(), setValues(), and valueFlowDynamicBufferSize().
| nonneg int ValueType::bits {} | 
bitfield bitcount
Definition at line 1232 of file symboldatabase.h.
Referenced by dump(), and SymbolDatabase::setValueType().
| nonneg int ValueType::constness {} | 
bit 0=data, bit 1=*, bit 2=**
Definition at line 1234 of file symboldatabase.h.
Referenced by CheckIO::ArgumentInfo::ArgumentInfo(), CheckOther::checkConstPointer(), CheckOther::checkDuplicateExpression(), dump(), SymbolDatabase::findFunction(), Scope::findFunction(), fromLibraryType(), isConst(), isContainerSizeChangedByFunction(), isSameExpression(), matchParameter(), parsedecl(), SymbolDatabase::printXml(), Variable::setValueType(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), str(), valueFlowGlobalConstVar(), and valueFlowGlobalStaticVar().
| const Library::Container* ValueType::container {} | 
If the type is a container defined in a cfg file, this is the used.
container
Definition at line 1242 of file symboldatabase.h.
Referenced by astContainerAction(), astContainerYield(), astIsContainerString(), CheckClass::checkConstFunc(), CheckOther::checkInnerScope(), SymbolDatabase::createSymbolDatabaseSetVariablePointers(), dump(), Tokenizer::dump(), CheckStl::eraseIteratorOutOfBounds(), CheckLeakAutoVar::functionCall(), Library::getContainerFromAction(), Library::getContainerFromYield(), getContainerFunction(), getContainerSizeFromConstructor(), getInitListSize(), getInvalidMethod(), getLibraryContainer(), CheckStl::isContainerSize(), ValueFlow::isContainerSizeChanged(), isLifetimeBorrowed(), isLifetimeOwned(), isMapFind(), Variable::isStlStringViewType(), isTemporary(), isVariableChanged(), matchParameter(), parsedecl(), Library::returnValueType(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), CheckStl::stlOutOfBounds(), str(), and valueFlowContainerSize().
| const Token* ValueType::containerTypeToken {} | 
The container type token.
the template argument token that defines the container element type.
Definition at line 1244 of file symboldatabase.h.
Referenced by CheckUninitVar::checkScope(), CheckClass::constructors(), SymbolDatabase::createSymbolDatabaseSetVariablePointers(), getInitListSize(), getParentValueTypes(), Variable::iteratorType(), parsedecl(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), Token::typeDecl(), valueFlowIsSameContainerType(), and valueFlowLifetime().
| ErrorPath ValueType::debugPath | 
debug path to the type
Definition at line 1248 of file symboldatabase.h.
Referenced by SymbolDatabase::debugSymbolDatabase(), and setDebugPath().
| std::string ValueType::originalTypeName | 
original type name as written in the source code.
eg. this might be "uint8_t" when type is CHAR.
Definition at line 1246 of file symboldatabase.h.
Referenced by CheckIO::ArgumentInfo::ArgumentInfo(), CheckOther::checkDuplicateExpression(), CheckType::checkLongCast(), dump(), fromLibraryType(), isNotEqual(), parsedecl(), Check64BitPortability::pointerassignment(), SymbolDatabase::setValueType(), and SymbolDatabase::setValueTypeInTokenList().
| nonneg int ValueType::pointer {} | 
0=>not pointer, 1=>*, 2=>**, 3=>***, etc
Definition at line 1233 of file symboldatabase.h.
Referenced by CheckIO::ArgumentInfo::ArgumentInfo(), astIsBool(), astIsCharWithSign(), astIsFloat(), astIsIntegral(), astIsPointer(), CheckBufferOverrun::bufferOverflow(), CheckCondition::checkCompareValueOutOfTypeRange(), CheckClass::checkConstFunc(), CheckOther::checkConstPointer(), CheckCondition::checkDuplicateConditionalAssign(), CheckOther::checkDuplicateExpression(), CheckStl::checkFindInsert(), CheckUnusedVar::checkFunctionVariableUsage(), CheckUnusedVar::checkFunctionVariableUsage_iterateScopes(), CheckOther::checkIncompleteArrayFill(), CheckType::checkLongCast(), CheckCondition::checkPointerAdditionResultNotNull(), FwdAnalysis::checkRecursive(), CheckOther::checkRedundantPointerOp(), CheckOther::checkSignOfUnsignedVariable(), CheckSizeof::checkSizeofForPointerSize(), CheckString::checkSuspiciousStringCompare(), CheckType::checkTooBigBitwiseShift(), CheckOther::comparisonNonZeroExpressionLessThanZero(), CheckClass::constructors(), dump(), Scope::findFunction(), fromLibraryType(), CheckLeakAutoVar::functionCall(), getAlignOf(), getBufAndOffset(), getDimensionsEtc(), CTU::getFileInfo(), ContainerExpressionAnalyzer::getIndirect(), getInitListSize(), getMinMaxValues(), getPointerDepth(), ValueFlow::getSizeOf(), Token::getStrSize(), getUnsafeFunction(), CheckClass::initializeVarList(), CheckOther::invalidPointerCast(), CheckCondition::invalidTestForOverflow(), isConst(), isContainerOfPointers(), isContainerSizeChangedByFunction(), isLifetimeBorrowed(), isLifetimeOwned(), isNullOperand(), isSameConstantValue(), isSameExpression(), isTemporary(), isTruncated(), isVariableChangedByFunctionCall(), CheckUninitVar::isVariableUsage(), isVoidCast(), isVolatile(), matchParameter(), CheckBufferOverrun::objectIndex(), parsedecl(), CheckBufferOverrun::pointerArithmetic(), Check64BitPortability::pointerassignment(), CheckLeakAutoVar::ret(), setTokenValueCast(), Variable::setValueType(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), CheckSizeof::sizeofVoid(), CheckString::sprintfOverlappingData(), str(), CheckSizeof::suspiciousSizeofCalculation(), CheckOther::testIfNonZeroExpressionIsPositive(), typeSize(), useFunctionArgs(), valueFlowDynamicBufferSize(), valueFlowGlobalConstVar(), valueFlowGlobalStaticVar(), and valueFlowSetConstantValue().
| Reference ValueType::reference = Reference::None | 
Is the outermost indirection of this type a reference or rvalue.
reference or not? pointer=2, Reference=LValue would be a T**&
Definition at line 1236 of file symboldatabase.h.
Referenced by CheckOther::checkConstPointer(), FwdAnalysis::checkRecursive(), CheckOther::checkRedundantPointerOp(), checkTypeCombination(), dump(), getAlignOf(), CTU::getFileInfo(), ValueFlow::getSizeOf(), isGlobalData(), isTemporary(), matchParameter(), parsedecl(), CheckFunctions::returnLocalStdMove(), SymbolDatabase::setValueType(), and str().
| enum ValueType::Sign ValueType::sign = UNKNOWN_SIGN | 
Referenced by CheckIO::ArgumentInfo::ArgumentInfo(), astIsCharWithSign(), astIsUnsigned(), ConditionHandler::beforeCondition(), CheckCondition::checkCompareValueOutOfTypeRange(), CheckType::checkIntegerOverflow(), CheckCondition::checkInvalidTestForOverflow(), CheckType::checkTooBigBitwiseShift(), CheckOther::comparisonNonZeroExpressionLessThanZero(), dump(), Scope::findFunction(), fromLibraryType(), getMinMaxValues(), isNegative(), isSameConstantValue(), isTruncated(), Variable::isUnsigned(), matchParameter(), parsedecl(), Token::printValueFlow(), setTokenValue(), setTokenValueCast(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), str(), CheckOther::testIfNonZeroExpressionIsPositive(), truncateImplicitConversion(), truncateValues(), valueFlowSetConstantValue(), and ValueFlowAnalyzer::writeValue().
| const Library::SmartPointer* ValueType::smartPointer {} | 
Smart pointer.
Definition at line 1241 of file symboldatabase.h.
Referenced by astIsUniqueSmartPointer(), isTruncated(), parsedecl(), SymbolDatabase::setValueTypeInTokenList(), and str().
| const ::Type* ValueType::smartPointerType {} | 
Smart pointer type.
Definition at line 1239 of file symboldatabase.h.
Referenced by CheckClass::checkThisUseAfterFree(), SymbolDatabase::createSymbolDatabaseSetSmartPointerType(), isRaiiClass(), parsedecl(), Variable::setValueType(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), and Variable::smartPointerType().
| const Token* ValueType::smartPointerTypeToken {} | 
Smart pointer type token.
Definition at line 1240 of file symboldatabase.h.
Referenced by astIsSmartPointer(), SymbolDatabase::createSymbolDatabaseSetSmartPointerType(), Scope::findFunction(), parsedecl(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), and Token::typeDecl().
| enum ValueType::Type ValueType::type = UNKNOWN_TYPE | 
Referenced by CheckIO::ArgumentInfo::ArgumentInfo(), CheckBufferOverrun::argumentSize(), astIsBool(), astIsCharWithSign(), astIsFloat(), astIsGenericChar(), astIsIterator(), CheckOther::checkCharVariable(), CheckCondition::checkCompareValueOutOfTypeRange(), CheckCondition::checkDuplicateConditionalAssign(), CheckType::checkFloatToIntegerOverflow(), CheckUnusedVar::checkFunctionVariableUsage(), CheckOther::checkIncompleteArrayFill(), CheckCondition::checkIncorrectLogicOperator(), CheckType::checkIntegerOverflow(), CheckSizeof::checkSizeofForPointerSize(), CheckMemoryLeakStructMember::checkStructVariable(), CheckType::checkTooBigBitwiseShift(), checkTypeCombination(), CheckCondition::clarifyCondition(), SymbolDatabase::createSymbolDatabaseNeedInitialization(), dump(), Scope::findFunction(), fromLibraryType(), getAlignOf(), getInitListSize(), getMinMaxValues(), ValueFlow::getSizeOf(), CheckCondition::identicalConditionAfterEarlyExitError(), CheckClass::initializationListUsage(), CheckFunctions::invalidFunctionUsage(), CheckOther::invalidPointerCast(), isAutoDealloc(), isConvertedToIntegral(), isIterator(), isLifetimeBorrowed(), isLifetimeOwned(), isNonReferenceArg(), isRaiiClass(), isSameConstantValue(), isSameExpression(), isStdMoveOrStdForwarded(), isTruncated(), isVariableCopyNeeded(), CheckUninitVar::isVariableUsage(), CheckUnusedVar::isVariableWithoutSideEffects(), isVoidCast(), Variable::iteratorType(), matchParameter(), needsInitialization(), CheckBufferOverrun::objectIndex(), CheckStl::outOfBoundsError(), parseDecl(), parsedecl(), Check64BitPortability::pointerassignment(), setTokenValueCast(), Variable::setValueType(), clangimport::AstNode::setValueType(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), CheckSizeof::sizeofVoid(), str(), CheckStl::string_c_str(), typeSize(), CheckStl::uselessCalls(), CheckStl::useStlAlgorithm(), valueFlowIsSameContainerType(), valueFlowLifetimeClassConstructor(), and valueFlowSafeFunctions().
| const Scope* ValueType::typeScope {} | 
if the type definition is seen this point out the type scope
Definition at line 1238 of file symboldatabase.h.
Referenced by CheckUnusedVar::checkFunctionVariableUsage(), CheckClass::checkThisUseAfterFree(), dump(), SymbolDatabase::findFunction(), getAlignOf(), getClassScope(), ValueFlow::getSizeOf(), isRaiiClass(), isTruncated(), matchParameter(), parsedecl(), Check64BitPortability::pointerassignment(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), str(), and typeSize().
| nonneg int ValueType::volatileness {} | 
bit 0=data, bit 1=*, bit 2=**
Definition at line 1235 of file symboldatabase.h.
Referenced by dump(), Scope::findFunction(), isVolatile(), matchParameter(), parsedecl(), SymbolDatabase::printXml(), Variable::setValueType(), SymbolDatabase::setValueType(), SymbolDatabase::setValueTypeInTokenList(), and str().