[LLDB] Expose several methods in SBWatchpoint
This patch adds the following methods:
- GetType()
- GetWatchValueKind()
- GetWatchSpec()
- IsWatchingReads()
- IsWatchingWrites()
These mostly expose methods that lldb_private::Watchpoint already
had. Tests are included that exercise these new methods.
The motivation for exposing these are as follows:
- GetType() - With this information and the address from a watchpoint it is now possible to construct an SBValue from an SBWatchpoint. Previously this wasn't possible. The included test case illustrates doing this.
- GetWatchValueKind() - This allows the caller to determine whether the watchpoint is a variable watchpoint or an expression watchpoint. A new enum (WatchpointValueKind) has been introduced to represent the return values. Unfortunately the name WatchpointKind was already taken.
- GetWatchSpec() - This allows (at least for variable watchpoints) to use a sensible name for SBValues created from an SBWatchpoint.
- IsWatchingReads() - This allow checking if a watchpoint is monitoring read accesses.
- IsWatchingWRites() - This allow checking if a watchpoint is monitoring write accesses.
rdar://105606978