MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / readValueAsVariant

Method readValueAsVariant

pcsx2-qt/Debugger/SymbolTree/SymbolTreeNode.cpp:79–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

77}
78
79QVariant SymbolTreeNode::readValueAsVariant(const ccc::ast::Node& physical_type, DebugInterface& cpu, const ccc::SymbolDatabase& database) const
80{
81 switch (physical_type.descriptor)
82 {
83 case ccc::ast::BUILTIN:
84 {
85 const ccc::ast::BuiltIn& builtIn = physical_type.as<ccc::ast::BuiltIn>();
86 switch (builtIn.bclass)
87 {
88 case ccc::ast::BuiltInClass::UNSIGNED_8:
89 return (qulonglong)location.read8(cpu);
90 case ccc::ast::BuiltInClass::SIGNED_8:
91 return (qlonglong)(s8)location.read8(cpu);
92 case ccc::ast::BuiltInClass::UNQUALIFIED_8:
93 return (qulonglong)location.read8(cpu);
94 case ccc::ast::BuiltInClass::BOOL_8:
95 return (bool)location.read8(cpu);
96 case ccc::ast::BuiltInClass::UNSIGNED_16:
97 return (qulonglong)location.read16(cpu);
98 case ccc::ast::BuiltInClass::SIGNED_16:
99 return (qlonglong)(s16)location.read16(cpu);
100 case ccc::ast::BuiltInClass::UNSIGNED_32:
101 return (qulonglong)location.read32(cpu);
102 case ccc::ast::BuiltInClass::SIGNED_32:
103 return (qlonglong)(s32)location.read32(cpu);
104 case ccc::ast::BuiltInClass::FLOAT_32:
105 {
106 u32 value = location.read32(cpu);
107 return *reinterpret_cast<float*>(&value);
108 }
109 case ccc::ast::BuiltInClass::UNSIGNED_64:
110 return (qulonglong)location.read64(cpu);
111 case ccc::ast::BuiltInClass::SIGNED_64:
112 return (qlonglong)(s64)location.read64(cpu);
113 case ccc::ast::BuiltInClass::FLOAT_64:
114 {
115 u64 value = location.read64(cpu);
116 return *reinterpret_cast<double*>(&value);
117 }
118 default:
119 {
120 }
121 }
122 break;
123 }
124 case ccc::ast::ENUM:
125 return location.read32(cpu);
126 case ccc::ast::POINTER_OR_REFERENCE:
127 case ccc::ast::POINTER_TO_DATA_MEMBER:
128 return location.read32(cpu);
129 default:
130 {
131 }
132 }
133
134 return QVariant();
135}
136

Callers 1

createEditorMethod · 0.80

Calls 5

QVariantClass · 0.85
read8Method · 0.80
read16Method · 0.80
read32Method · 0.80
read64Method · 0.80

Tested by

no test coverage detected