Johnny Chen b90827e66c 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
2012-06-04 23:19:54 +00:00

87 lines
2.1 KiB
C++

//===-- SWIG Interface for SBWatchpoint -----------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
namespace lldb {
%feature("docstring",
"Represents an instance of watchpoint for a specific target program.
A watchpoint is determined by the address and the byte size that resulted in
this particular instantiation. Each watchpoint has its settable options.
See also SBTarget.watchpoint_iter() for example usage of iterating through the
watchpoints of the target."
) SBWatchpoint;
class SBWatchpoint
{
public:
SBWatchpoint ();
SBWatchpoint (const lldb::SBWatchpoint &rhs);
~SBWatchpoint ();
bool
IsValid();
watch_id_t
GetID ();
%feature("docstring", "
//------------------------------------------------------------------
/// With -1 representing an invalid hardware index.
//------------------------------------------------------------------
") GetHardwareIndex;
int32_t
GetHardwareIndex ();
lldb::addr_t
GetWatchAddress ();
size_t
GetWatchSize();
void
SetEnabled(bool enabled);
bool
IsEnabled ();
uint32_t
GetHitCount ();
uint32_t
GetIgnoreCount ();
void
SetIgnoreCount (uint32_t n);
%feature("docstring", "
//------------------------------------------------------------------
/// Get the condition expression for the watchpoint.
//------------------------------------------------------------------
") GetCondition;
const char *
GetCondition ();
%feature("docstring", "
//--------------------------------------------------------------------------
/// The watchpoint stops only if the condition expression evaluates to true.
//--------------------------------------------------------------------------
") SetCondition;
void
SetCondition (const char *condition);
bool
GetDescription (lldb::SBStream &description, DescriptionLevel level);
};
} // namespace lldb