SBValue::Watch() and SBValue::WatchPointee() are now the official API for creating
a watchpoint for either the variable encapsulated by SBValue (Watch) or the pointee
encapsulated by SBValue (WatchPointee).

Removed SBFrame::WatchValue() and SBFrame::WatchLocation() API as a result of that.

Modified the watchpoint related test suite to reflect the change.

Plus replacing WatchpointLocation with Watchpoint throughout the code base.

There are still cleanups to be dome.  This patch passes the whole test suite.
Check it in so that we aggressively catch regressions.

llvm-svn: 141925
diff --git a/lldb/test/python_api/watchpoint/TestWatchpointIgnoreCount.py b/lldb/test/python_api/watchpoint/TestWatchpointIgnoreCount.py
index 7b16a10..53b86bc 100644
--- a/lldb/test/python_api/watchpoint/TestWatchpointIgnoreCount.py
+++ b/lldb/test/python_api/watchpoint/TestWatchpointIgnoreCount.py
@@ -1,5 +1,5 @@
 """
-Use lldb Python SBWatchpointLocation API to set the ignore count.
+Use lldb Python SBWatchpoint API to set the ignore count.
 """
 
 import os, time
@@ -22,19 +22,19 @@
 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     @python_api_test
-    def test_set_watch_loc_ignore_count_with_dsym(self):
-        """Test SBWatchpointLocation.SetIgnoreCount() API."""
+    def test_set_watch_ignore_count_with_dsym(self):
+        """Test SBWatchpoint.SetIgnoreCount() API."""
         self.buildDsym()
-        self.do_watchpoint_location_ignore_count()
+        self.do_watchpoint_ignore_count()
 
     @python_api_test
-    def test_set_watch_loc_ignore_count_with_dwarf(self):
-        """Test SBWatchpointLocation.SetIgnoreCount() API."""
+    def test_set_watch_ignore_count_with_dwarf(self):
+        """Test SBWatchpoint.SetIgnoreCount() API."""
         self.buildDwarf()
-        self.do_watchpoint_location_ignore_count()
+        self.do_watchpoint_ignore_count()
 
-    def do_watchpoint_location_ignore_count(self):
-        """Test SBWatchpointLocation.SetIgnoreCount() API."""
+    def do_watchpoint_ignore_count(self):
+        """Test SBWatchpoint.SetIgnoreCount() API."""
         exe = os.path.join(os.getcwd(), "a.out")
 
         # Create a target by the debugger.
@@ -58,10 +58,10 @@
         frame0 = thread.GetFrameAtIndex(0)
 
         # Watch 'global' for read and write.
-        value = frame0.WatchValue('global',
-                                  lldb.eValueTypeVariableGlobal,
-                                  lldb.LLDB_WATCH_TYPE_READ|lldb.LLDB_WATCH_TYPE_WRITE)
-        self.assertTrue(value, "Successfully found the variable and set a watchpoint")
+        value = frame0.FindValue('global', lldb.eValueTypeVariableGlobal)
+        watchpoint = value.Watch(True, True, True)
+        self.assertTrue(value and watchpoint,
+                        "Successfully found the variable and set a watchpoint")
         self.DebugSBValue(value)
 
         # Hide stdout if not running with '-t' option.
@@ -69,30 +69,28 @@
             self.HideStdout()
 
         # There should be only 1 watchpoint location under the target.
-        self.assertTrue(target.GetNumWatchpointLocations() == 1)
-        wp_loc = target.GetWatchpointLocationAtIndex(0)
-        last_created = target.GetLastCreatedWatchpointLocation()
-        self.assertTrue(wp_loc == last_created)
-        self.assertTrue(wp_loc.IsEnabled())
-        self.assertTrue(wp_loc.GetIgnoreCount() == 0)
-        watch_id = wp_loc.GetID()
+        self.assertTrue(target.GetNumWatchpoints() == 1)
+        watchpoint = target.GetWatchpointAtIndex(0)
+        self.assertTrue(watchpoint.IsEnabled())
+        self.assertTrue(watchpoint.GetIgnoreCount() == 0)
+        watch_id = watchpoint.GetID()
         self.assertTrue(watch_id != 0)
-        print wp_loc
+        print watchpoint
 
         # Now immediately set the ignore count to 2.  When we continue, expect the
         # inferior to run to its completion without stopping due to watchpoint.
-        wp_loc.SetIgnoreCount(2)
-        print wp_loc
+        watchpoint.SetIgnoreCount(2)
+        print watchpoint
         process.Continue()
 
         # At this point, the inferior process should have exited.
         self.assertTrue(process.GetState() == lldb.eStateExited, PROCESS_EXITED)
 
         # Verify some vital statistics.
-        self.assertTrue(wp_loc)
-        self.assertTrue(wp_loc.GetWatchSize() == 4)
-        self.assertTrue(wp_loc.GetHitCount() == 2)
-        print wp_loc
+        self.assertTrue(watchpoint)
+        self.assertTrue(watchpoint.GetWatchSize() == 4)
+        self.assertTrue(watchpoint.GetHitCount() == 2)
+        print watchpoint
 
 
 if __name__ == '__main__':