diff options
author | Johnny Chen <johnny.chen@apple.com> | 2012-06-04 23:19:54 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2012-06-04 23:19:54 +0000 |
commit | b90827e66c6576a229b9018ba8400a2e3e300d02 (patch) | |
tree | 982b29230add06d804c9c61b0299fd05fd992d3e /lldb/source/API/SBValue.cpp | |
parent | 188d830405a47a6c1b5c87f85cd46bce587c2ec7 (diff) | |
download | bcm5719-llvm-b90827e66c6576a229b9018ba8400a2e3e300d02.tar.gz bcm5719-llvm-b90827e66c6576a229b9018ba8400a2e3e300d02.zip |
rdar://problem/11584012
Refactorings of watchpoint creation APIs so that SBTarget::WatchAddress(), SBValue::Watch(), and SBValue::WatchPointee()
now take an additional 'SBError &error' parameter (at the end) to contain the reason if there is some failure in the
operation. Update 'watchpoint set variable/expression' commands to take advantage of that.
Update existing test cases to reflect the API change and add test cases to verify that the SBError mechanism works for
SBTarget::WatchAddress() by passing an invalid watch_size.
llvm-svn: 157964
Diffstat (limited to 'lldb/source/API/SBValue.cpp')
-rw-r--r-- | lldb/source/API/SBValue.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lldb/source/API/SBValue.cpp b/lldb/source/API/SBValue.cpp index bb656e57956..bd6a5fcdcb0 100644 --- a/lldb/source/API/SBValue.cpp +++ b/lldb/source/API/SBValue.cpp @@ -1655,7 +1655,7 @@ SBValue::GetData () } lldb::SBWatchpoint -SBValue::Watch (bool resolve_location, bool read, bool write) +SBValue::Watch (bool resolve_location, bool read, bool write, SBError &error) { SBWatchpoint sb_watchpoint; @@ -1696,7 +1696,9 @@ SBValue::Watch (bool resolve_location, bool read, bool write) if (write) watch_type |= LLDB_WATCH_TYPE_WRITE; - WatchpointSP watchpoint_sp = target_sp->CreateWatchpoint(addr, byte_size, watch_type); + Error rc; + WatchpointSP watchpoint_sp = target_sp->CreateWatchpoint(addr, byte_size, watch_type, rc); + error.SetError(rc); if (watchpoint_sp) { @@ -1718,11 +1720,11 @@ SBValue::Watch (bool resolve_location, bool read, bool write) } lldb::SBWatchpoint -SBValue::WatchPointee (bool resolve_location, bool read, bool write) +SBValue::WatchPointee (bool resolve_location, bool read, bool write, SBError &error) { SBWatchpoint sb_watchpoint; if (IsInScope() && GetType().IsPointerType()) - sb_watchpoint = Dereference().Watch (resolve_location, read, write); + sb_watchpoint = Dereference().Watch (resolve_location, read, write, error); return sb_watchpoint; } |