After discussions with Jim and Greg, modify the 'watchpoint set' command to become a mutiword command
with subcommand 'expression' and 'variable'.  The first subcommand is for supplying an expression to
be evaluated into an address to watch for, while the second is for watching a variable.

'watchpoint set expression' is a raw command, which means that you need to use the "--" option terminator
to end the '-w' or '-x' option processing and to start typing your expression.

Also update several test cases to comply and add a couple of test cases into TestCompletion.py,
in particular, test that 'watchpoint set ex' completes to 'watchpoint set expression ' and that
'watchpoint set var' completes to 'watchpoint set variable '.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150109 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectFrame.cpp b/source/Commands/CommandObjectFrame.cpp
index f1d51a1..24dd4a4 100644
--- a/source/Commands/CommandObjectFrame.cpp
+++ b/source/Commands/CommandObjectFrame.cpp
@@ -433,7 +433,7 @@
         if (variable_list)
         {
             // If watching a variable, there are certain restrictions to be followed.
-            if (m_option_watchpoint.watch_variable)
+            if (m_option_watchpoint.watch_type_specified)
             {
                 if (command.GetArgumentCount() != 1) {
                     result.GetErrorStream().Printf("error: specify exactly one variable when using the '-w' option\n");
@@ -544,7 +544,7 @@
                                                           options,
                                                           format);
                             // Process watchpoint if necessary.
-                            if (m_option_watchpoint.watch_variable)
+                            if (m_option_watchpoint.watch_type_specified)
                             {
                                 AddressType addr_type;
                                 lldb::addr_t addr = 0;