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

Method astStringVerboseRecursive

lib/token.cpp:1699–1729  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1697}
1698
1699void Token::astStringVerboseRecursive(std::string& ret, const nonneg int indent1, const nonneg int indent2) const
1700{
1701 if (isExpandedMacro())
1702 ret += '$';
1703 ret += mStr;
1704 if (mImpl->mValueType)
1705 ret += " \'" + mImpl->mValueType->str() + '\'';
1706 if (function()) {
1707 std::ostringstream ostr;
1708 ostr << std::hex << function();
1709 ret += " f:" + ostr.str();
1710 }
1711 ret += '\n';
1712
1713 if (mImpl->mAstOperand1) {
1714 int i1 = indent1, i2 = indent2 + 2;
1715 if (indent1 == indent2 && !mImpl->mAstOperand2)
1716 i1 += 2;
1717 indent(ret, indent1, indent2);
1718 ret += mImpl->mAstOperand2 ? "|-" : "`-";
1719 mImpl->mAstOperand1->astStringVerboseRecursive(ret, i1, i2);
1720 }
1721 if (mImpl->mAstOperand2) {
1722 int i1 = indent1, i2 = indent2 + 2;
1723 if (indent1 == indent2)
1724 i1 += 2;
1725 indent(ret, indent1, indent2);
1726 ret += "`-";
1727 mImpl->mAstOperand2->astStringVerboseRecursive(ret, i1, i2);
1728 }
1729}
1730
1731std::string Token::astStringVerbose() const
1732{

Callers

nothing calls this directly

Calls 4

isExpandedMacroFunction · 0.85
functionFunction · 0.85
indentFunction · 0.85
strMethod · 0.45

Tested by

no test coverage detected