| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 1 | //===-- CommandObjectBreakpoint.h -------------------------------*- C++ -*-===// | 
|  | 2 | // | 
| Chandler Carruth | 2946cd7 | 2019-01-19 08:50:56 +0000 | [diff] [blame] | 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | 
|  | 4 | // See https://llvm.org/LICENSE.txt for license information. | 
|  | 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 6 | // | 
|  | 7 | //===----------------------------------------------------------------------===// | 
|  | 8 |  | 
|  | 9 | #ifndef liblldb_CommandObjectBreakpoint_h_ | 
|  | 10 | #define liblldb_CommandObjectBreakpoint_h_ | 
|  | 11 |  | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 12 |  | 
|  | 13 | #include <utility> | 
|  | 14 | #include <vector> | 
|  | 15 |  | 
| Jim Ingham | b842f2e | 2017-09-14 20:22:49 +0000 | [diff] [blame] | 16 | #include "lldb/lldb-private.h" | 
|  | 17 | #include "lldb/Breakpoint/BreakpointName.h" | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 18 | #include "lldb/Core/Address.h" | 
| Kate Stone | b9c1b51 | 2016-09-06 20:57:50 +0000 | [diff] [blame] | 19 | #include "lldb/Core/STLUtils.h" | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 20 | #include "lldb/Interpreter/CommandObjectMultiword.h" | 
| Jim Ingham | 40af72e | 2010-06-15 19:49:27 +0000 | [diff] [blame] | 21 | #include "lldb/Interpreter/Options.h" | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 22 |  | 
| Jim Ingham | b842f2e | 2017-09-14 20:22:49 +0000 | [diff] [blame] | 23 |  | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 24 | namespace lldb_private { | 
|  | 25 |  | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 26 | // CommandObjectMultiwordBreakpoint | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 27 |  | 
| Kate Stone | b9c1b51 | 2016-09-06 20:57:50 +0000 | [diff] [blame] | 28 | class CommandObjectMultiwordBreakpoint : public CommandObjectMultiword { | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 29 | public: | 
| Kate Stone | b9c1b51 | 2016-09-06 20:57:50 +0000 | [diff] [blame] | 30 | CommandObjectMultiwordBreakpoint(CommandInterpreter &interpreter); | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 31 |  | 
| Kate Stone | b9c1b51 | 2016-09-06 20:57:50 +0000 | [diff] [blame] | 32 | ~CommandObjectMultiwordBreakpoint() override; | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 33 |  | 
| Kate Stone | b9c1b51 | 2016-09-06 20:57:50 +0000 | [diff] [blame] | 34 | static void VerifyBreakpointOrLocationIDs(Args &args, Target *target, | 
|  | 35 | CommandReturnObject &result, | 
| Jim Ingham | b842f2e | 2017-09-14 20:22:49 +0000 | [diff] [blame] | 36 | BreakpointIDList *valid_ids, | 
|  | 37 | BreakpointName::Permissions | 
|  | 38 | ::PermissionKinds purpose) { | 
|  | 39 | VerifyIDs(args, target, true, result, valid_ids, purpose); | 
| Kate Stone | b9c1b51 | 2016-09-06 20:57:50 +0000 | [diff] [blame] | 40 | } | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 41 |  | 
| Kate Stone | b9c1b51 | 2016-09-06 20:57:50 +0000 | [diff] [blame] | 42 | static void VerifyBreakpointIDs(Args &args, Target *target, | 
|  | 43 | CommandReturnObject &result, | 
| Jim Ingham | b842f2e | 2017-09-14 20:22:49 +0000 | [diff] [blame] | 44 | BreakpointIDList *valid_ids, | 
|  | 45 | BreakpointName::Permissions::PermissionKinds | 
|  | 46 | purpose) { | 
|  | 47 | VerifyIDs(args, target, false, result, valid_ids, purpose); | 
| Kate Stone | b9c1b51 | 2016-09-06 20:57:50 +0000 | [diff] [blame] | 48 | } | 
| Jim Ingham | 5e09c8c | 2014-12-16 23:40:14 +0000 | [diff] [blame] | 49 |  | 
|  | 50 | private: | 
| Kate Stone | b9c1b51 | 2016-09-06 20:57:50 +0000 | [diff] [blame] | 51 | static void VerifyIDs(Args &args, Target *target, bool allow_locations, | 
|  | 52 | CommandReturnObject &result, | 
| Jim Ingham | b842f2e | 2017-09-14 20:22:49 +0000 | [diff] [blame] | 53 | BreakpointIDList *valid_ids, | 
|  | 54 | BreakpointName::Permissions::PermissionKinds | 
|  | 55 | purpose); | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 56 | }; | 
|  | 57 |  | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 58 | } // namespace lldb_private | 
|  | 59 |  | 
| Pavel Labath | 1fb7e20 | 2015-09-02 09:33:09 +0000 | [diff] [blame] | 60 | #endif // liblldb_CommandObjectBreakpoint_h_ |