| 217 | } |
| 218 | |
| 219 | QString MemWatchTreeNode::writeAsCSV() const |
| 220 | { |
| 221 | if (isGroup() || m_parent == nullptr) |
| 222 | { |
| 223 | QString rootCsv; |
| 224 | for (MemWatchTreeNode* const child : m_children) |
| 225 | { |
| 226 | QString theCsvLine = child->writeAsCSV(); |
| 227 | rootCsv.append(theCsvLine); |
| 228 | } |
| 229 | return rootCsv; |
| 230 | } |
| 231 | |
| 232 | std::stringstream ssAddress; |
| 233 | ssAddress << std::hex << std::uppercase << m_entry->getConsoleAddress(); |
| 234 | if (m_entry->isBoundToPointer()) |
| 235 | { |
| 236 | for (int i = 0; i < static_cast<int>(m_entry->getPointerLevel()); ++i) |
| 237 | { |
| 238 | std::stringstream ssOffset; |
| 239 | ssOffset << std::hex << std::uppercase << m_entry->getPointerOffset(i); |
| 240 | ssAddress << "[" << ssOffset.str() << "]"; |
| 241 | } |
| 242 | } |
| 243 | std::string csvLine = |
| 244 | m_entry->getLabel().toStdString() + ";" + ssAddress.str() + ";" + |
| 245 | GUICommon::getStringFromType(m_entry->getType(), m_entry->getLength()).toStdString() + "\n"; |
| 246 | return QString::fromStdString(csvLine); |
| 247 | } |
no test coverage detected