[lldb] Add support for negative integer to {SB,}StructuredData
This patch refactors the `StructuredData::Integer` class to make it
templated, makes it private and adds 2 public specialization for both
`int64_t` & `uint64_t` with a public type aliases, respectively
`SignedInteger` & `UnsignedInteger`.
It adds new getter for signed and unsigned interger values to the
`StructuredData::Object` base class and changes the implementation of
`StructuredData::Array::GetItemAtIndexAsInteger` and
`StructuredData::Dictionary::GetValueForKeyAsInteger` to support signed
and unsigned integers.
This patch also adds 2 new `Get{Signed,Unsigned}IntegerValue` to the
`SBStructuredData` class and marks `GetIntegerValue` as deprecated.
Finally, this patch audits all the caller of `StructuredData::Integer`
or `StructuredData::GetIntegerValue` to use the proper type as well the
various tests that uses `SBStructuredData.GetIntegerValue`.
rdar://105575764
Differential Revision: https://reviews.llvm.org/D150485
Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
This commit is contained in:
1 parent
01c5ec3d62
commit
1370a1cb5b
37 files changed
+365
-185
No files matched your search
@@ -152,7 +152,7 @@ lldb::offset_t ScriptedProcessPythonInterface::WriteMemoryAtAddress(
|
||||
if (py_error.Fail())
|
||||
error = py_error;
|
||||
|
||||
return obj->GetIntegerValue(LLDB_INVALID_OFFSET);
|
||||
return obj->GetUnsignedIntegerValue(LLDB_INVALID_OFFSET);
|
||||
}
|
||||
|
||||
StructuredData::ArraySP ScriptedProcessPythonInterface::GetLoadedImages() {
|
||||
@@ -173,7 +173,7 @@ lldb::pid_t ScriptedProcessPythonInterface::GetProcessID() {
|
||||
if (!CheckStructuredDataObject(LLVM_PRETTY_FUNCTION, obj, error))
|
||||
return LLDB_INVALID_PROCESS_ID;
|
||||
|
||||
return obj->GetIntegerValue(LLDB_INVALID_PROCESS_ID);
|
||||
return obj->GetUnsignedIntegerValue(LLDB_INVALID_PROCESS_ID);
|
||||
}
|
||||
|
||||
bool ScriptedProcessPythonInterface::IsAlive() {
|
||||
|
||||
Reference in new issue
Block a user