| 21 | } |
| 22 | |
| 23 | bool SymbolTreeNode::readFromVM( |
| 24 | DebugInterface& cpu, |
| 25 | const ccc::SymbolDatabase& database, |
| 26 | const SymbolTreeDisplayOptions& display_options) |
| 27 | { |
| 28 | QVariant new_value; |
| 29 | |
| 30 | const ccc::ast::Node* logical_type = type.lookup_node(database); |
| 31 | if (logical_type) |
| 32 | { |
| 33 | const ccc::ast::Node& physical_type = *logical_type->physical_type(database).first; |
| 34 | new_value = readValueAsVariant(physical_type, cpu, database); |
| 35 | } |
| 36 | |
| 37 | bool data_changed = false; |
| 38 | |
| 39 | if (new_value != m_value) |
| 40 | { |
| 41 | m_value = std::move(new_value); |
| 42 | data_changed = true; |
| 43 | } |
| 44 | |
| 45 | data_changed |= updateDisplayString(cpu, database, display_options); |
| 46 | data_changed |= updateLiveness(cpu); |
| 47 | data_changed |= updateMatchesMemory(cpu, database); |
| 48 | |
| 49 | return data_changed; |
| 50 | } |
| 51 | |
| 52 | bool SymbolTreeNode::writeToVM( |
| 53 | QVariant value, |
no test coverage detected