A few more improvements on the way to the command alias refactoring

- move alias help generation to CommandAlias, out of CommandInterpreter
- make alias creation use argument strings instead of OptionArgVectorSP; the former is a more reasonable currency than the latter
- remove m_is_alias from CommandObject, it wasn't actually being used

llvm-svn: 262912
diff --git a/lldb/source/Commands/CommandObjectCommands.cpp b/lldb/source/Commands/CommandObjectCommands.cpp
index a32c3d9..0900875 100644
--- a/lldb/source/Commands/CommandObjectCommands.cpp
+++ b/lldb/source/Commands/CommandObjectCommands.cpp
@@ -621,33 +621,31 @@
             
             OptionArgVectorSP option_arg_vector_sp = OptionArgVectorSP (new OptionArgVector);
         
-            CommandObjectSP cmd_obj_sp = m_interpreter.GetCommandSPExact (cmd_obj.GetCommandName(), false);
+            if (CommandObjectSP cmd_obj_sp = m_interpreter.GetCommandSPExact (cmd_obj.GetCommandName(), false))
+            {
+                if (m_interpreter.AliasExists (alias_command.c_str())
+                    || m_interpreter.UserCommandExists (alias_command.c_str()))
+                {
+                    result.AppendWarningWithFormat ("Overwriting existing definition for '%s'.\n",
+                                                    alias_command.c_str());
+                }
+                if (m_interpreter.AddAlias (alias_command.c_str(), cmd_obj_sp, raw_command_string.c_str()))
+                {
+                    result.SetStatus (eReturnStatusSuccessFinishNoResult);
+                }
+                else
+                {
+                    result.AppendError ("Unable to create requested alias.\n");
+                    result.SetStatus (eReturnStatusFailed);
+                }
 
-            if (!CommandInterpreter::CommandAlias::ProcessAliasOptionsArgs (cmd_obj_sp, raw_command_string.c_str(), option_arg_vector_sp))
-            {
-                result.AppendError ("Unable to create requested alias.\n");
-                result.SetStatus (eReturnStatusFailed);
-                return false;
-            }
-            
-            // Create the alias
-            if (m_interpreter.AliasExists (alias_command.c_str())
-                || m_interpreter.UserCommandExists (alias_command.c_str()))
-            {
-                result.AppendWarningWithFormat ("Overwriting existing definition for '%s'.\n",
-                                                alias_command.c_str());
-            }
-            
-            if (cmd_obj_sp)
-            {
-                m_interpreter.AddAlias (alias_command.c_str(), cmd_obj_sp, option_arg_vector_sp);
-                result.SetStatus (eReturnStatusSuccessFinishNoResult);
             }
             else
             {
                 result.AppendError ("Unable to create requested alias.\n");
                 result.SetStatus (eReturnStatusFailed);
             }
+
             return result.Succeeded ();
     }
     
@@ -715,37 +713,36 @@
 
                  // Verify & handle any options/arguments passed to the alias command
 
+                 std::string args_string;
+                 
                  if (args.GetArgumentCount () > 0)
                  {
                     CommandObjectSP tmp_sp = m_interpreter.GetCommandSPExact (cmd_obj->GetCommandName(), false);
                     if (use_subcommand)
                         tmp_sp = m_interpreter.GetCommandSPExact (sub_cmd_obj->GetCommandName(), false);
                         
-                    std::string args_string;
                     args.GetCommandString (args_string);
-                    
-                    if (!CommandInterpreter::CommandAlias::ProcessAliasOptionsArgs (tmp_sp, args_string.c_str(), option_arg_vector_sp))
-                    {
-                        result.AppendError ("Unable to create requested alias.\n");
-                        result.SetStatus (eReturnStatusFailed);
-                        return false;
-                    }
                  }
-
-                 // Create the alias.
-
+                 
                  if (m_interpreter.AliasExists (alias_command.c_str())
                      || m_interpreter.UserCommandExists (alias_command.c_str()))
                  {
-                     result.AppendWarningWithFormat ("Overwriting existing definition for '%s'.\n", 
+                     result.AppendWarningWithFormat ("Overwriting existing definition for '%s'.\n",
                                                      alias_command.c_str());
                  }
-
-                 if (use_subcommand)
-                     m_interpreter.AddAlias (alias_command.c_str(), subcommand_obj_sp, option_arg_vector_sp);
+                 
+                 if (m_interpreter.AddAlias(alias_command.c_str(),
+                                            use_subcommand ? subcommand_obj_sp : command_obj_sp,
+                                            args_string.c_str()))
+                 {
+                     result.SetStatus (eReturnStatusSuccessFinishNoResult);
+                 }
                  else
-                     m_interpreter.AddAlias (alias_command.c_str(), command_obj_sp, option_arg_vector_sp);
-                 result.SetStatus (eReturnStatusSuccessFinishNoResult);
+                 {
+                     result.AppendError ("Unable to create requested alias.\n");
+                     result.SetStatus (eReturnStatusFailed);
+                     return false;
+                 }
              }
              else
              {