MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / parseUnionMember

Function parseUnionMember

lib/checkother.cpp:4533–4548  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4531};
4532
4533static UnionMember parseUnionMember(const Variable &var,
4534 const Settings &settings)
4535{
4536 const Token *nameToken = var.nameToken();
4537 if (nameToken == nullptr)
4538 return UnionMember();
4539
4540 const ValueType *vt = nameToken->valueType();
4541 size_t size = 0;
4542 if (var.isArray()) {
4543 size = var.dimension(0);
4544 } else if (vt != nullptr) {
4545 size = vt->getSizeOf(settings, ValueType::Accuracy::ExactOrZero, ValueType::SizeOf::Pointer);
4546 }
4547 return UnionMember(nameToken->str(), size);
4548}
4549
4550static std::vector<Union> parseUnions(const SymbolDatabase &symbolDatabase,
4551 const Settings &settings)

Callers 1

parseUnionsFunction · 0.85

Calls 5

isArrayMethod · 0.80
getSizeOfMethod · 0.80
UnionMemberClass · 0.70
nameTokenMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected