Update third_party/blink/tools/lldb/lldb_blink.py to work with blink types.
Also update the indentation from 2 to 4 for linter issues.
Bug: 1004272
Change-Id: I0235848c18506c2e39fd9d98b22eba4e54c1e8af
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1810444
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#698020}
This commit is contained in:
1
AUTHORS
1
AUTHORS
@ -1094,3 +1094,4 @@ Vewd Software AS <*@vewd.com>
|
||||
Vivaldi Technologies AS <*@vivaldi.com>
|
||||
Yandex LLC <*@yandex-team.ru>
|
||||
Make Positive Provar Limited <*@provartesting.com>
|
||||
Jiaxun Wei <leuisken@gmail.com>
|
||||
|
30
third_party/blink/tools/lldb/lldb_blink.py
vendored
30
third_party/blink/tools/lldb/lldb_blink.py
vendored
@ -142,22 +142,30 @@ class WTFStringImplProvider:
|
||||
def get_length(self):
|
||||
return self.valobj.GetChildMemberWithName('length_').GetValueAsUnsigned(0)
|
||||
|
||||
def get_data8(self):
|
||||
# FIXME: This should be the equivalent of reinterpret_cast<LChar*>(self.valobj + 1)
|
||||
return self.valobj.GetChildAtIndex(2).GetChildMemberWithName('m_data8')
|
||||
|
||||
def get_data16(self):
|
||||
# FIXME: This should be the equivalent of reinterpret_cast<UChar*>(self.valobj + 1)
|
||||
return self.valobj.GetChildAtIndex(2).GetChildMemberWithName('m_data16')
|
||||
|
||||
def to_string(self):
|
||||
val_type = self.valobj.GetType()
|
||||
process = self.valobj.GetProcess()
|
||||
endianness = process.GetByteOrder()
|
||||
pointer_size = process.GetAddressByteSize()
|
||||
offset = val_type.GetPointeeType().GetByteSize()
|
||||
|
||||
char_start = self.valobj.GetValueAsUnsigned(0) + offset
|
||||
pointer = lldb.SBData.CreateDataFromUInt64Array(endianness, pointer_size, [char_start])
|
||||
error = lldb.SBError()
|
||||
if self.is_8bit():
|
||||
return lstring_to_string(self.get_data8(), error, self.get_length())
|
||||
return ustring_to_string(self.get_data16(), error, self.get_length())
|
||||
return lstring_to_string(
|
||||
self.valobj.CreateValueFromData(
|
||||
'str_impl', pointer,
|
||||
val_type.GetBasicType(lldb.eBasicTypeChar).GetPointerType()),
|
||||
error, self.get_length())
|
||||
return ustring_to_string(
|
||||
self.valobj.CreateValueFromData(
|
||||
'str_impl', pointer,
|
||||
val_type.GetBasicType(lldb.eBasicTypeUnsignedChar).GetPointerType()),
|
||||
error, self.get_length())
|
||||
|
||||
def is_8bit(self):
|
||||
return self.valobj.GetChildMemberWithName('is_8bit_')
|
||||
return self.valobj.GetChildMemberWithName('is_8bit_').GetValueAsUnsigned(0)
|
||||
|
||||
|
||||
class WTFStringProvider:
|
||||
|
Reference in New Issue
Block a user