1 //===-- CommandObjectBreakpoint.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_CommandObjectBreakpoint_h_ 11 #define liblldb_CommandObjectBreakpoint_h_ 12 13 // C Includes 14 // C++ Includes 15 16 #include <utility> 17 #include <vector> 18 19 // Other libraries and framework includes 20 // Project includes 21 #include "lldb/Core/Address.h" 22 #include "lldb/Interpreter/CommandObjectMultiword.h" 23 #include "lldb/Interpreter/Options.h" 24 #include "lldb/Core/STLUtils.h" 25 26 namespace lldb_private { 27 28 //------------------------------------------------------------------------- 29 // CommandObjectMultiwordBreakpoint 30 //------------------------------------------------------------------------- 31 32 class CommandObjectMultiwordBreakpoint : public CommandObjectMultiword 33 { 34 public: 35 CommandObjectMultiwordBreakpoint (CommandInterpreter &interpreter); 36 37 ~CommandObjectMultiwordBreakpoint() override; 38 39 static void 40 VerifyBreakpointOrLocationIDs (Args &args, Target *target, CommandReturnObject &result, BreakpointIDList *valid_ids) 41 { 42 VerifyIDs (args, target, true, result, valid_ids); 43 } 44 45 static void 46 VerifyBreakpointIDs (Args &args, Target *target, CommandReturnObject &result, BreakpointIDList *valid_ids) 47 { 48 VerifyIDs (args, target, false, result, valid_ids); 49 } 50 51 private: 52 static void 53 VerifyIDs (Args &args, Target *target, bool allow_locations, CommandReturnObject &result, BreakpointIDList *valid_ids); 54 }; 55 56 } // namespace lldb_private 57 58 #endif // liblldb_CommandObjectBreakpoint_h_ 59