CommandObjectDisassemble.h revision 704363531ee4877ccc6d35d0702876096f54c67b
1//===-- CommandObjectDisassemble.h ------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef liblldb_CommandObjectDisassemble_h_ 11#define liblldb_CommandObjectDisassemble_h_ 12 13// C Includes 14// C++ Includes 15// Other libraries and framework includes 16// Project includes 17#include "lldb/Interpreter/CommandObject.h" 18#include "lldb/Interpreter/Options.h" 19 20namespace lldb_private { 21 22//------------------------------------------------------------------------- 23// CommandObjectDisassemble 24//------------------------------------------------------------------------- 25 26class CommandObjectDisassemble : public CommandObject 27{ 28public: 29 class CommandOptions : public Options 30 { 31 public: 32 33 CommandOptions (); 34 35 virtual 36 ~CommandOptions (); 37 38 virtual Error 39 SetOptionValue (int option_idx, const char *option_arg); 40 41 void 42 ResetOptionValues (); 43 44 const lldb::OptionDefinition* 45 GetDefinitions (); 46 47 bool show_mixed; // Show mixed source/assembly 48 bool show_bytes; 49 uint32_t num_lines_context; 50 bool raw; 51 std::string m_func_name; 52 lldb::addr_t m_start_addr; 53 lldb::addr_t m_end_addr; 54 static lldb::OptionDefinition g_option_table[]; 55 }; 56 57 CommandObjectDisassemble (); 58 59 virtual 60 ~CommandObjectDisassemble (); 61 62 virtual 63 Options * 64 GetOptions () 65 { 66 return &m_options; 67 } 68 69 virtual bool 70 Execute (CommandInterpreter &interpreter, 71 Args& command, 72 CommandReturnObject &result); 73 74protected: 75 CommandOptions m_options; 76 77}; 78 79} // namespace lldb_private 80 81#endif // liblldb_CommandObjectDisassemble_h_ 82