1 //===-- SBReproducer.cpp ----------------------------------------*- C++ -*-===//
2 //
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
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include "SBReproducerPrivate.h"
10 
11 #include "SBReproducerPrivate.h"
12 #include "lldb/API/LLDB.h"
13 #include "lldb/API/SBAddress.h"
14 #include "lldb/API/SBAttachInfo.h"
15 #include "lldb/API/SBBlock.h"
16 #include "lldb/API/SBBreakpoint.h"
17 #include "lldb/API/SBCommandInterpreter.h"
18 #include "lldb/API/SBData.h"
19 #include "lldb/API/SBDebugger.h"
20 #include "lldb/API/SBDeclaration.h"
21 #include "lldb/API/SBError.h"
22 #include "lldb/API/SBFileSpec.h"
23 #include "lldb/API/SBHostOS.h"
24 #include "lldb/API/SBReproducer.h"
25 
26 #include "lldb/Host/FileSystem.h"
27 
28 using namespace lldb;
29 using namespace lldb_private;
30 using namespace lldb_private::repro;
31 
32 static void SetFileHandleRedirect(SBDebugger *, FILE *, bool) {
33   // Do nothing.
34 }
35 
36 static bool GetDefaultArchitectureRedirect(char *arch_name,
37                                            size_t arch_name_len) {
38   // The function is writing to its argument. Without the redirect it would
39   // write into the replay buffer.
40   char buffer[1024];
41   return SBDebugger::GetDefaultArchitecture(buffer, arch_name_len);
42 }
43 
44 SBRegistry::SBRegistry() {
45 
46   // Custom implementation.
47   Register(&invoke<void (SBDebugger::*)(
48                FILE *, bool)>::method<&SBDebugger::SetErrorFileHandle>::doit,
49            &SetFileHandleRedirect);
50   Register(&invoke<void (SBDebugger::*)(
51                FILE *, bool)>::method<&SBDebugger::SetOutputFileHandle>::doit,
52            &SetFileHandleRedirect);
53   Register<bool(char *, size_t)>(static_cast<bool (*)(char *, size_t)>(
54                                      &SBDebugger::GetDefaultArchitecture),
55                                  &GetDefaultArchitectureRedirect);
56 
57   {
58     LLDB_REGISTER_CONSTRUCTOR(SBAddress, ());
59     LLDB_REGISTER_CONSTRUCTOR(SBAddress, (const lldb::SBAddress &));
60     LLDB_REGISTER_CONSTRUCTOR(SBAddress, (lldb::SBSection, lldb::addr_t));
61     LLDB_REGISTER_CONSTRUCTOR(SBAddress, (lldb::addr_t, lldb::SBTarget &));
62     LLDB_REGISTER_METHOD(const lldb::SBAddress &,
63                          SBAddress, operator=,(const lldb::SBAddress &));
64     LLDB_REGISTER_METHOD_CONST(bool, SBAddress, IsValid, ());
65     LLDB_REGISTER_METHOD(void, SBAddress, Clear, ());
66     LLDB_REGISTER_METHOD(void, SBAddress, SetAddress,
67                          (lldb::SBSection, lldb::addr_t));
68     LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBAddress, GetFileAddress, ());
69     LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBAddress, GetLoadAddress,
70                                (const lldb::SBTarget &));
71     LLDB_REGISTER_METHOD(void, SBAddress, SetLoadAddress,
72                          (lldb::addr_t, lldb::SBTarget &));
73     LLDB_REGISTER_METHOD(bool, SBAddress, OffsetAddress, (lldb::addr_t));
74     LLDB_REGISTER_METHOD(lldb::SBSection, SBAddress, GetSection, ());
75     LLDB_REGISTER_METHOD(lldb::addr_t, SBAddress, GetOffset, ());
76     LLDB_REGISTER_METHOD(bool, SBAddress, GetDescription, (lldb::SBStream &));
77     LLDB_REGISTER_METHOD(lldb::SBModule, SBAddress, GetModule, ());
78     LLDB_REGISTER_METHOD(lldb::SBSymbolContext, SBAddress, GetSymbolContext,
79                          (uint32_t));
80     LLDB_REGISTER_METHOD(lldb::SBCompileUnit, SBAddress, GetCompileUnit, ());
81     LLDB_REGISTER_METHOD(lldb::SBFunction, SBAddress, GetFunction, ());
82     LLDB_REGISTER_METHOD(lldb::SBBlock, SBAddress, GetBlock, ());
83     LLDB_REGISTER_METHOD(lldb::SBSymbol, SBAddress, GetSymbol, ());
84     LLDB_REGISTER_METHOD(lldb::SBLineEntry, SBAddress, GetLineEntry, ());
85   }
86   {
87     LLDB_REGISTER_CONSTRUCTOR(SBAttachInfo, ());
88     LLDB_REGISTER_CONSTRUCTOR(SBAttachInfo, (lldb::pid_t));
89     LLDB_REGISTER_CONSTRUCTOR(SBAttachInfo, (const char *, bool));
90     LLDB_REGISTER_CONSTRUCTOR(SBAttachInfo, (const char *, bool, bool));
91     LLDB_REGISTER_CONSTRUCTOR(SBAttachInfo, (const lldb::SBAttachInfo &));
92     LLDB_REGISTER_METHOD(lldb::SBAttachInfo &,
93                          SBAttachInfo, operator=,(const lldb::SBAttachInfo &));
94     LLDB_REGISTER_METHOD(lldb::pid_t, SBAttachInfo, GetProcessID, ());
95     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetProcessID, (lldb::pid_t));
96     LLDB_REGISTER_METHOD(uint32_t, SBAttachInfo, GetResumeCount, ());
97     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetResumeCount, (uint32_t));
98     LLDB_REGISTER_METHOD(const char *, SBAttachInfo, GetProcessPluginName, ());
99     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetProcessPluginName,
100                          (const char *));
101     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetExecutable, (const char *));
102     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetExecutable, (lldb::SBFileSpec));
103     LLDB_REGISTER_METHOD(bool, SBAttachInfo, GetWaitForLaunch, ());
104     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetWaitForLaunch, (bool));
105     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetWaitForLaunch, (bool, bool));
106     LLDB_REGISTER_METHOD(bool, SBAttachInfo, GetIgnoreExisting, ());
107     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetIgnoreExisting, (bool));
108     LLDB_REGISTER_METHOD(uint32_t, SBAttachInfo, GetUserID, ());
109     LLDB_REGISTER_METHOD(uint32_t, SBAttachInfo, GetGroupID, ());
110     LLDB_REGISTER_METHOD(bool, SBAttachInfo, UserIDIsValid, ());
111     LLDB_REGISTER_METHOD(bool, SBAttachInfo, GroupIDIsValid, ());
112     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetUserID, (uint32_t));
113     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetGroupID, (uint32_t));
114     LLDB_REGISTER_METHOD(uint32_t, SBAttachInfo, GetEffectiveUserID, ());
115     LLDB_REGISTER_METHOD(uint32_t, SBAttachInfo, GetEffectiveGroupID, ());
116     LLDB_REGISTER_METHOD(bool, SBAttachInfo, EffectiveUserIDIsValid, ());
117     LLDB_REGISTER_METHOD(bool, SBAttachInfo, EffectiveGroupIDIsValid, ());
118     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetEffectiveUserID, (uint32_t));
119     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetEffectiveGroupID, (uint32_t));
120     LLDB_REGISTER_METHOD(lldb::pid_t, SBAttachInfo, GetParentProcessID, ());
121     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetParentProcessID, (lldb::pid_t));
122     LLDB_REGISTER_METHOD(bool, SBAttachInfo, ParentProcessIDIsValid, ());
123     LLDB_REGISTER_METHOD(lldb::SBListener, SBAttachInfo, GetListener, ());
124     LLDB_REGISTER_METHOD(void, SBAttachInfo, SetListener, (lldb::SBListener &));
125   }
126   {
127     LLDB_REGISTER_CONSTRUCTOR(SBBlock, ());
128     LLDB_REGISTER_CONSTRUCTOR(SBBlock, (const lldb::SBBlock &));
129     LLDB_REGISTER_METHOD(const lldb::SBBlock &,
130                          SBBlock, operator=,(const lldb::SBBlock &));
131     LLDB_REGISTER_METHOD_CONST(bool, SBBlock, IsValid, ());
132     LLDB_REGISTER_METHOD_CONST(bool, SBBlock, IsInlined, ());
133     LLDB_REGISTER_METHOD_CONST(const char *, SBBlock, GetInlinedName, ());
134     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBBlock,
135                                GetInlinedCallSiteFile, ());
136     LLDB_REGISTER_METHOD_CONST(uint32_t, SBBlock, GetInlinedCallSiteLine, ());
137     LLDB_REGISTER_METHOD_CONST(uint32_t, SBBlock, GetInlinedCallSiteColumn, ());
138     LLDB_REGISTER_METHOD(lldb::SBBlock, SBBlock, GetParent, ());
139     LLDB_REGISTER_METHOD(lldb::SBBlock, SBBlock, GetContainingInlinedBlock, ());
140     LLDB_REGISTER_METHOD(lldb::SBBlock, SBBlock, GetSibling, ());
141     LLDB_REGISTER_METHOD(lldb::SBBlock, SBBlock, GetFirstChild, ());
142     LLDB_REGISTER_METHOD(bool, SBBlock, GetDescription, (lldb::SBStream &));
143     LLDB_REGISTER_METHOD(uint32_t, SBBlock, GetNumRanges, ());
144     LLDB_REGISTER_METHOD(lldb::SBAddress, SBBlock, GetRangeStartAddress,
145                          (uint32_t));
146     LLDB_REGISTER_METHOD(lldb::SBAddress, SBBlock, GetRangeEndAddress,
147                          (uint32_t));
148     LLDB_REGISTER_METHOD(uint32_t, SBBlock, GetRangeIndexForBlockAddress,
149                          (lldb::SBAddress));
150     LLDB_REGISTER_METHOD(
151         lldb::SBValueList, SBBlock, GetVariables,
152         (lldb::SBFrame &, bool, bool, bool, lldb::DynamicValueType));
153     LLDB_REGISTER_METHOD(lldb::SBValueList, SBBlock, GetVariables,
154                          (lldb::SBTarget &, bool, bool, bool));
155   }
156   {
157     LLDB_REGISTER_CONSTRUCTOR(SBBreakpoint, ());
158     LLDB_REGISTER_CONSTRUCTOR(SBBreakpoint, (const lldb::SBBreakpoint &));
159     LLDB_REGISTER_CONSTRUCTOR(SBBreakpoint, (const lldb::BreakpointSP &));
160     LLDB_REGISTER_METHOD(const lldb::SBBreakpoint &,
161                          SBBreakpoint, operator=,(const lldb::SBBreakpoint &));
162     LLDB_REGISTER_METHOD(bool,
163                          SBBreakpoint, operator==,(const lldb::SBBreakpoint &));
164     LLDB_REGISTER_METHOD(bool,
165                          SBBreakpoint, operator!=,(const lldb::SBBreakpoint &));
166     LLDB_REGISTER_METHOD_CONST(lldb::break_id_t, SBBreakpoint, GetID, ());
167     LLDB_REGISTER_METHOD_CONST(bool, SBBreakpoint, IsValid, ());
168     LLDB_REGISTER_METHOD(void, SBBreakpoint, ClearAllBreakpointSites, ());
169     LLDB_REGISTER_METHOD(lldb::SBBreakpointLocation, SBBreakpoint,
170                          FindLocationByAddress, (lldb::addr_t));
171     LLDB_REGISTER_METHOD(lldb::break_id_t, SBBreakpoint,
172                          FindLocationIDByAddress, (lldb::addr_t));
173     LLDB_REGISTER_METHOD(lldb::SBBreakpointLocation, SBBreakpoint,
174                          FindLocationByID, (lldb::break_id_t));
175     LLDB_REGISTER_METHOD(lldb::SBBreakpointLocation, SBBreakpoint,
176                          GetLocationAtIndex, (uint32_t));
177     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetEnabled, (bool));
178     LLDB_REGISTER_METHOD(bool, SBBreakpoint, IsEnabled, ());
179     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetOneShot, (bool));
180     LLDB_REGISTER_METHOD_CONST(bool, SBBreakpoint, IsOneShot, ());
181     LLDB_REGISTER_METHOD(bool, SBBreakpoint, IsInternal, ());
182     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetIgnoreCount, (uint32_t));
183     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetCondition, (const char *));
184     LLDB_REGISTER_METHOD(const char *, SBBreakpoint, GetCondition, ());
185     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetAutoContinue, (bool));
186     LLDB_REGISTER_METHOD(bool, SBBreakpoint, GetAutoContinue, ());
187     LLDB_REGISTER_METHOD_CONST(uint32_t, SBBreakpoint, GetHitCount, ());
188     LLDB_REGISTER_METHOD_CONST(uint32_t, SBBreakpoint, GetIgnoreCount, ());
189     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetThreadID, (lldb::tid_t));
190     LLDB_REGISTER_METHOD(lldb::tid_t, SBBreakpoint, GetThreadID, ());
191     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetThreadIndex, (uint32_t));
192     LLDB_REGISTER_METHOD_CONST(uint32_t, SBBreakpoint, GetThreadIndex, ());
193     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetThreadName, (const char *));
194     LLDB_REGISTER_METHOD_CONST(const char *, SBBreakpoint, GetThreadName, ());
195     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetQueueName, (const char *));
196     LLDB_REGISTER_METHOD_CONST(const char *, SBBreakpoint, GetQueueName, ());
197     LLDB_REGISTER_METHOD_CONST(size_t, SBBreakpoint, GetNumResolvedLocations,
198                                ());
199     LLDB_REGISTER_METHOD_CONST(size_t, SBBreakpoint, GetNumLocations, ());
200     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetCommandLineCommands,
201                          (lldb::SBStringList &));
202     LLDB_REGISTER_METHOD(bool, SBBreakpoint, GetCommandLineCommands,
203                          (lldb::SBStringList &));
204     LLDB_REGISTER_METHOD(bool, SBBreakpoint, GetDescription,
205                          (lldb::SBStream &));
206     LLDB_REGISTER_METHOD(bool, SBBreakpoint, GetDescription,
207                          (lldb::SBStream &, bool));
208     LLDB_REGISTER_METHOD(lldb::SBError, SBBreakpoint, AddLocation,
209                          (lldb::SBAddress &));
210     LLDB_REGISTER_METHOD(void, SBBreakpoint, SetScriptCallbackFunction,
211                          (const char *));
212     LLDB_REGISTER_METHOD(lldb::SBError, SBBreakpoint, SetScriptCallbackBody,
213                          (const char *));
214     LLDB_REGISTER_METHOD(bool, SBBreakpoint, AddName, (const char *));
215     LLDB_REGISTER_METHOD(void, SBBreakpoint, RemoveName, (const char *));
216     LLDB_REGISTER_METHOD(bool, SBBreakpoint, MatchesName, (const char *));
217     LLDB_REGISTER_METHOD(void, SBBreakpoint, GetNames, (lldb::SBStringList &));
218     LLDB_REGISTER_STATIC_METHOD(bool, SBBreakpoint, EventIsBreakpointEvent,
219                                 (const lldb::SBEvent &));
220     LLDB_REGISTER_STATIC_METHOD(lldb::BreakpointEventType, SBBreakpoint,
221                                 GetBreakpointEventTypeFromEvent,
222                                 (const lldb::SBEvent &));
223     LLDB_REGISTER_STATIC_METHOD(lldb::SBBreakpoint, SBBreakpoint,
224                                 GetBreakpointFromEvent,
225                                 (const lldb::SBEvent &));
226     LLDB_REGISTER_STATIC_METHOD(lldb::SBBreakpointLocation, SBBreakpoint,
227                                 GetBreakpointLocationAtIndexFromEvent,
228                                 (const lldb::SBEvent &, uint32_t));
229     LLDB_REGISTER_STATIC_METHOD(uint32_t, SBBreakpoint,
230                                 GetNumBreakpointLocationsFromEvent,
231                                 (const lldb::SBEvent &));
232     LLDB_REGISTER_METHOD_CONST(bool, SBBreakpoint, IsHardware, ());
233     LLDB_REGISTER_CONSTRUCTOR(SBBreakpointList, (lldb::SBTarget &));
234     LLDB_REGISTER_METHOD_CONST(size_t, SBBreakpointList, GetSize, ());
235     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBBreakpointList,
236                          GetBreakpointAtIndex, (size_t));
237     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBBreakpointList,
238                          FindBreakpointByID, (lldb::break_id_t));
239     LLDB_REGISTER_METHOD(void, SBBreakpointList, Append,
240                          (const lldb::SBBreakpoint &));
241     LLDB_REGISTER_METHOD(void, SBBreakpointList, AppendByID,
242                          (lldb::break_id_t));
243     LLDB_REGISTER_METHOD(bool, SBBreakpointList, AppendIfUnique,
244                          (const lldb::SBBreakpoint &));
245     LLDB_REGISTER_METHOD(void, SBBreakpointList, Clear, ());
246   }
247   {
248     LLDB_REGISTER_CONSTRUCTOR(SBBreakpointLocation, ());
249     LLDB_REGISTER_CONSTRUCTOR(SBBreakpointLocation,
250                               (const lldb::BreakpointLocationSP &));
251     LLDB_REGISTER_CONSTRUCTOR(SBBreakpointLocation,
252                               (const lldb::SBBreakpointLocation &));
253     LLDB_REGISTER_METHOD(
254         const lldb::SBBreakpointLocation &,
255         SBBreakpointLocation, operator=,(const lldb::SBBreakpointLocation &));
256     LLDB_REGISTER_METHOD_CONST(bool, SBBreakpointLocation, IsValid, ());
257     LLDB_REGISTER_METHOD(lldb::SBAddress, SBBreakpointLocation, GetAddress, ());
258     LLDB_REGISTER_METHOD(lldb::addr_t, SBBreakpointLocation, GetLoadAddress,
259                          ());
260     LLDB_REGISTER_METHOD(void, SBBreakpointLocation, SetEnabled, (bool));
261     LLDB_REGISTER_METHOD(bool, SBBreakpointLocation, IsEnabled, ());
262     LLDB_REGISTER_METHOD(uint32_t, SBBreakpointLocation, GetHitCount, ());
263     LLDB_REGISTER_METHOD(uint32_t, SBBreakpointLocation, GetIgnoreCount, ());
264     LLDB_REGISTER_METHOD(void, SBBreakpointLocation, SetIgnoreCount,
265                          (uint32_t));
266     LLDB_REGISTER_METHOD(void, SBBreakpointLocation, SetCondition,
267                          (const char *));
268     LLDB_REGISTER_METHOD(const char *, SBBreakpointLocation, GetCondition, ());
269     LLDB_REGISTER_METHOD(void, SBBreakpointLocation, SetAutoContinue, (bool));
270     LLDB_REGISTER_METHOD(bool, SBBreakpointLocation, GetAutoContinue, ());
271     LLDB_REGISTER_METHOD(void, SBBreakpointLocation, SetScriptCallbackFunction,
272                          (const char *));
273     LLDB_REGISTER_METHOD(lldb::SBError, SBBreakpointLocation,
274                          SetScriptCallbackBody, (const char *));
275     LLDB_REGISTER_METHOD(void, SBBreakpointLocation, SetCommandLineCommands,
276                          (lldb::SBStringList &));
277     LLDB_REGISTER_METHOD(bool, SBBreakpointLocation, GetCommandLineCommands,
278                          (lldb::SBStringList &));
279     LLDB_REGISTER_METHOD(void, SBBreakpointLocation, SetThreadID,
280                          (lldb::tid_t));
281     LLDB_REGISTER_METHOD(lldb::tid_t, SBBreakpointLocation, GetThreadID, ());
282     LLDB_REGISTER_METHOD(void, SBBreakpointLocation, SetThreadIndex,
283                          (uint32_t));
284     LLDB_REGISTER_METHOD_CONST(uint32_t, SBBreakpointLocation, GetThreadIndex,
285                                ());
286     LLDB_REGISTER_METHOD(void, SBBreakpointLocation, SetThreadName,
287                          (const char *));
288     LLDB_REGISTER_METHOD_CONST(const char *, SBBreakpointLocation,
289                                GetThreadName, ());
290     LLDB_REGISTER_METHOD(void, SBBreakpointLocation, SetQueueName,
291                          (const char *));
292     LLDB_REGISTER_METHOD_CONST(const char *, SBBreakpointLocation, GetQueueName,
293                                ());
294     LLDB_REGISTER_METHOD(bool, SBBreakpointLocation, IsResolved, ());
295     LLDB_REGISTER_METHOD(bool, SBBreakpointLocation, GetDescription,
296                          (lldb::SBStream &, lldb::DescriptionLevel));
297     LLDB_REGISTER_METHOD(lldb::break_id_t, SBBreakpointLocation, GetID, ());
298     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBBreakpointLocation,
299                          GetBreakpoint, ());
300   }
301   {
302     LLDB_REGISTER_CONSTRUCTOR(SBBreakpointName, ());
303     LLDB_REGISTER_CONSTRUCTOR(SBBreakpointName,
304                               (lldb::SBTarget &, const char *));
305     LLDB_REGISTER_CONSTRUCTOR(SBBreakpointName,
306                               (lldb::SBBreakpoint &, const char *));
307     LLDB_REGISTER_CONSTRUCTOR(SBBreakpointName,
308                               (const lldb::SBBreakpointName &));
309     LLDB_REGISTER_METHOD(
310         const lldb::SBBreakpointName &,
311         SBBreakpointName, operator=,(const lldb::SBBreakpointName &));
312     LLDB_REGISTER_METHOD(
313         bool, SBBreakpointName, operator==,(const lldb::SBBreakpointName &));
314     LLDB_REGISTER_METHOD(
315         bool, SBBreakpointName, operator!=,(const lldb::SBBreakpointName &));
316     LLDB_REGISTER_METHOD_CONST(bool, SBBreakpointName, IsValid, ());
317     LLDB_REGISTER_METHOD_CONST(const char *, SBBreakpointName, GetName, ());
318     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetEnabled, (bool));
319     LLDB_REGISTER_METHOD(bool, SBBreakpointName, IsEnabled, ());
320     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetOneShot, (bool));
321     LLDB_REGISTER_METHOD_CONST(bool, SBBreakpointName, IsOneShot, ());
322     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetIgnoreCount, (uint32_t));
323     LLDB_REGISTER_METHOD_CONST(uint32_t, SBBreakpointName, GetIgnoreCount, ());
324     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetCondition, (const char *));
325     LLDB_REGISTER_METHOD(const char *, SBBreakpointName, GetCondition, ());
326     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetAutoContinue, (bool));
327     LLDB_REGISTER_METHOD(bool, SBBreakpointName, GetAutoContinue, ());
328     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetThreadID, (lldb::tid_t));
329     LLDB_REGISTER_METHOD(lldb::tid_t, SBBreakpointName, GetThreadID, ());
330     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetThreadIndex, (uint32_t));
331     LLDB_REGISTER_METHOD_CONST(uint32_t, SBBreakpointName, GetThreadIndex, ());
332     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetThreadName, (const char *));
333     LLDB_REGISTER_METHOD_CONST(const char *, SBBreakpointName, GetThreadName,
334                                ());
335     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetQueueName, (const char *));
336     LLDB_REGISTER_METHOD_CONST(const char *, SBBreakpointName, GetQueueName,
337                                ());
338     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetCommandLineCommands,
339                          (lldb::SBStringList &));
340     LLDB_REGISTER_METHOD(bool, SBBreakpointName, GetCommandLineCommands,
341                          (lldb::SBStringList &));
342     LLDB_REGISTER_METHOD_CONST(const char *, SBBreakpointName, GetHelpString,
343                                ());
344     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetHelpString, (const char *));
345     LLDB_REGISTER_METHOD(bool, SBBreakpointName, GetDescription,
346                          (lldb::SBStream &));
347     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetScriptCallbackFunction,
348                          (const char *));
349     LLDB_REGISTER_METHOD(lldb::SBError, SBBreakpointName, SetScriptCallbackBody,
350                          (const char *));
351     LLDB_REGISTER_METHOD_CONST(bool, SBBreakpointName, GetAllowList, ());
352     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetAllowList, (bool));
353     LLDB_REGISTER_METHOD(bool, SBBreakpointName, GetAllowDelete, ());
354     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetAllowDelete, (bool));
355     LLDB_REGISTER_METHOD(bool, SBBreakpointName, GetAllowDisable, ());
356     LLDB_REGISTER_METHOD(void, SBBreakpointName, SetAllowDisable, (bool));
357   }
358   {} {
359     LLDB_REGISTER_CONSTRUCTOR(SBBroadcaster, ());
360     LLDB_REGISTER_CONSTRUCTOR(SBBroadcaster, (const char *));
361     LLDB_REGISTER_CONSTRUCTOR(SBBroadcaster, (const lldb::SBBroadcaster &));
362     LLDB_REGISTER_METHOD(
363         const lldb::SBBroadcaster &,
364         SBBroadcaster, operator=,(const lldb::SBBroadcaster &));
365     LLDB_REGISTER_METHOD(void, SBBroadcaster, BroadcastEventByType,
366                          (uint32_t, bool));
367     LLDB_REGISTER_METHOD(void, SBBroadcaster, BroadcastEvent,
368                          (const lldb::SBEvent &, bool));
369     LLDB_REGISTER_METHOD(void, SBBroadcaster, AddInitialEventsToListener,
370                          (const lldb::SBListener &, uint32_t));
371     LLDB_REGISTER_METHOD(uint32_t, SBBroadcaster, AddListener,
372                          (const lldb::SBListener &, uint32_t));
373     LLDB_REGISTER_METHOD_CONST(const char *, SBBroadcaster, GetName, ());
374     LLDB_REGISTER_METHOD(bool, SBBroadcaster, EventTypeHasListeners,
375                          (uint32_t));
376     LLDB_REGISTER_METHOD(bool, SBBroadcaster, RemoveListener,
377                          (const lldb::SBListener &, uint32_t));
378     LLDB_REGISTER_METHOD_CONST(bool, SBBroadcaster, IsValid, ());
379     LLDB_REGISTER_METHOD(void, SBBroadcaster, Clear, ());
380     LLDB_REGISTER_METHOD_CONST(
381         bool, SBBroadcaster, operator==,(const lldb::SBBroadcaster &));
382     LLDB_REGISTER_METHOD_CONST(
383         bool, SBBroadcaster, operator!=,(const lldb::SBBroadcaster &));
384     LLDB_REGISTER_METHOD_CONST(
385         bool, SBBroadcaster, operator<,(const lldb::SBBroadcaster &));
386   }
387   {
388     LLDB_REGISTER_CONSTRUCTOR(SBCommandInterpreterRunOptions, ());
389     LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreterRunOptions,
390                                GetStopOnContinue, ());
391     LLDB_REGISTER_METHOD(void, SBCommandInterpreterRunOptions,
392                          SetStopOnContinue, (bool));
393     LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreterRunOptions,
394                                GetStopOnError, ());
395     LLDB_REGISTER_METHOD(void, SBCommandInterpreterRunOptions, SetStopOnError,
396                          (bool));
397     LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreterRunOptions,
398                                GetStopOnCrash, ());
399     LLDB_REGISTER_METHOD(void, SBCommandInterpreterRunOptions, SetStopOnCrash,
400                          (bool));
401     LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreterRunOptions,
402                                GetEchoCommands, ());
403     LLDB_REGISTER_METHOD(void, SBCommandInterpreterRunOptions, SetEchoCommands,
404                          (bool));
405     LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreterRunOptions,
406                                GetEchoCommentCommands, ());
407     LLDB_REGISTER_METHOD(void, SBCommandInterpreterRunOptions,
408                          SetEchoCommentCommands, (bool));
409     LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreterRunOptions,
410                                GetPrintResults, ());
411     LLDB_REGISTER_METHOD(void, SBCommandInterpreterRunOptions, SetPrintResults,
412                          (bool));
413     LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreterRunOptions,
414                                GetAddToHistory, ());
415     LLDB_REGISTER_METHOD(void, SBCommandInterpreterRunOptions, SetAddToHistory,
416                          (bool));
417     LLDB_REGISTER_CONSTRUCTOR(SBCommandInterpreter,
418                               (lldb_private::CommandInterpreter *));
419     LLDB_REGISTER_CONSTRUCTOR(SBCommandInterpreter,
420                               (const lldb::SBCommandInterpreter &));
421     LLDB_REGISTER_METHOD(
422         const lldb::SBCommandInterpreter &,
423         SBCommandInterpreter, operator=,(const lldb::SBCommandInterpreter &));
424     LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreter, IsValid, ());
425     LLDB_REGISTER_METHOD(bool, SBCommandInterpreter, CommandExists,
426                          (const char *));
427     LLDB_REGISTER_METHOD(bool, SBCommandInterpreter, AliasExists,
428                          (const char *));
429     LLDB_REGISTER_METHOD(bool, SBCommandInterpreter, IsActive, ());
430     LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreter, WasInterrupted, ());
431     LLDB_REGISTER_METHOD(const char *, SBCommandInterpreter,
432                          GetIOHandlerControlSequence, (char));
433     LLDB_REGISTER_METHOD(lldb::ReturnStatus, SBCommandInterpreter,
434                          HandleCommand,
435                          (const char *, lldb::SBCommandReturnObject &, bool));
436     LLDB_REGISTER_METHOD(lldb::ReturnStatus, SBCommandInterpreter,
437                          HandleCommand,
438                          (const char *, lldb::SBExecutionContext &,
439                           lldb::SBCommandReturnObject &, bool));
440     LLDB_REGISTER_METHOD(void, SBCommandInterpreter, HandleCommandsFromFile,
441                          (lldb::SBFileSpec &, lldb::SBExecutionContext &,
442                           lldb::SBCommandInterpreterRunOptions &,
443                           lldb::SBCommandReturnObject));
444     LLDB_REGISTER_METHOD(int, SBCommandInterpreter, HandleCompletion,
445                          (const char *, const char *, const char *, int, int,
446                           lldb::SBStringList &));
447     LLDB_REGISTER_METHOD(int, SBCommandInterpreter,
448                          HandleCompletionWithDescriptions,
449                          (const char *, const char *, const char *, int, int,
450                           lldb::SBStringList &, lldb::SBStringList &));
451     LLDB_REGISTER_METHOD(int, SBCommandInterpreter,
452                          HandleCompletionWithDescriptions,
453                          (const char *, uint32_t, int, int,
454                           lldb::SBStringList &, lldb::SBStringList &));
455     LLDB_REGISTER_METHOD(
456         int, SBCommandInterpreter, HandleCompletion,
457         (const char *, uint32_t, int, int, lldb::SBStringList &));
458     LLDB_REGISTER_METHOD(bool, SBCommandInterpreter, HasCommands, ());
459     LLDB_REGISTER_METHOD(bool, SBCommandInterpreter, HasAliases, ());
460     LLDB_REGISTER_METHOD(bool, SBCommandInterpreter, HasAliasOptions, ());
461     LLDB_REGISTER_METHOD(lldb::SBProcess, SBCommandInterpreter, GetProcess, ());
462     LLDB_REGISTER_METHOD(lldb::SBDebugger, SBCommandInterpreter, GetDebugger,
463                          ());
464     LLDB_REGISTER_METHOD(bool, SBCommandInterpreter, GetPromptOnQuit, ());
465     LLDB_REGISTER_METHOD(void, SBCommandInterpreter, SetPromptOnQuit, (bool));
466     LLDB_REGISTER_METHOD(void, SBCommandInterpreter, AllowExitCodeOnQuit,
467                          (bool));
468     LLDB_REGISTER_METHOD(bool, SBCommandInterpreter, HasCustomQuitExitCode, ());
469     LLDB_REGISTER_METHOD(int, SBCommandInterpreter, GetQuitStatus, ());
470     LLDB_REGISTER_METHOD(void, SBCommandInterpreter, ResolveCommand,
471                          (const char *, lldb::SBCommandReturnObject &));
472     LLDB_REGISTER_METHOD(void, SBCommandInterpreter,
473                          SourceInitFileInHomeDirectory,
474                          (lldb::SBCommandReturnObject &));
475     LLDB_REGISTER_METHOD(void, SBCommandInterpreter,
476                          SourceInitFileInCurrentWorkingDirectory,
477                          (lldb::SBCommandReturnObject &));
478     LLDB_REGISTER_METHOD(lldb::SBBroadcaster, SBCommandInterpreter,
479                          GetBroadcaster, ());
480     LLDB_REGISTER_STATIC_METHOD(const char *, SBCommandInterpreter,
481                                 GetBroadcasterClass, ());
482     LLDB_REGISTER_STATIC_METHOD(const char *, SBCommandInterpreter,
483                                 GetArgumentTypeAsCString,
484                                 (const lldb::CommandArgumentType));
485     LLDB_REGISTER_STATIC_METHOD(const char *, SBCommandInterpreter,
486                                 GetArgumentDescriptionAsCString,
487                                 (const lldb::CommandArgumentType));
488     LLDB_REGISTER_STATIC_METHOD(bool, SBCommandInterpreter,
489                                 EventIsCommandInterpreterEvent,
490                                 (const lldb::SBEvent &));
491     LLDB_REGISTER_METHOD(lldb::SBCommand, SBCommandInterpreter,
492                          AddMultiwordCommand, (const char *, const char *));
493     LLDB_REGISTER_METHOD(
494         lldb::SBCommand, SBCommandInterpreter, AddCommand,
495         (const char *, lldb::SBCommandPluginInterface *, const char *));
496     LLDB_REGISTER_METHOD(lldb::SBCommand, SBCommandInterpreter, AddCommand,
497                          (const char *, lldb::SBCommandPluginInterface *,
498                           const char *, const char *));
499     LLDB_REGISTER_CONSTRUCTOR(SBCommand, ());
500     LLDB_REGISTER_METHOD(bool, SBCommand, IsValid, ());
501     LLDB_REGISTER_METHOD(const char *, SBCommand, GetName, ());
502     LLDB_REGISTER_METHOD(const char *, SBCommand, GetHelp, ());
503     LLDB_REGISTER_METHOD(const char *, SBCommand, GetHelpLong, ());
504     LLDB_REGISTER_METHOD(void, SBCommand, SetHelp, (const char *));
505     LLDB_REGISTER_METHOD(void, SBCommand, SetHelpLong, (const char *));
506     LLDB_REGISTER_METHOD(lldb::SBCommand, SBCommand, AddMultiwordCommand,
507                          (const char *, const char *));
508     LLDB_REGISTER_METHOD(
509         lldb::SBCommand, SBCommand, AddCommand,
510         (const char *, lldb::SBCommandPluginInterface *, const char *));
511     LLDB_REGISTER_METHOD(lldb::SBCommand, SBCommand, AddCommand,
512                          (const char *, lldb::SBCommandPluginInterface *,
513                           const char *, const char *));
514     LLDB_REGISTER_METHOD(uint32_t, SBCommand, GetFlags, ());
515     LLDB_REGISTER_METHOD(void, SBCommand, SetFlags, (uint32_t));
516   }
517   {
518     LLDB_REGISTER_CONSTRUCTOR(SBCommandReturnObject, ());
519     LLDB_REGISTER_CONSTRUCTOR(SBCommandReturnObject,
520                               (const lldb::SBCommandReturnObject &));
521     LLDB_REGISTER_CONSTRUCTOR(SBCommandReturnObject,
522                               (lldb_private::CommandReturnObject *));
523     LLDB_REGISTER_METHOD(lldb_private::CommandReturnObject *,
524                          SBCommandReturnObject, Release, ());
525     LLDB_REGISTER_METHOD(
526         const lldb::SBCommandReturnObject &,
527         SBCommandReturnObject, operator=,(const lldb::SBCommandReturnObject &));
528     LLDB_REGISTER_METHOD_CONST(bool, SBCommandReturnObject, IsValid, ());
529     LLDB_REGISTER_METHOD(const char *, SBCommandReturnObject, GetOutput, ());
530     LLDB_REGISTER_METHOD(const char *, SBCommandReturnObject, GetError, ());
531     LLDB_REGISTER_METHOD(size_t, SBCommandReturnObject, GetOutputSize, ());
532     LLDB_REGISTER_METHOD(size_t, SBCommandReturnObject, GetErrorSize, ());
533     LLDB_REGISTER_METHOD(size_t, SBCommandReturnObject, PutOutput, (FILE *));
534     LLDB_REGISTER_METHOD(size_t, SBCommandReturnObject, PutError, (FILE *));
535     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, Clear, ());
536     LLDB_REGISTER_METHOD(lldb::ReturnStatus, SBCommandReturnObject, GetStatus,
537                          ());
538     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, SetStatus,
539                          (lldb::ReturnStatus));
540     LLDB_REGISTER_METHOD(bool, SBCommandReturnObject, Succeeded, ());
541     LLDB_REGISTER_METHOD(bool, SBCommandReturnObject, HasResult, ());
542     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, AppendMessage,
543                          (const char *));
544     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, AppendWarning,
545                          (const char *));
546     LLDB_REGISTER_METHOD(bool, SBCommandReturnObject, GetDescription,
547                          (lldb::SBStream &));
548     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, SetImmediateOutputFile,
549                          (FILE *));
550     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, SetImmediateErrorFile,
551                          (FILE *));
552     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, SetImmediateOutputFile,
553                          (FILE *, bool));
554     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, SetImmediateErrorFile,
555                          (FILE *, bool));
556     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, PutCString,
557                          (const char *, int));
558     LLDB_REGISTER_METHOD(const char *, SBCommandReturnObject, GetOutput,
559                          (bool));
560     LLDB_REGISTER_METHOD(const char *, SBCommandReturnObject, GetError, (bool));
561     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, SetError,
562                          (lldb::SBError &, const char *));
563     LLDB_REGISTER_METHOD(void, SBCommandReturnObject, SetError, (const char *));
564   }
565   {
566     LLDB_REGISTER_CONSTRUCTOR(SBCommunication, ());
567     LLDB_REGISTER_CONSTRUCTOR(SBCommunication, (const char *));
568     LLDB_REGISTER_METHOD_CONST(bool, SBCommunication, IsValid, ());
569     LLDB_REGISTER_METHOD(bool, SBCommunication, GetCloseOnEOF, ());
570     LLDB_REGISTER_METHOD(void, SBCommunication, SetCloseOnEOF, (bool));
571     LLDB_REGISTER_METHOD(lldb::ConnectionStatus, SBCommunication, Connect,
572                          (const char *));
573     LLDB_REGISTER_METHOD(lldb::ConnectionStatus, SBCommunication,
574                          AdoptFileDesriptor, (int, bool));
575     LLDB_REGISTER_METHOD(lldb::ConnectionStatus, SBCommunication, Disconnect,
576                          ());
577     LLDB_REGISTER_METHOD_CONST(bool, SBCommunication, IsConnected, ());
578     LLDB_REGISTER_METHOD(bool, SBCommunication, ReadThreadStart, ());
579     LLDB_REGISTER_METHOD(bool, SBCommunication, ReadThreadStop, ());
580     LLDB_REGISTER_METHOD(bool, SBCommunication, ReadThreadIsRunning, ());
581     LLDB_REGISTER_METHOD(lldb::SBBroadcaster, SBCommunication, GetBroadcaster,
582                          ());
583     LLDB_REGISTER_STATIC_METHOD(const char *, SBCommunication,
584                                 GetBroadcasterClass, ());
585   }
586   {
587     LLDB_REGISTER_CONSTRUCTOR(SBCompileUnit, ());
588     LLDB_REGISTER_CONSTRUCTOR(SBCompileUnit, (const lldb::SBCompileUnit &));
589     LLDB_REGISTER_METHOD(
590         const lldb::SBCompileUnit &,
591         SBCompileUnit, operator=,(const lldb::SBCompileUnit &));
592     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBCompileUnit, GetFileSpec,
593                                ());
594     LLDB_REGISTER_METHOD_CONST(uint32_t, SBCompileUnit, GetNumLineEntries, ());
595     LLDB_REGISTER_METHOD_CONST(lldb::SBLineEntry, SBCompileUnit,
596                                GetLineEntryAtIndex, (uint32_t));
597     LLDB_REGISTER_METHOD_CONST(uint32_t, SBCompileUnit, FindLineEntryIndex,
598                                (uint32_t, uint32_t, lldb::SBFileSpec *));
599     LLDB_REGISTER_METHOD_CONST(uint32_t, SBCompileUnit, FindLineEntryIndex,
600                                (uint32_t, uint32_t, lldb::SBFileSpec *, bool));
601     LLDB_REGISTER_METHOD_CONST(uint32_t, SBCompileUnit, GetNumSupportFiles, ());
602     LLDB_REGISTER_METHOD(lldb::SBTypeList, SBCompileUnit, GetTypes, (uint32_t));
603     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBCompileUnit,
604                                GetSupportFileAtIndex, (uint32_t));
605     LLDB_REGISTER_METHOD(uint32_t, SBCompileUnit, FindSupportFileIndex,
606                          (uint32_t, const lldb::SBFileSpec &, bool));
607     LLDB_REGISTER_METHOD(lldb::LanguageType, SBCompileUnit, GetLanguage, ());
608     LLDB_REGISTER_METHOD_CONST(bool, SBCompileUnit, IsValid, ());
609     LLDB_REGISTER_METHOD_CONST(
610         bool, SBCompileUnit, operator==,(const lldb::SBCompileUnit &));
611     LLDB_REGISTER_METHOD_CONST(
612         bool, SBCompileUnit, operator!=,(const lldb::SBCompileUnit &));
613     LLDB_REGISTER_METHOD(bool, SBCompileUnit, GetDescription,
614                          (lldb::SBStream &));
615   }
616   {
617     LLDB_REGISTER_CONSTRUCTOR(SBData, ());
618     LLDB_REGISTER_CONSTRUCTOR(SBData, (const lldb::SBData &));
619     LLDB_REGISTER_METHOD(const lldb::SBData &,
620                          SBData, operator=,(const lldb::SBData &));
621     LLDB_REGISTER_METHOD(bool, SBData, IsValid, ());
622     LLDB_REGISTER_METHOD(uint8_t, SBData, GetAddressByteSize, ());
623     LLDB_REGISTER_METHOD(void, SBData, SetAddressByteSize, (uint8_t));
624     LLDB_REGISTER_METHOD(void, SBData, Clear, ());
625     LLDB_REGISTER_METHOD(size_t, SBData, GetByteSize, ());
626     LLDB_REGISTER_METHOD(lldb::ByteOrder, SBData, GetByteOrder, ());
627     LLDB_REGISTER_METHOD(void, SBData, SetByteOrder, (lldb::ByteOrder));
628     LLDB_REGISTER_METHOD(float, SBData, GetFloat,
629                          (lldb::SBError &, lldb::offset_t));
630     LLDB_REGISTER_METHOD(double, SBData, GetDouble,
631                          (lldb::SBError &, lldb::offset_t));
632     LLDB_REGISTER_METHOD(long double, SBData, GetLongDouble,
633                          (lldb::SBError &, lldb::offset_t));
634     LLDB_REGISTER_METHOD(lldb::addr_t, SBData, GetAddress,
635                          (lldb::SBError &, lldb::offset_t));
636     LLDB_REGISTER_METHOD(uint8_t, SBData, GetUnsignedInt8,
637                          (lldb::SBError &, lldb::offset_t));
638     LLDB_REGISTER_METHOD(uint16_t, SBData, GetUnsignedInt16,
639                          (lldb::SBError &, lldb::offset_t));
640     LLDB_REGISTER_METHOD(uint32_t, SBData, GetUnsignedInt32,
641                          (lldb::SBError &, lldb::offset_t));
642     LLDB_REGISTER_METHOD(uint64_t, SBData, GetUnsignedInt64,
643                          (lldb::SBError &, lldb::offset_t));
644     LLDB_REGISTER_METHOD(int8_t, SBData, GetSignedInt8,
645                          (lldb::SBError &, lldb::offset_t));
646     LLDB_REGISTER_METHOD(int16_t, SBData, GetSignedInt16,
647                          (lldb::SBError &, lldb::offset_t));
648     LLDB_REGISTER_METHOD(int32_t, SBData, GetSignedInt32,
649                          (lldb::SBError &, lldb::offset_t));
650     LLDB_REGISTER_METHOD(int64_t, SBData, GetSignedInt64,
651                          (lldb::SBError &, lldb::offset_t));
652     LLDB_REGISTER_METHOD(const char *, SBData, GetString,
653                          (lldb::SBError &, lldb::offset_t));
654     LLDB_REGISTER_METHOD(bool, SBData, GetDescription,
655                          (lldb::SBStream &, lldb::addr_t));
656     LLDB_REGISTER_METHOD(bool, SBData, Append, (const lldb::SBData &));
657     LLDB_REGISTER_STATIC_METHOD(lldb::SBData, SBData, CreateDataFromCString,
658                                 (lldb::ByteOrder, uint32_t, const char *));
659     LLDB_REGISTER_STATIC_METHOD(
660         lldb::SBData, SBData, CreateDataFromUInt64Array,
661         (lldb::ByteOrder, uint32_t, uint64_t *, size_t));
662     LLDB_REGISTER_STATIC_METHOD(
663         lldb::SBData, SBData, CreateDataFromUInt32Array,
664         (lldb::ByteOrder, uint32_t, uint32_t *, size_t));
665     LLDB_REGISTER_STATIC_METHOD(lldb::SBData, SBData, CreateDataFromSInt64Array,
666                                 (lldb::ByteOrder, uint32_t, int64_t *, size_t));
667     LLDB_REGISTER_STATIC_METHOD(lldb::SBData, SBData, CreateDataFromSInt32Array,
668                                 (lldb::ByteOrder, uint32_t, int32_t *, size_t));
669     LLDB_REGISTER_STATIC_METHOD(lldb::SBData, SBData, CreateDataFromDoubleArray,
670                                 (lldb::ByteOrder, uint32_t, double *, size_t));
671     LLDB_REGISTER_METHOD(bool, SBData, SetDataFromCString, (const char *));
672     LLDB_REGISTER_METHOD(bool, SBData, SetDataFromUInt64Array,
673                          (uint64_t *, size_t));
674     LLDB_REGISTER_METHOD(bool, SBData, SetDataFromUInt32Array,
675                          (uint32_t *, size_t));
676     LLDB_REGISTER_METHOD(bool, SBData, SetDataFromSInt64Array,
677                          (int64_t *, size_t));
678     LLDB_REGISTER_METHOD(bool, SBData, SetDataFromSInt32Array,
679                          (int32_t *, size_t));
680     LLDB_REGISTER_METHOD(bool, SBData, SetDataFromDoubleArray,
681                          (double *, size_t));
682   }
683   {
684     LLDB_REGISTER_METHOD(void, SBInputReader, SetIsDone, (bool));
685     LLDB_REGISTER_METHOD_CONST(bool, SBInputReader, IsActive, ());
686     LLDB_REGISTER_CONSTRUCTOR(SBDebugger, ());
687     LLDB_REGISTER_CONSTRUCTOR(SBDebugger, (const lldb::DebuggerSP &));
688     LLDB_REGISTER_CONSTRUCTOR(SBDebugger, (const lldb::SBDebugger &));
689     LLDB_REGISTER_METHOD(lldb::SBDebugger &,
690                          SBDebugger, operator=,(const lldb::SBDebugger &));
691     LLDB_REGISTER_STATIC_METHOD(void, SBDebugger, Initialize, ());
692     LLDB_REGISTER_STATIC_METHOD(lldb::SBError, SBDebugger,
693                                 InitializeWithErrorHandling, ());
694     LLDB_REGISTER_STATIC_METHOD(void, SBDebugger, Terminate, ());
695     LLDB_REGISTER_METHOD(void, SBDebugger, Clear, ());
696     LLDB_REGISTER_STATIC_METHOD(lldb::SBDebugger, SBDebugger, Create, ());
697     LLDB_REGISTER_STATIC_METHOD(lldb::SBDebugger, SBDebugger, Create, (bool));
698     LLDB_REGISTER_STATIC_METHOD(void, SBDebugger, Destroy,
699                                 (lldb::SBDebugger &));
700     LLDB_REGISTER_STATIC_METHOD(void, SBDebugger, MemoryPressureDetected, ());
701     LLDB_REGISTER_METHOD_CONST(bool, SBDebugger, IsValid, ());
702     LLDB_REGISTER_METHOD(void, SBDebugger, SetAsync, (bool));
703     LLDB_REGISTER_METHOD(bool, SBDebugger, GetAsync, ());
704     LLDB_REGISTER_METHOD(void, SBDebugger, SkipLLDBInitFiles, (bool));
705     LLDB_REGISTER_METHOD(void, SBDebugger, SkipAppInitFiles, (bool));
706     LLDB_REGISTER_METHOD(void, SBDebugger, SetInputFileHandle, (FILE *, bool));
707     LLDB_REGISTER_METHOD(FILE *, SBDebugger, GetInputFileHandle, ());
708     LLDB_REGISTER_METHOD(FILE *, SBDebugger, GetOutputFileHandle, ());
709     LLDB_REGISTER_METHOD(FILE *, SBDebugger, GetErrorFileHandle, ());
710     LLDB_REGISTER_METHOD(void, SBDebugger, SaveInputTerminalState, ());
711     LLDB_REGISTER_METHOD(void, SBDebugger, RestoreInputTerminalState, ());
712     LLDB_REGISTER_METHOD(lldb::SBCommandInterpreter, SBDebugger,
713                          GetCommandInterpreter, ());
714     LLDB_REGISTER_METHOD(void, SBDebugger, HandleCommand, (const char *));
715     LLDB_REGISTER_METHOD(lldb::SBListener, SBDebugger, GetListener, ());
716     LLDB_REGISTER_METHOD(
717         void, SBDebugger, HandleProcessEvent,
718         (const lldb::SBProcess &, const lldb::SBEvent &, FILE *, FILE *));
719     LLDB_REGISTER_METHOD(lldb::SBSourceManager, SBDebugger, GetSourceManager,
720                          ());
721     LLDB_REGISTER_STATIC_METHOD(bool, SBDebugger, SetDefaultArchitecture,
722                                 (const char *));
723     LLDB_REGISTER_METHOD(lldb::ScriptLanguage, SBDebugger, GetScriptingLanguage,
724                          (const char *));
725     LLDB_REGISTER_STATIC_METHOD(const char *, SBDebugger, GetVersionString, ());
726     LLDB_REGISTER_STATIC_METHOD(const char *, SBDebugger, StateAsCString,
727                                 (lldb::StateType));
728     LLDB_REGISTER_STATIC_METHOD(lldb::SBStructuredData, SBDebugger,
729                                 GetBuildConfiguration, ());
730     LLDB_REGISTER_STATIC_METHOD(bool, SBDebugger, StateIsRunningState,
731                                 (lldb::StateType));
732     LLDB_REGISTER_STATIC_METHOD(bool, SBDebugger, StateIsStoppedState,
733                                 (lldb::StateType));
734     LLDB_REGISTER_METHOD(
735         lldb::SBTarget, SBDebugger, CreateTarget,
736         (const char *, const char *, const char *, bool, lldb::SBError &));
737     LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger,
738                          CreateTargetWithFileAndTargetTriple,
739                          (const char *, const char *));
740     LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger,
741                          CreateTargetWithFileAndArch,
742                          (const char *, const char *));
743     LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, CreateTarget,
744                          (const char *));
745     LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, GetDummyTarget, ());
746     LLDB_REGISTER_METHOD(bool, SBDebugger, DeleteTarget, (lldb::SBTarget &));
747     LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, GetTargetAtIndex,
748                          (uint32_t));
749     LLDB_REGISTER_METHOD(uint32_t, SBDebugger, GetIndexOfTarget,
750                          (lldb::SBTarget));
751     LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, FindTargetWithProcessID,
752                          (lldb::pid_t));
753     LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, FindTargetWithFileAndArch,
754                          (const char *, const char *));
755     LLDB_REGISTER_METHOD(uint32_t, SBDebugger, GetNumTargets, ());
756     LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, GetSelectedTarget, ());
757     LLDB_REGISTER_METHOD(void, SBDebugger, SetSelectedTarget,
758                          (lldb::SBTarget &));
759     LLDB_REGISTER_METHOD(lldb::SBPlatform, SBDebugger, GetSelectedPlatform, ());
760     LLDB_REGISTER_METHOD(void, SBDebugger, SetSelectedPlatform,
761                          (lldb::SBPlatform &));
762     LLDB_REGISTER_METHOD(uint32_t, SBDebugger, GetNumPlatforms, ());
763     LLDB_REGISTER_METHOD(lldb::SBPlatform, SBDebugger, GetPlatformAtIndex,
764                          (uint32_t));
765     LLDB_REGISTER_METHOD(uint32_t, SBDebugger, GetNumAvailablePlatforms, ());
766     LLDB_REGISTER_METHOD(lldb::SBStructuredData, SBDebugger,
767                          GetAvailablePlatformInfoAtIndex, (uint32_t));
768     LLDB_REGISTER_METHOD(void, SBDebugger, DispatchInputInterrupt, ());
769     LLDB_REGISTER_METHOD(void, SBDebugger, DispatchInputEndOfFile, ());
770     LLDB_REGISTER_METHOD(void, SBDebugger, PushInputReader,
771                          (lldb::SBInputReader &));
772     LLDB_REGISTER_METHOD(void, SBDebugger, RunCommandInterpreter, (bool, bool));
773     LLDB_REGISTER_METHOD(void, SBDebugger, RunCommandInterpreter,
774                          (bool, bool, lldb::SBCommandInterpreterRunOptions &,
775                           int &, bool &, bool &));
776     LLDB_REGISTER_METHOD(lldb::SBError, SBDebugger, RunREPL,
777                          (lldb::LanguageType, const char *));
778     LLDB_REGISTER_STATIC_METHOD(lldb::SBDebugger, SBDebugger,
779                                 FindDebuggerWithID, (int));
780     LLDB_REGISTER_METHOD(const char *, SBDebugger, GetInstanceName, ());
781     LLDB_REGISTER_STATIC_METHOD(lldb::SBError, SBDebugger, SetInternalVariable,
782                                 (const char *, const char *, const char *));
783     LLDB_REGISTER_STATIC_METHOD(lldb::SBStringList, SBDebugger,
784                                 GetInternalVariableValue,
785                                 (const char *, const char *));
786     LLDB_REGISTER_METHOD_CONST(uint32_t, SBDebugger, GetTerminalWidth, ());
787     LLDB_REGISTER_METHOD(void, SBDebugger, SetTerminalWidth, (uint32_t));
788     LLDB_REGISTER_METHOD_CONST(const char *, SBDebugger, GetPrompt, ());
789     LLDB_REGISTER_METHOD(void, SBDebugger, SetPrompt, (const char *));
790     LLDB_REGISTER_METHOD_CONST(const char *, SBDebugger, GetReproducerPath, ());
791     LLDB_REGISTER_METHOD_CONST(lldb::ScriptLanguage, SBDebugger,
792                                GetScriptLanguage, ());
793     LLDB_REGISTER_METHOD(void, SBDebugger, SetScriptLanguage,
794                          (lldb::ScriptLanguage));
795     LLDB_REGISTER_METHOD(bool, SBDebugger, SetUseExternalEditor, (bool));
796     LLDB_REGISTER_METHOD(bool, SBDebugger, GetUseExternalEditor, ());
797     LLDB_REGISTER_METHOD(bool, SBDebugger, SetUseColor, (bool));
798     LLDB_REGISTER_METHOD_CONST(bool, SBDebugger, GetUseColor, ());
799     LLDB_REGISTER_METHOD(bool, SBDebugger, GetDescription, (lldb::SBStream &));
800     LLDB_REGISTER_METHOD(lldb::user_id_t, SBDebugger, GetID, ());
801     LLDB_REGISTER_METHOD(lldb::SBError, SBDebugger, SetCurrentPlatform,
802                          (const char *));
803     LLDB_REGISTER_METHOD(bool, SBDebugger, SetCurrentPlatformSDKRoot,
804                          (const char *));
805     LLDB_REGISTER_METHOD_CONST(bool, SBDebugger, GetCloseInputOnEOF, ());
806     LLDB_REGISTER_METHOD(void, SBDebugger, SetCloseInputOnEOF, (bool));
807     LLDB_REGISTER_METHOD(lldb::SBTypeCategory, SBDebugger, GetCategory,
808                          (const char *));
809     LLDB_REGISTER_METHOD(lldb::SBTypeCategory, SBDebugger, GetCategory,
810                          (lldb::LanguageType));
811     LLDB_REGISTER_METHOD(lldb::SBTypeCategory, SBDebugger, CreateCategory,
812                          (const char *));
813     LLDB_REGISTER_METHOD(bool, SBDebugger, DeleteCategory, (const char *));
814     LLDB_REGISTER_METHOD(uint32_t, SBDebugger, GetNumCategories, ());
815     LLDB_REGISTER_METHOD(lldb::SBTypeCategory, SBDebugger, GetCategoryAtIndex,
816                          (uint32_t));
817     LLDB_REGISTER_METHOD(lldb::SBTypeCategory, SBDebugger, GetDefaultCategory,
818                          ());
819     LLDB_REGISTER_METHOD(lldb::SBTypeFormat, SBDebugger, GetFormatForType,
820                          (lldb::SBTypeNameSpecifier));
821 #ifndef LLDB_DISABLE_PYTHON
822     LLDB_REGISTER_METHOD(lldb::SBTypeSummary, SBDebugger, GetSummaryForType,
823                          (lldb::SBTypeNameSpecifier));
824     LLDB_REGISTER_METHOD(lldb::SBTypeSynthetic, SBDebugger, GetSyntheticForType,
825                          (lldb::SBTypeNameSpecifier));
826 #endif
827     LLDB_REGISTER_METHOD(lldb::SBTypeFilter, SBDebugger, GetFilterForType,
828                          (lldb::SBTypeNameSpecifier));
829     LLDB_REGISTER_METHOD(bool, SBDebugger, EnableLog,
830                          (const char *, const char **));
831   }
832   {
833     LLDB_REGISTER_CONSTRUCTOR(SBDeclaration, ());
834     LLDB_REGISTER_CONSTRUCTOR(SBDeclaration, (const lldb::SBDeclaration &));
835     LLDB_REGISTER_METHOD(
836         const lldb::SBDeclaration &,
837         SBDeclaration, operator=,(const lldb::SBDeclaration &));
838     LLDB_REGISTER_METHOD_CONST(bool, SBDeclaration, IsValid, ());
839     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBDeclaration, GetFileSpec,
840                                ());
841     LLDB_REGISTER_METHOD_CONST(uint32_t, SBDeclaration, GetLine, ());
842     LLDB_REGISTER_METHOD_CONST(uint32_t, SBDeclaration, GetColumn, ());
843     LLDB_REGISTER_METHOD(void, SBDeclaration, SetFileSpec, (lldb::SBFileSpec));
844     LLDB_REGISTER_METHOD(void, SBDeclaration, SetLine, (uint32_t));
845     LLDB_REGISTER_METHOD(void, SBDeclaration, SetColumn, (uint32_t));
846     LLDB_REGISTER_METHOD_CONST(
847         bool, SBDeclaration, operator==,(const lldb::SBDeclaration &));
848     LLDB_REGISTER_METHOD_CONST(
849         bool, SBDeclaration, operator!=,(const lldb::SBDeclaration &));
850     LLDB_REGISTER_METHOD(bool, SBDeclaration, GetDescription,
851                          (lldb::SBStream &));
852   }
853   {
854     LLDB_REGISTER_CONSTRUCTOR(SBError, ());
855     LLDB_REGISTER_CONSTRUCTOR(SBError, (const lldb::SBError &));
856     LLDB_REGISTER_METHOD(const lldb::SBError &,
857                          SBError, operator=,(const lldb::SBError &));
858     LLDB_REGISTER_METHOD_CONST(const char *, SBError, GetCString, ());
859     LLDB_REGISTER_METHOD(void, SBError, Clear, ());
860     LLDB_REGISTER_METHOD_CONST(bool, SBError, Fail, ());
861     LLDB_REGISTER_METHOD_CONST(bool, SBError, Success, ());
862     LLDB_REGISTER_METHOD_CONST(uint32_t, SBError, GetError, ());
863     LLDB_REGISTER_METHOD_CONST(lldb::ErrorType, SBError, GetType, ());
864     LLDB_REGISTER_METHOD(void, SBError, SetError, (uint32_t, lldb::ErrorType));
865     LLDB_REGISTER_METHOD(void, SBError, SetErrorToErrno, ());
866     LLDB_REGISTER_METHOD(void, SBError, SetErrorToGenericError, ());
867     LLDB_REGISTER_METHOD(void, SBError, SetErrorString, (const char *));
868     LLDB_REGISTER_METHOD_CONST(bool, SBError, IsValid, ());
869     LLDB_REGISTER_METHOD(bool, SBError, GetDescription, (lldb::SBStream &));
870   }
871   {
872     LLDB_REGISTER_CONSTRUCTOR(SBEvent, ());
873     LLDB_REGISTER_CONSTRUCTOR(SBEvent, (uint32_t, const char *, uint32_t));
874     LLDB_REGISTER_CONSTRUCTOR(SBEvent, (lldb::EventSP &));
875     LLDB_REGISTER_CONSTRUCTOR(SBEvent, (lldb_private::Event *));
876     LLDB_REGISTER_CONSTRUCTOR(SBEvent, (const lldb::SBEvent &));
877     LLDB_REGISTER_METHOD(const lldb::SBEvent &,
878                          SBEvent, operator=,(const lldb::SBEvent &));
879     LLDB_REGISTER_METHOD(const char *, SBEvent, GetDataFlavor, ());
880     LLDB_REGISTER_METHOD_CONST(uint32_t, SBEvent, GetType, ());
881     LLDB_REGISTER_METHOD_CONST(lldb::SBBroadcaster, SBEvent, GetBroadcaster,
882                                ());
883     LLDB_REGISTER_METHOD_CONST(const char *, SBEvent, GetBroadcasterClass, ());
884     LLDB_REGISTER_METHOD(bool, SBEvent, BroadcasterMatchesPtr,
885                          (const lldb::SBBroadcaster *));
886     LLDB_REGISTER_METHOD(bool, SBEvent, BroadcasterMatchesRef,
887                          (const lldb::SBBroadcaster &));
888     LLDB_REGISTER_METHOD(void, SBEvent, Clear, ());
889     LLDB_REGISTER_METHOD_CONST(bool, SBEvent, IsValid, ());
890     LLDB_REGISTER_STATIC_METHOD(const char *, SBEvent, GetCStringFromEvent,
891                                 (const lldb::SBEvent &));
892     LLDB_REGISTER_METHOD(bool, SBEvent, GetDescription, (lldb::SBStream &));
893     LLDB_REGISTER_METHOD_CONST(bool, SBEvent, GetDescription,
894                                (lldb::SBStream &));
895   }
896   {
897     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext, ());
898     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext,
899                               (const lldb::SBExecutionContext &));
900     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext,
901                               (lldb::ExecutionContextRefSP));
902     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext, (const lldb::SBTarget &));
903     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext, (const lldb::SBProcess &));
904     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext, (lldb::SBThread));
905     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext, (const lldb::SBFrame &));
906     LLDB_REGISTER_METHOD(
907         const lldb::SBExecutionContext &,
908         SBExecutionContext, operator=,(const lldb::SBExecutionContext &));
909     LLDB_REGISTER_METHOD_CONST(lldb::SBTarget, SBExecutionContext, GetTarget,
910                                ());
911     LLDB_REGISTER_METHOD_CONST(lldb::SBProcess, SBExecutionContext, GetProcess,
912                                ());
913     LLDB_REGISTER_METHOD_CONST(lldb::SBThread, SBExecutionContext, GetThread,
914                                ());
915     LLDB_REGISTER_METHOD_CONST(lldb::SBFrame, SBExecutionContext, GetFrame, ());
916   }
917   {
918     LLDB_REGISTER_CONSTRUCTOR(SBExpressionOptions, ());
919     LLDB_REGISTER_CONSTRUCTOR(SBExpressionOptions,
920                               (const lldb::SBExpressionOptions &));
921     LLDB_REGISTER_METHOD(
922         const lldb::SBExpressionOptions &,
923         SBExpressionOptions, operator=,(const lldb::SBExpressionOptions &));
924     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetCoerceResultToId,
925                                ());
926     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetCoerceResultToId,
927                          (bool));
928     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetUnwindOnError, ());
929     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetUnwindOnError, (bool));
930     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetIgnoreBreakpoints,
931                                ());
932     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetIgnoreBreakpoints,
933                          (bool));
934     LLDB_REGISTER_METHOD_CONST(lldb::DynamicValueType, SBExpressionOptions,
935                                GetFetchDynamicValue, ());
936     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetFetchDynamicValue,
937                          (lldb::DynamicValueType));
938     LLDB_REGISTER_METHOD_CONST(uint32_t, SBExpressionOptions,
939                                GetTimeoutInMicroSeconds, ());
940     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetTimeoutInMicroSeconds,
941                          (uint32_t));
942     LLDB_REGISTER_METHOD_CONST(uint32_t, SBExpressionOptions,
943                                GetOneThreadTimeoutInMicroSeconds, ());
944     LLDB_REGISTER_METHOD(void, SBExpressionOptions,
945                          SetOneThreadTimeoutInMicroSeconds, (uint32_t));
946     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetTryAllThreads, ());
947     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetTryAllThreads, (bool));
948     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetStopOthers, ());
949     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetStopOthers, (bool));
950     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetTrapExceptions,
951                                ());
952     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetTrapExceptions, (bool));
953     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetLanguage,
954                          (lldb::LanguageType));
955     LLDB_REGISTER_METHOD(bool, SBExpressionOptions, GetGenerateDebugInfo, ());
956     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetGenerateDebugInfo,
957                          (bool));
958     LLDB_REGISTER_METHOD(bool, SBExpressionOptions, GetSuppressPersistentResult,
959                          ());
960     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetSuppressPersistentResult,
961                          (bool));
962     LLDB_REGISTER_METHOD_CONST(const char *, SBExpressionOptions, GetPrefix,
963                                ());
964     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetPrefix, (const char *));
965     LLDB_REGISTER_METHOD(bool, SBExpressionOptions, GetAutoApplyFixIts, ());
966     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetAutoApplyFixIts, (bool));
967     LLDB_REGISTER_METHOD(bool, SBExpressionOptions, GetTopLevel, ());
968     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetTopLevel, (bool));
969     LLDB_REGISTER_METHOD(bool, SBExpressionOptions, GetAllowJIT, ());
970     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetAllowJIT, (bool));
971   }
972   {
973     LLDB_REGISTER_CONSTRUCTOR(SBFileSpec, ());
974     LLDB_REGISTER_CONSTRUCTOR(SBFileSpec, (const lldb::SBFileSpec &));
975     LLDB_REGISTER_CONSTRUCTOR(SBFileSpec, (const char *));
976     LLDB_REGISTER_CONSTRUCTOR(SBFileSpec, (const char *, bool));
977     LLDB_REGISTER_METHOD(const lldb::SBFileSpec &,
978                          SBFileSpec, operator=,(const lldb::SBFileSpec &));
979     LLDB_REGISTER_METHOD_CONST(bool, SBFileSpec, IsValid, ());
980     LLDB_REGISTER_METHOD_CONST(bool, SBFileSpec, Exists, ());
981     LLDB_REGISTER_METHOD(bool, SBFileSpec, ResolveExecutableLocation, ());
982     LLDB_REGISTER_STATIC_METHOD(int, SBFileSpec, ResolvePath,
983                                 (const char *, char *, size_t));
984     LLDB_REGISTER_METHOD_CONST(const char *, SBFileSpec, GetFilename, ());
985     LLDB_REGISTER_METHOD_CONST(const char *, SBFileSpec, GetDirectory, ());
986     LLDB_REGISTER_METHOD(void, SBFileSpec, SetFilename, (const char *));
987     LLDB_REGISTER_METHOD(void, SBFileSpec, SetDirectory, (const char *));
988     LLDB_REGISTER_METHOD_CONST(uint32_t, SBFileSpec, GetPath, (char *, size_t));
989     LLDB_REGISTER_METHOD_CONST(bool, SBFileSpec, GetDescription,
990                                (lldb::SBStream &));
991     LLDB_REGISTER_METHOD(void, SBFileSpec, AppendPathComponent, (const char *));
992   }
993   {
994     LLDB_REGISTER_CONSTRUCTOR(SBFileSpecList, ());
995     LLDB_REGISTER_CONSTRUCTOR(SBFileSpecList, (const lldb::SBFileSpecList &));
996     LLDB_REGISTER_METHOD(
997         const lldb::SBFileSpecList &,
998         SBFileSpecList, operator=,(const lldb::SBFileSpecList &));
999     LLDB_REGISTER_METHOD_CONST(uint32_t, SBFileSpecList, GetSize, ());
1000     LLDB_REGISTER_METHOD(void, SBFileSpecList, Append,
1001                          (const lldb::SBFileSpec &));
1002     LLDB_REGISTER_METHOD(bool, SBFileSpecList, AppendIfUnique,
1003                          (const lldb::SBFileSpec &));
1004     LLDB_REGISTER_METHOD(void, SBFileSpecList, Clear, ());
1005     LLDB_REGISTER_METHOD(uint32_t, SBFileSpecList, FindFileIndex,
1006                          (uint32_t, const lldb::SBFileSpec &, bool));
1007     LLDB_REGISTER_METHOD_CONST(const lldb::SBFileSpec, SBFileSpecList,
1008                                GetFileSpecAtIndex, (uint32_t));
1009     LLDB_REGISTER_METHOD_CONST(bool, SBFileSpecList, GetDescription,
1010                                (lldb::SBStream &));
1011   }
1012   {
1013     LLDB_REGISTER_CONSTRUCTOR(SBFrame, ());
1014     LLDB_REGISTER_CONSTRUCTOR(SBFrame, (const lldb::StackFrameSP &));
1015     LLDB_REGISTER_CONSTRUCTOR(SBFrame, (const lldb::SBFrame &));
1016     LLDB_REGISTER_METHOD(const lldb::SBFrame &,
1017                          SBFrame, operator=,(const lldb::SBFrame &));
1018     LLDB_REGISTER_METHOD_CONST(bool, SBFrame, IsValid, ());
1019     LLDB_REGISTER_METHOD_CONST(lldb::SBSymbolContext, SBFrame, GetSymbolContext,
1020                                (uint32_t));
1021     LLDB_REGISTER_METHOD_CONST(lldb::SBModule, SBFrame, GetModule, ());
1022     LLDB_REGISTER_METHOD_CONST(lldb::SBCompileUnit, SBFrame, GetCompileUnit,
1023                                ());
1024     LLDB_REGISTER_METHOD_CONST(lldb::SBFunction, SBFrame, GetFunction, ());
1025     LLDB_REGISTER_METHOD_CONST(lldb::SBSymbol, SBFrame, GetSymbol, ());
1026     LLDB_REGISTER_METHOD_CONST(lldb::SBBlock, SBFrame, GetBlock, ());
1027     LLDB_REGISTER_METHOD_CONST(lldb::SBBlock, SBFrame, GetFrameBlock, ());
1028     LLDB_REGISTER_METHOD_CONST(lldb::SBLineEntry, SBFrame, GetLineEntry, ());
1029     LLDB_REGISTER_METHOD_CONST(uint32_t, SBFrame, GetFrameID, ());
1030     LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBFrame, GetCFA, ());
1031     LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBFrame, GetPC, ());
1032     LLDB_REGISTER_METHOD(bool, SBFrame, SetPC, (lldb::addr_t));
1033     LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBFrame, GetSP, ());
1034     LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBFrame, GetFP, ());
1035     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBFrame, GetPCAddress, ());
1036     LLDB_REGISTER_METHOD(void, SBFrame, Clear, ());
1037     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, GetValueForVariablePath,
1038                          (const char *));
1039     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, GetValueForVariablePath,
1040                          (const char *, lldb::DynamicValueType));
1041     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, FindVariable, (const char *));
1042     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, FindVariable,
1043                          (const char *, lldb::DynamicValueType));
1044     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, FindValue,
1045                          (const char *, lldb::ValueType));
1046     LLDB_REGISTER_METHOD(
1047         lldb::SBValue, SBFrame, FindValue,
1048         (const char *, lldb::ValueType, lldb::DynamicValueType));
1049     LLDB_REGISTER_METHOD_CONST(bool, SBFrame, IsEqual, (const lldb::SBFrame &));
1050     LLDB_REGISTER_METHOD_CONST(bool,
1051                                SBFrame, operator==,(const lldb::SBFrame &));
1052     LLDB_REGISTER_METHOD_CONST(bool,
1053                                SBFrame, operator!=,(const lldb::SBFrame &));
1054     LLDB_REGISTER_METHOD_CONST(lldb::SBThread, SBFrame, GetThread, ());
1055     LLDB_REGISTER_METHOD_CONST(const char *, SBFrame, Disassemble, ());
1056     LLDB_REGISTER_METHOD(lldb::SBValueList, SBFrame, GetVariables,
1057                          (bool, bool, bool, bool));
1058     LLDB_REGISTER_METHOD(lldb::SBValueList, SBFrame, GetVariables,
1059                          (bool, bool, bool, bool, lldb::DynamicValueType));
1060     LLDB_REGISTER_METHOD(lldb::SBValueList, SBFrame, GetVariables,
1061                          (const lldb::SBVariablesOptions &));
1062     LLDB_REGISTER_METHOD(lldb::SBValueList, SBFrame, GetRegisters, ());
1063     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, FindRegister, (const char *));
1064     LLDB_REGISTER_METHOD(bool, SBFrame, GetDescription, (lldb::SBStream &));
1065     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, EvaluateExpression,
1066                          (const char *));
1067     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, EvaluateExpression,
1068                          (const char *, lldb::DynamicValueType));
1069     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, EvaluateExpression,
1070                          (const char *, lldb::DynamicValueType, bool));
1071     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, EvaluateExpression,
1072                          (const char *, const lldb::SBExpressionOptions &));
1073     LLDB_REGISTER_METHOD(bool, SBFrame, IsInlined, ());
1074     LLDB_REGISTER_METHOD_CONST(bool, SBFrame, IsInlined, ());
1075     LLDB_REGISTER_METHOD(bool, SBFrame, IsArtificial, ());
1076     LLDB_REGISTER_METHOD_CONST(bool, SBFrame, IsArtificial, ());
1077     LLDB_REGISTER_METHOD(const char *, SBFrame, GetFunctionName, ());
1078     LLDB_REGISTER_METHOD_CONST(lldb::LanguageType, SBFrame, GuessLanguage, ());
1079     LLDB_REGISTER_METHOD_CONST(const char *, SBFrame, GetFunctionName, ());
1080     LLDB_REGISTER_METHOD(const char *, SBFrame, GetDisplayFunctionName, ());
1081   }
1082   {
1083     LLDB_REGISTER_CONSTRUCTOR(SBFunction, ());
1084     LLDB_REGISTER_CONSTRUCTOR(SBFunction, (const lldb::SBFunction &));
1085     LLDB_REGISTER_METHOD(const lldb::SBFunction &,
1086                          SBFunction, operator=,(const lldb::SBFunction &));
1087     LLDB_REGISTER_METHOD_CONST(bool, SBFunction, IsValid, ());
1088     LLDB_REGISTER_METHOD_CONST(const char *, SBFunction, GetName, ());
1089     LLDB_REGISTER_METHOD_CONST(const char *, SBFunction, GetDisplayName, ());
1090     LLDB_REGISTER_METHOD_CONST(const char *, SBFunction, GetMangledName, ());
1091     LLDB_REGISTER_METHOD_CONST(
1092         bool, SBFunction, operator==,(const lldb::SBFunction &));
1093     LLDB_REGISTER_METHOD_CONST(
1094         bool, SBFunction, operator!=,(const lldb::SBFunction &));
1095     LLDB_REGISTER_METHOD(bool, SBFunction, GetDescription, (lldb::SBStream &));
1096     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBFunction, GetInstructions,
1097                          (lldb::SBTarget));
1098     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBFunction, GetInstructions,
1099                          (lldb::SBTarget, const char *));
1100     LLDB_REGISTER_METHOD(lldb::SBAddress, SBFunction, GetStartAddress, ());
1101     LLDB_REGISTER_METHOD(lldb::SBAddress, SBFunction, GetEndAddress, ());
1102     LLDB_REGISTER_METHOD(const char *, SBFunction, GetArgumentName, (uint32_t));
1103     LLDB_REGISTER_METHOD(uint32_t, SBFunction, GetPrologueByteSize, ());
1104     LLDB_REGISTER_METHOD(lldb::SBType, SBFunction, GetType, ());
1105     LLDB_REGISTER_METHOD(lldb::SBBlock, SBFunction, GetBlock, ());
1106     LLDB_REGISTER_METHOD(lldb::LanguageType, SBFunction, GetLanguage, ());
1107     LLDB_REGISTER_METHOD(bool, SBFunction, GetIsOptimized, ());
1108   }
1109   {
1110     LLDB_REGISTER_STATIC_METHOD(lldb::SBFileSpec, SBHostOS, GetProgramFileSpec,
1111                                 ());
1112     LLDB_REGISTER_STATIC_METHOD(lldb::SBFileSpec, SBHostOS, GetLLDBPythonPath,
1113                                 ());
1114     LLDB_REGISTER_STATIC_METHOD(lldb::SBFileSpec, SBHostOS, GetLLDBPath,
1115                                 (lldb::PathType));
1116     LLDB_REGISTER_STATIC_METHOD(lldb::SBFileSpec, SBHostOS,
1117                                 GetUserHomeDirectory, ());
1118     LLDB_REGISTER_STATIC_METHOD(void, SBHostOS, ThreadCreated, (const char *));
1119   }
1120   {
1121     LLDB_REGISTER_CONSTRUCTOR(SBInstruction, ());
1122     LLDB_REGISTER_CONSTRUCTOR(SBInstruction, (const lldb::SBInstruction &));
1123     LLDB_REGISTER_METHOD(
1124         const lldb::SBInstruction &,
1125         SBInstruction, operator=,(const lldb::SBInstruction &));
1126     LLDB_REGISTER_METHOD(bool, SBInstruction, IsValid, ());
1127     LLDB_REGISTER_METHOD(lldb::SBAddress, SBInstruction, GetAddress, ());
1128     LLDB_REGISTER_METHOD(const char *, SBInstruction, GetMnemonic,
1129                          (lldb::SBTarget));
1130     LLDB_REGISTER_METHOD(const char *, SBInstruction, GetOperands,
1131                          (lldb::SBTarget));
1132     LLDB_REGISTER_METHOD(const char *, SBInstruction, GetComment,
1133                          (lldb::SBTarget));
1134     LLDB_REGISTER_METHOD(size_t, SBInstruction, GetByteSize, ());
1135     LLDB_REGISTER_METHOD(lldb::SBData, SBInstruction, GetData,
1136                          (lldb::SBTarget));
1137     LLDB_REGISTER_METHOD(bool, SBInstruction, DoesBranch, ());
1138     LLDB_REGISTER_METHOD(bool, SBInstruction, HasDelaySlot, ());
1139     LLDB_REGISTER_METHOD(bool, SBInstruction, CanSetBreakpoint, ());
1140     LLDB_REGISTER_METHOD(bool, SBInstruction, GetDescription,
1141                          (lldb::SBStream &));
1142     LLDB_REGISTER_METHOD(void, SBInstruction, Print, (FILE *));
1143     LLDB_REGISTER_METHOD(bool, SBInstruction, EmulateWithFrame,
1144                          (lldb::SBFrame &, uint32_t));
1145     LLDB_REGISTER_METHOD(bool, SBInstruction, DumpEmulation, (const char *));
1146     LLDB_REGISTER_METHOD(bool, SBInstruction, TestEmulation,
1147                          (lldb::SBStream &, const char *));
1148   }
1149   {
1150     LLDB_REGISTER_CONSTRUCTOR(SBInstructionList, ());
1151     LLDB_REGISTER_CONSTRUCTOR(SBInstructionList,
1152                               (const lldb::SBInstructionList &));
1153     LLDB_REGISTER_METHOD(
1154         const lldb::SBInstructionList &,
1155         SBInstructionList, operator=,(const lldb::SBInstructionList &));
1156     LLDB_REGISTER_METHOD_CONST(bool, SBInstructionList, IsValid, ());
1157     LLDB_REGISTER_METHOD(size_t, SBInstructionList, GetSize, ());
1158     LLDB_REGISTER_METHOD(lldb::SBInstruction, SBInstructionList,
1159                          GetInstructionAtIndex, (uint32_t));
1160     LLDB_REGISTER_METHOD(
1161         size_t, SBInstructionList, GetInstructionsCount,
1162         (const lldb::SBAddress &, const lldb::SBAddress &, bool));
1163     LLDB_REGISTER_METHOD(void, SBInstructionList, Clear, ());
1164     LLDB_REGISTER_METHOD(void, SBInstructionList, AppendInstruction,
1165                          (lldb::SBInstruction));
1166     LLDB_REGISTER_METHOD(void, SBInstructionList, Print, (FILE *));
1167     LLDB_REGISTER_METHOD(bool, SBInstructionList, GetDescription,
1168                          (lldb::SBStream &));
1169     LLDB_REGISTER_METHOD(bool, SBInstructionList,
1170                          DumpEmulationForAllInstructions, (const char *));
1171   }
1172   {
1173     LLDB_REGISTER_STATIC_METHOD(lldb::LanguageType, SBLanguageRuntime,
1174                                 GetLanguageTypeFromString, (const char *));
1175     LLDB_REGISTER_STATIC_METHOD(const char *, SBLanguageRuntime,
1176                                 GetNameForLanguageType, (lldb::LanguageType));
1177   }
1178   {
1179     LLDB_REGISTER_CONSTRUCTOR(SBLaunchInfo, (const char **));
1180     LLDB_REGISTER_METHOD(lldb::pid_t, SBLaunchInfo, GetProcessID, ());
1181     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetUserID, ());
1182     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetGroupID, ());
1183     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, UserIDIsValid, ());
1184     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, GroupIDIsValid, ());
1185     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetUserID, (uint32_t));
1186     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetGroupID, (uint32_t));
1187     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBLaunchInfo, GetExecutableFile, ());
1188     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetExecutableFile,
1189                          (lldb::SBFileSpec, bool));
1190     LLDB_REGISTER_METHOD(lldb::SBListener, SBLaunchInfo, GetListener, ());
1191     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetListener, (lldb::SBListener &));
1192     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetNumArguments, ());
1193     LLDB_REGISTER_METHOD(const char *, SBLaunchInfo, GetArgumentAtIndex,
1194                          (uint32_t));
1195     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetArguments,
1196                          (const char **, bool));
1197     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetNumEnvironmentEntries, ());
1198     LLDB_REGISTER_METHOD(const char *, SBLaunchInfo, GetEnvironmentEntryAtIndex,
1199                          (uint32_t));
1200     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetEnvironmentEntries,
1201                          (const char **, bool));
1202     LLDB_REGISTER_METHOD(void, SBLaunchInfo, Clear, ());
1203     LLDB_REGISTER_METHOD_CONST(const char *, SBLaunchInfo, GetWorkingDirectory,
1204                                ());
1205     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetWorkingDirectory,
1206                          (const char *));
1207     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetLaunchFlags, ());
1208     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetLaunchFlags, (uint32_t));
1209     LLDB_REGISTER_METHOD(const char *, SBLaunchInfo, GetProcessPluginName, ());
1210     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetProcessPluginName,
1211                          (const char *));
1212     LLDB_REGISTER_METHOD(const char *, SBLaunchInfo, GetShell, ());
1213     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetShell, (const char *));
1214     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, GetShellExpandArguments, ());
1215     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetShellExpandArguments, (bool));
1216     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetResumeCount, ());
1217     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetResumeCount, (uint32_t));
1218     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, AddCloseFileAction, (int));
1219     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, AddDuplicateFileAction,
1220                          (int, int));
1221     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, AddOpenFileAction,
1222                          (int, const char *, bool, bool));
1223     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, AddSuppressFileAction,
1224                          (int, bool, bool));
1225     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetLaunchEventData,
1226                          (const char *));
1227     LLDB_REGISTER_METHOD_CONST(const char *, SBLaunchInfo, GetLaunchEventData,
1228                                ());
1229     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetDetachOnError, (bool));
1230     LLDB_REGISTER_METHOD_CONST(bool, SBLaunchInfo, GetDetachOnError, ());
1231   }
1232   {
1233     LLDB_REGISTER_CONSTRUCTOR(SBLineEntry, ());
1234     LLDB_REGISTER_CONSTRUCTOR(SBLineEntry, (const lldb::SBLineEntry &));
1235     LLDB_REGISTER_METHOD(const lldb::SBLineEntry &,
1236                          SBLineEntry, operator=,(const lldb::SBLineEntry &));
1237     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBLineEntry, GetStartAddress,
1238                                ());
1239     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBLineEntry, GetEndAddress, ());
1240     LLDB_REGISTER_METHOD_CONST(bool, SBLineEntry, IsValid, ());
1241     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBLineEntry, GetFileSpec, ());
1242     LLDB_REGISTER_METHOD_CONST(uint32_t, SBLineEntry, GetLine, ());
1243     LLDB_REGISTER_METHOD_CONST(uint32_t, SBLineEntry, GetColumn, ());
1244     LLDB_REGISTER_METHOD(void, SBLineEntry, SetFileSpec, (lldb::SBFileSpec));
1245     LLDB_REGISTER_METHOD(void, SBLineEntry, SetLine, (uint32_t));
1246     LLDB_REGISTER_METHOD(void, SBLineEntry, SetColumn, (uint32_t));
1247     LLDB_REGISTER_METHOD_CONST(
1248         bool, SBLineEntry, operator==,(const lldb::SBLineEntry &));
1249     LLDB_REGISTER_METHOD_CONST(
1250         bool, SBLineEntry, operator!=,(const lldb::SBLineEntry &));
1251     LLDB_REGISTER_METHOD(bool, SBLineEntry, GetDescription, (lldb::SBStream &));
1252   }
1253   {
1254     LLDB_REGISTER_CONSTRUCTOR(SBListener, ());
1255     LLDB_REGISTER_CONSTRUCTOR(SBListener, (const char *));
1256     LLDB_REGISTER_CONSTRUCTOR(SBListener, (const lldb::SBListener &));
1257     LLDB_REGISTER_METHOD(const lldb::SBListener &,
1258                          SBListener, operator=,(const lldb::SBListener &));
1259     LLDB_REGISTER_METHOD_CONST(bool, SBListener, IsValid, ());
1260     LLDB_REGISTER_METHOD(void, SBListener, AddEvent, (const lldb::SBEvent &));
1261     LLDB_REGISTER_METHOD(void, SBListener, Clear, ());
1262     LLDB_REGISTER_METHOD(uint32_t, SBListener, StartListeningForEventClass,
1263                          (lldb::SBDebugger &, const char *, uint32_t));
1264     LLDB_REGISTER_METHOD(bool, SBListener, StopListeningForEventClass,
1265                          (lldb::SBDebugger &, const char *, uint32_t));
1266     LLDB_REGISTER_METHOD(uint32_t, SBListener, StartListeningForEvents,
1267                          (const lldb::SBBroadcaster &, uint32_t));
1268     LLDB_REGISTER_METHOD(bool, SBListener, StopListeningForEvents,
1269                          (const lldb::SBBroadcaster &, uint32_t));
1270     LLDB_REGISTER_METHOD(bool, SBListener, WaitForEvent,
1271                          (uint32_t, lldb::SBEvent &));
1272     LLDB_REGISTER_METHOD(
1273         bool, SBListener, WaitForEventForBroadcaster,
1274         (uint32_t, const lldb::SBBroadcaster &, lldb::SBEvent &));
1275     LLDB_REGISTER_METHOD(
1276         bool, SBListener, WaitForEventForBroadcasterWithType,
1277         (uint32_t, const lldb::SBBroadcaster &, uint32_t, lldb::SBEvent &));
1278     LLDB_REGISTER_METHOD(bool, SBListener, PeekAtNextEvent, (lldb::SBEvent &));
1279     LLDB_REGISTER_METHOD(bool, SBListener, PeekAtNextEventForBroadcaster,
1280                          (const lldb::SBBroadcaster &, lldb::SBEvent &));
1281     LLDB_REGISTER_METHOD(
1282         bool, SBListener, PeekAtNextEventForBroadcasterWithType,
1283         (const lldb::SBBroadcaster &, uint32_t, lldb::SBEvent &));
1284     LLDB_REGISTER_METHOD(bool, SBListener, GetNextEvent, (lldb::SBEvent &));
1285     LLDB_REGISTER_METHOD(bool, SBListener, GetNextEventForBroadcaster,
1286                          (const lldb::SBBroadcaster &, lldb::SBEvent &));
1287     LLDB_REGISTER_METHOD(
1288         bool, SBListener, GetNextEventForBroadcasterWithType,
1289         (const lldb::SBBroadcaster &, uint32_t, lldb::SBEvent &));
1290     LLDB_REGISTER_METHOD(bool, SBListener, HandleBroadcastEvent,
1291                          (const lldb::SBEvent &));
1292   }
1293   {
1294     LLDB_REGISTER_CONSTRUCTOR(SBMemoryRegionInfo, ());
1295     LLDB_REGISTER_CONSTRUCTOR(SBMemoryRegionInfo,
1296                               (const lldb::SBMemoryRegionInfo &));
1297     LLDB_REGISTER_METHOD(
1298         const lldb::SBMemoryRegionInfo &,
1299         SBMemoryRegionInfo, operator=,(const lldb::SBMemoryRegionInfo &));
1300     LLDB_REGISTER_METHOD(void, SBMemoryRegionInfo, Clear, ());
1301     LLDB_REGISTER_METHOD_CONST(
1302         bool,
1303         SBMemoryRegionInfo, operator==,(const lldb::SBMemoryRegionInfo &));
1304     LLDB_REGISTER_METHOD_CONST(
1305         bool,
1306         SBMemoryRegionInfo, operator!=,(const lldb::SBMemoryRegionInfo &));
1307     LLDB_REGISTER_METHOD(lldb::addr_t, SBMemoryRegionInfo, GetRegionBase, ());
1308     LLDB_REGISTER_METHOD(lldb::addr_t, SBMemoryRegionInfo, GetRegionEnd, ());
1309     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfo, IsReadable, ());
1310     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfo, IsWritable, ());
1311     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfo, IsExecutable, ());
1312     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfo, IsMapped, ());
1313     LLDB_REGISTER_METHOD(const char *, SBMemoryRegionInfo, GetName, ());
1314     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfo, GetDescription,
1315                          (lldb::SBStream &));
1316   }
1317   {
1318     LLDB_REGISTER_CONSTRUCTOR(SBMemoryRegionInfoList, ());
1319     LLDB_REGISTER_CONSTRUCTOR(SBMemoryRegionInfoList,
1320                               (const lldb::SBMemoryRegionInfoList &));
1321     LLDB_REGISTER_METHOD(
1322         const lldb::SBMemoryRegionInfoList &,
1323         SBMemoryRegionInfoList, operator=,(
1324                                     const lldb::SBMemoryRegionInfoList &));
1325     LLDB_REGISTER_METHOD_CONST(uint32_t, SBMemoryRegionInfoList, GetSize, ());
1326     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfoList, GetMemoryRegionAtIndex,
1327                          (uint32_t, lldb::SBMemoryRegionInfo &));
1328     LLDB_REGISTER_METHOD(void, SBMemoryRegionInfoList, Clear, ());
1329     LLDB_REGISTER_METHOD(void, SBMemoryRegionInfoList, Append,
1330                          (lldb::SBMemoryRegionInfo &));
1331     LLDB_REGISTER_METHOD(void, SBMemoryRegionInfoList, Append,
1332                          (lldb::SBMemoryRegionInfoList &));
1333   }
1334   {
1335     LLDB_REGISTER_CONSTRUCTOR(SBModule, ());
1336     LLDB_REGISTER_CONSTRUCTOR(SBModule, (const lldb::SBModuleSpec &));
1337     LLDB_REGISTER_CONSTRUCTOR(SBModule, (const lldb::SBModule &));
1338     LLDB_REGISTER_CONSTRUCTOR(SBModule, (lldb::SBProcess &, lldb::addr_t));
1339     LLDB_REGISTER_METHOD(const lldb::SBModule &,
1340                          SBModule, operator=,(const lldb::SBModule &));
1341     LLDB_REGISTER_METHOD_CONST(bool, SBModule, IsValid, ());
1342     LLDB_REGISTER_METHOD(void, SBModule, Clear, ());
1343     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBModule, GetFileSpec, ());
1344     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBModule, GetPlatformFileSpec,
1345                                ());
1346     LLDB_REGISTER_METHOD(bool, SBModule, SetPlatformFileSpec,
1347                          (const lldb::SBFileSpec &));
1348     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBModule, GetRemoteInstallFileSpec,
1349                          ());
1350     LLDB_REGISTER_METHOD(bool, SBModule, SetRemoteInstallFileSpec,
1351                          (lldb::SBFileSpec &));
1352     LLDB_REGISTER_METHOD_CONST(const char *, SBModule, GetUUIDString, ());
1353     LLDB_REGISTER_METHOD_CONST(bool,
1354                                SBModule, operator==,(const lldb::SBModule &));
1355     LLDB_REGISTER_METHOD_CONST(bool,
1356                                SBModule, operator!=,(const lldb::SBModule &));
1357     LLDB_REGISTER_METHOD(lldb::SBAddress, SBModule, ResolveFileAddress,
1358                          (lldb::addr_t));
1359     LLDB_REGISTER_METHOD(lldb::SBSymbolContext, SBModule,
1360                          ResolveSymbolContextForAddress,
1361                          (const lldb::SBAddress &, uint32_t));
1362     LLDB_REGISTER_METHOD(bool, SBModule, GetDescription, (lldb::SBStream &));
1363     LLDB_REGISTER_METHOD(uint32_t, SBModule, GetNumCompileUnits, ());
1364     LLDB_REGISTER_METHOD(lldb::SBCompileUnit, SBModule, GetCompileUnitAtIndex,
1365                          (uint32_t));
1366     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBModule, FindCompileUnits,
1367                          (const lldb::SBFileSpec &));
1368     LLDB_REGISTER_METHOD(size_t, SBModule, GetNumSymbols, ());
1369     LLDB_REGISTER_METHOD(lldb::SBSymbol, SBModule, GetSymbolAtIndex, (size_t));
1370     LLDB_REGISTER_METHOD(lldb::SBSymbol, SBModule, FindSymbol,
1371                          (const char *, lldb::SymbolType));
1372     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBModule, FindSymbols,
1373                          (const char *, lldb::SymbolType));
1374     LLDB_REGISTER_METHOD(size_t, SBModule, GetNumSections, ());
1375     LLDB_REGISTER_METHOD(lldb::SBSection, SBModule, GetSectionAtIndex,
1376                          (size_t));
1377     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBModule, FindFunctions,
1378                          (const char *, uint32_t));
1379     LLDB_REGISTER_METHOD(lldb::SBValueList, SBModule, FindGlobalVariables,
1380                          (lldb::SBTarget &, const char *, uint32_t));
1381     LLDB_REGISTER_METHOD(lldb::SBValue, SBModule, FindFirstGlobalVariable,
1382                          (lldb::SBTarget &, const char *));
1383     LLDB_REGISTER_METHOD(lldb::SBType, SBModule, FindFirstType, (const char *));
1384     LLDB_REGISTER_METHOD(lldb::SBType, SBModule, GetBasicType,
1385                          (lldb::BasicType));
1386     LLDB_REGISTER_METHOD(lldb::SBTypeList, SBModule, FindTypes, (const char *));
1387     LLDB_REGISTER_METHOD(lldb::SBType, SBModule, GetTypeByID,
1388                          (lldb::user_id_t));
1389     LLDB_REGISTER_METHOD(lldb::SBTypeList, SBModule, GetTypes, (uint32_t));
1390     LLDB_REGISTER_METHOD(lldb::SBSection, SBModule, FindSection,
1391                          (const char *));
1392     LLDB_REGISTER_METHOD(lldb::ByteOrder, SBModule, GetByteOrder, ());
1393     LLDB_REGISTER_METHOD(const char *, SBModule, GetTriple, ());
1394     LLDB_REGISTER_METHOD(uint32_t, SBModule, GetAddressByteSize, ());
1395     LLDB_REGISTER_METHOD(uint32_t, SBModule, GetVersion,
1396                          (uint32_t *, uint32_t));
1397     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBModule, GetSymbolFileSpec,
1398                                ());
1399     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBModule,
1400                                GetObjectFileHeaderAddress, ());
1401     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBModule,
1402                                GetObjectFileEntryPointAddress, ());
1403   }
1404   {
1405     LLDB_REGISTER_CONSTRUCTOR(SBModuleSpec, ());
1406     LLDB_REGISTER_CONSTRUCTOR(SBModuleSpec, (const lldb::SBModuleSpec &));
1407     LLDB_REGISTER_METHOD(const lldb::SBModuleSpec &,
1408                          SBModuleSpec, operator=,(const lldb::SBModuleSpec &));
1409     LLDB_REGISTER_METHOD_CONST(bool, SBModuleSpec, IsValid, ());
1410     LLDB_REGISTER_METHOD(void, SBModuleSpec, Clear, ());
1411     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBModuleSpec, GetFileSpec, ());
1412     LLDB_REGISTER_METHOD(void, SBModuleSpec, SetFileSpec,
1413                          (const lldb::SBFileSpec &));
1414     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBModuleSpec, GetPlatformFileSpec,
1415                          ());
1416     LLDB_REGISTER_METHOD(void, SBModuleSpec, SetPlatformFileSpec,
1417                          (const lldb::SBFileSpec &));
1418     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBModuleSpec, GetSymbolFileSpec, ());
1419     LLDB_REGISTER_METHOD(void, SBModuleSpec, SetSymbolFileSpec,
1420                          (const lldb::SBFileSpec &));
1421     LLDB_REGISTER_METHOD(const char *, SBModuleSpec, GetObjectName, ());
1422     LLDB_REGISTER_METHOD(void, SBModuleSpec, SetObjectName, (const char *));
1423     LLDB_REGISTER_METHOD(const char *, SBModuleSpec, GetTriple, ());
1424     LLDB_REGISTER_METHOD(void, SBModuleSpec, SetTriple, (const char *));
1425     LLDB_REGISTER_METHOD(size_t, SBModuleSpec, GetUUIDLength, ());
1426     LLDB_REGISTER_METHOD(bool, SBModuleSpec, GetDescription,
1427                          (lldb::SBStream &));
1428     LLDB_REGISTER_CONSTRUCTOR(SBModuleSpecList, ());
1429     LLDB_REGISTER_CONSTRUCTOR(SBModuleSpecList,
1430                               (const lldb::SBModuleSpecList &));
1431     LLDB_REGISTER_METHOD(
1432         lldb::SBModuleSpecList &,
1433         SBModuleSpecList, operator=,(const lldb::SBModuleSpecList &));
1434     LLDB_REGISTER_STATIC_METHOD(lldb::SBModuleSpecList, SBModuleSpecList,
1435                                 GetModuleSpecifications, (const char *));
1436     LLDB_REGISTER_METHOD(void, SBModuleSpecList, Append,
1437                          (const lldb::SBModuleSpec &));
1438     LLDB_REGISTER_METHOD(void, SBModuleSpecList, Append,
1439                          (const lldb::SBModuleSpecList &));
1440     LLDB_REGISTER_METHOD(size_t, SBModuleSpecList, GetSize, ());
1441     LLDB_REGISTER_METHOD(lldb::SBModuleSpec, SBModuleSpecList, GetSpecAtIndex,
1442                          (size_t));
1443     LLDB_REGISTER_METHOD(lldb::SBModuleSpec, SBModuleSpecList,
1444                          FindFirstMatchingSpec, (const lldb::SBModuleSpec &));
1445     LLDB_REGISTER_METHOD(lldb::SBModuleSpecList, SBModuleSpecList,
1446                          FindMatchingSpecs, (const lldb::SBModuleSpec &));
1447     LLDB_REGISTER_METHOD(bool, SBModuleSpecList, GetDescription,
1448                          (lldb::SBStream &));
1449   }
1450   {
1451     LLDB_REGISTER_CONSTRUCTOR(SBPlatformConnectOptions, (const char *));
1452     LLDB_REGISTER_CONSTRUCTOR(SBPlatformConnectOptions,
1453                               (const lldb::SBPlatformConnectOptions &));
1454     LLDB_REGISTER_METHOD(
1455         void,
1456         SBPlatformConnectOptions, operator=,(
1457                                       const lldb::SBPlatformConnectOptions &));
1458     LLDB_REGISTER_METHOD(const char *, SBPlatformConnectOptions, GetURL, ());
1459     LLDB_REGISTER_METHOD(void, SBPlatformConnectOptions, SetURL,
1460                          (const char *));
1461     LLDB_REGISTER_METHOD(bool, SBPlatformConnectOptions, GetRsyncEnabled, ());
1462     LLDB_REGISTER_METHOD(void, SBPlatformConnectOptions, EnableRsync,
1463                          (const char *, const char *, bool));
1464     LLDB_REGISTER_METHOD(void, SBPlatformConnectOptions, DisableRsync, ());
1465     LLDB_REGISTER_METHOD(const char *, SBPlatformConnectOptions,
1466                          GetLocalCacheDirectory, ());
1467     LLDB_REGISTER_METHOD(void, SBPlatformConnectOptions, SetLocalCacheDirectory,
1468                          (const char *));
1469     LLDB_REGISTER_CONSTRUCTOR(SBPlatformShellCommand, (const char *));
1470     LLDB_REGISTER_CONSTRUCTOR(SBPlatformShellCommand,
1471                               (const lldb::SBPlatformShellCommand &));
1472     LLDB_REGISTER_METHOD(void, SBPlatformShellCommand, Clear, ());
1473     LLDB_REGISTER_METHOD(const char *, SBPlatformShellCommand, GetCommand, ());
1474     LLDB_REGISTER_METHOD(void, SBPlatformShellCommand, SetCommand,
1475                          (const char *));
1476     LLDB_REGISTER_METHOD(const char *, SBPlatformShellCommand,
1477                          GetWorkingDirectory, ());
1478     LLDB_REGISTER_METHOD(void, SBPlatformShellCommand, SetWorkingDirectory,
1479                          (const char *));
1480     LLDB_REGISTER_METHOD(uint32_t, SBPlatformShellCommand, GetTimeoutSeconds,
1481                          ());
1482     LLDB_REGISTER_METHOD(void, SBPlatformShellCommand, SetTimeoutSeconds,
1483                          (uint32_t));
1484     LLDB_REGISTER_METHOD(int, SBPlatformShellCommand, GetSignal, ());
1485     LLDB_REGISTER_METHOD(int, SBPlatformShellCommand, GetStatus, ());
1486     LLDB_REGISTER_METHOD(const char *, SBPlatformShellCommand, GetOutput, ());
1487     LLDB_REGISTER_CONSTRUCTOR(SBPlatform, ());
1488     LLDB_REGISTER_CONSTRUCTOR(SBPlatform, (const char *));
1489     LLDB_REGISTER_METHOD_CONST(bool, SBPlatform, IsValid, ());
1490     LLDB_REGISTER_METHOD(void, SBPlatform, Clear, ());
1491     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetName, ());
1492     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetWorkingDirectory, ());
1493     LLDB_REGISTER_METHOD(bool, SBPlatform, SetWorkingDirectory, (const char *));
1494     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, ConnectRemote,
1495                          (lldb::SBPlatformConnectOptions &));
1496     LLDB_REGISTER_METHOD(void, SBPlatform, DisconnectRemote, ());
1497     LLDB_REGISTER_METHOD(bool, SBPlatform, IsConnected, ());
1498     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetTriple, ());
1499     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetOSBuild, ());
1500     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetOSDescription, ());
1501     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetHostname, ());
1502     LLDB_REGISTER_METHOD(uint32_t, SBPlatform, GetOSMajorVersion, ());
1503     LLDB_REGISTER_METHOD(uint32_t, SBPlatform, GetOSMinorVersion, ());
1504     LLDB_REGISTER_METHOD(uint32_t, SBPlatform, GetOSUpdateVersion, ());
1505     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Get,
1506                          (lldb::SBFileSpec &, lldb::SBFileSpec &));
1507     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Put,
1508                          (lldb::SBFileSpec &, lldb::SBFileSpec &));
1509     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Install,
1510                          (lldb::SBFileSpec &, lldb::SBFileSpec &));
1511     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Run,
1512                          (lldb::SBPlatformShellCommand &));
1513     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Launch,
1514                          (lldb::SBLaunchInfo &));
1515     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Kill, (const lldb::pid_t));
1516     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, MakeDirectory,
1517                          (const char *, uint32_t));
1518     LLDB_REGISTER_METHOD(uint32_t, SBPlatform, GetFilePermissions,
1519                          (const char *));
1520     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, SetFilePermissions,
1521                          (const char *, uint32_t));
1522     LLDB_REGISTER_METHOD_CONST(lldb::SBUnixSignals, SBPlatform, GetUnixSignals,
1523                                ());
1524   }
1525   {
1526     LLDB_REGISTER_CONSTRUCTOR(SBProcess, ());
1527     LLDB_REGISTER_CONSTRUCTOR(SBProcess, (const lldb::SBProcess &));
1528     LLDB_REGISTER_CONSTRUCTOR(SBProcess, (const lldb::ProcessSP &));
1529     LLDB_REGISTER_METHOD(const lldb::SBProcess &,
1530                          SBProcess, operator=,(const lldb::SBProcess &));
1531     LLDB_REGISTER_STATIC_METHOD(const char *, SBProcess,
1532                                 GetBroadcasterClassName, ());
1533     LLDB_REGISTER_METHOD(const char *, SBProcess, GetPluginName, ());
1534     LLDB_REGISTER_METHOD(const char *, SBProcess, GetShortPluginName, ());
1535     LLDB_REGISTER_METHOD(void, SBProcess, Clear, ());
1536     LLDB_REGISTER_METHOD_CONST(bool, SBProcess, IsValid, ());
1537     LLDB_REGISTER_METHOD(bool, SBProcess, RemoteLaunch,
1538                          (const char **, const char **, const char *,
1539                           const char *, const char *, const char *, uint32_t,
1540                           bool, lldb::SBError &));
1541     LLDB_REGISTER_METHOD(bool, SBProcess, RemoteAttachToProcessWithID,
1542                          (lldb::pid_t, lldb::SBError &));
1543     LLDB_REGISTER_METHOD(uint32_t, SBProcess, GetNumThreads, ());
1544     LLDB_REGISTER_METHOD_CONST(lldb::SBThread, SBProcess, GetSelectedThread,
1545                                ());
1546     LLDB_REGISTER_METHOD(lldb::SBThread, SBProcess, CreateOSPluginThread,
1547                          (lldb::tid_t, lldb::addr_t));
1548     LLDB_REGISTER_METHOD_CONST(lldb::SBTarget, SBProcess, GetTarget, ());
1549     LLDB_REGISTER_METHOD(size_t, SBProcess, PutSTDIN, (const char *, size_t));
1550     LLDB_REGISTER_METHOD_CONST(size_t, SBProcess, GetSTDOUT, (char *, size_t));
1551     LLDB_REGISTER_METHOD_CONST(size_t, SBProcess, GetSTDERR, (char *, size_t));
1552     LLDB_REGISTER_METHOD_CONST(size_t, SBProcess, GetAsyncProfileData,
1553                                (char *, size_t));
1554     LLDB_REGISTER_METHOD(lldb::SBTrace, SBProcess, StartTrace,
1555                          (lldb::SBTraceOptions &, lldb::SBError &));
1556     LLDB_REGISTER_METHOD_CONST(void, SBProcess, ReportEventState,
1557                                (const lldb::SBEvent &, FILE *));
1558     LLDB_REGISTER_METHOD(
1559         void, SBProcess, AppendEventStateReport,
1560         (const lldb::SBEvent &, lldb::SBCommandReturnObject &));
1561     LLDB_REGISTER_METHOD(bool, SBProcess, SetSelectedThread,
1562                          (const lldb::SBThread &));
1563     LLDB_REGISTER_METHOD(bool, SBProcess, SetSelectedThreadByID, (lldb::tid_t));
1564     LLDB_REGISTER_METHOD(bool, SBProcess, SetSelectedThreadByIndexID,
1565                          (uint32_t));
1566     LLDB_REGISTER_METHOD(lldb::SBThread, SBProcess, GetThreadAtIndex, (size_t));
1567     LLDB_REGISTER_METHOD(uint32_t, SBProcess, GetNumQueues, ());
1568     LLDB_REGISTER_METHOD(lldb::SBQueue, SBProcess, GetQueueAtIndex, (size_t));
1569     LLDB_REGISTER_METHOD(uint32_t, SBProcess, GetStopID, (bool));
1570     LLDB_REGISTER_METHOD(lldb::SBEvent, SBProcess, GetStopEventForStopID,
1571                          (uint32_t));
1572     LLDB_REGISTER_METHOD(lldb::StateType, SBProcess, GetState, ());
1573     LLDB_REGISTER_METHOD(int, SBProcess, GetExitStatus, ());
1574     LLDB_REGISTER_METHOD(const char *, SBProcess, GetExitDescription, ());
1575     LLDB_REGISTER_METHOD(lldb::pid_t, SBProcess, GetProcessID, ());
1576     LLDB_REGISTER_METHOD(uint32_t, SBProcess, GetUniqueID, ());
1577     LLDB_REGISTER_METHOD_CONST(lldb::ByteOrder, SBProcess, GetByteOrder, ());
1578     LLDB_REGISTER_METHOD_CONST(uint32_t, SBProcess, GetAddressByteSize, ());
1579     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Continue, ());
1580     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Destroy, ());
1581     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Stop, ());
1582     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Kill, ());
1583     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Detach, ());
1584     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Detach, (bool));
1585     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Signal, (int));
1586     LLDB_REGISTER_METHOD(lldb::SBUnixSignals, SBProcess, GetUnixSignals, ());
1587     LLDB_REGISTER_METHOD(void, SBProcess, SendAsyncInterrupt, ());
1588     LLDB_REGISTER_METHOD(lldb::SBThread, SBProcess, GetThreadByID,
1589                          (lldb::tid_t));
1590     LLDB_REGISTER_METHOD(lldb::SBThread, SBProcess, GetThreadByIndexID,
1591                          (uint32_t));
1592     LLDB_REGISTER_STATIC_METHOD(lldb::StateType, SBProcess, GetStateFromEvent,
1593                                 (const lldb::SBEvent &));
1594     LLDB_REGISTER_STATIC_METHOD(bool, SBProcess, GetRestartedFromEvent,
1595                                 (const lldb::SBEvent &));
1596     LLDB_REGISTER_STATIC_METHOD(size_t, SBProcess,
1597                                 GetNumRestartedReasonsFromEvent,
1598                                 (const lldb::SBEvent &));
1599     LLDB_REGISTER_STATIC_METHOD(const char *, SBProcess,
1600                                 GetRestartedReasonAtIndexFromEvent,
1601                                 (const lldb::SBEvent &, size_t));
1602     LLDB_REGISTER_STATIC_METHOD(lldb::SBProcess, SBProcess, GetProcessFromEvent,
1603                                 (const lldb::SBEvent &));
1604     LLDB_REGISTER_STATIC_METHOD(bool, SBProcess, GetInterruptedFromEvent,
1605                                 (const lldb::SBEvent &));
1606     LLDB_REGISTER_STATIC_METHOD(lldb::SBStructuredData, SBProcess,
1607                                 GetStructuredDataFromEvent,
1608                                 (const lldb::SBEvent &));
1609     LLDB_REGISTER_STATIC_METHOD(bool, SBProcess, EventIsProcessEvent,
1610                                 (const lldb::SBEvent &));
1611     LLDB_REGISTER_STATIC_METHOD(bool, SBProcess, EventIsStructuredDataEvent,
1612                                 (const lldb::SBEvent &));
1613     LLDB_REGISTER_METHOD_CONST(lldb::SBBroadcaster, SBProcess, GetBroadcaster,
1614                                ());
1615     LLDB_REGISTER_STATIC_METHOD(const char *, SBProcess, GetBroadcasterClass,
1616                                 ());
1617     LLDB_REGISTER_METHOD(uint64_t, SBProcess, ReadUnsignedFromMemory,
1618                          (lldb::addr_t, uint32_t, lldb::SBError &));
1619     LLDB_REGISTER_METHOD(lldb::addr_t, SBProcess, ReadPointerFromMemory,
1620                          (lldb::addr_t, lldb::SBError &));
1621     LLDB_REGISTER_METHOD(bool, SBProcess, GetDescription, (lldb::SBStream &));
1622     LLDB_REGISTER_METHOD_CONST(uint32_t, SBProcess,
1623                                GetNumSupportedHardwareWatchpoints,
1624                                (lldb::SBError &));
1625     LLDB_REGISTER_METHOD(uint32_t, SBProcess, LoadImage,
1626                          (lldb::SBFileSpec &, lldb::SBError &));
1627     LLDB_REGISTER_METHOD(
1628         uint32_t, SBProcess, LoadImage,
1629         (const lldb::SBFileSpec &, const lldb::SBFileSpec &, lldb::SBError &));
1630     LLDB_REGISTER_METHOD(uint32_t, SBProcess, LoadImageUsingPaths,
1631                          (const lldb::SBFileSpec &, lldb::SBStringList &,
1632                           lldb::SBFileSpec &, lldb::SBError &));
1633     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, UnloadImage, (uint32_t));
1634     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, SendEventData,
1635                          (const char *));
1636     LLDB_REGISTER_METHOD(uint32_t, SBProcess, GetNumExtendedBacktraceTypes, ());
1637     LLDB_REGISTER_METHOD(const char *, SBProcess,
1638                          GetExtendedBacktraceTypeAtIndex, (uint32_t));
1639     LLDB_REGISTER_METHOD(lldb::SBThreadCollection, SBProcess, GetHistoryThreads,
1640                          (lldb::addr_t));
1641     LLDB_REGISTER_METHOD(bool, SBProcess, IsInstrumentationRuntimePresent,
1642                          (lldb::InstrumentationRuntimeType));
1643     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, SaveCore, (const char *));
1644     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, GetMemoryRegionInfo,
1645                          (lldb::addr_t, lldb::SBMemoryRegionInfo &));
1646     LLDB_REGISTER_METHOD(lldb::SBMemoryRegionInfoList, SBProcess,
1647                          GetMemoryRegions, ());
1648     LLDB_REGISTER_METHOD(lldb::SBProcessInfo, SBProcess, GetProcessInfo, ());
1649   }
1650   {
1651     LLDB_REGISTER_CONSTRUCTOR(SBProcessInfo, ());
1652     LLDB_REGISTER_CONSTRUCTOR(SBProcessInfo, (const lldb::SBProcessInfo &));
1653     LLDB_REGISTER_METHOD(
1654         lldb::SBProcessInfo &,
1655         SBProcessInfo, operator=,(const lldb::SBProcessInfo &));
1656     LLDB_REGISTER_METHOD_CONST(bool, SBProcessInfo, IsValid, ());
1657     LLDB_REGISTER_METHOD(const char *, SBProcessInfo, GetName, ());
1658     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBProcessInfo, GetExecutableFile,
1659                          ());
1660     LLDB_REGISTER_METHOD(lldb::pid_t, SBProcessInfo, GetProcessID, ());
1661     LLDB_REGISTER_METHOD(uint32_t, SBProcessInfo, GetUserID, ());
1662     LLDB_REGISTER_METHOD(uint32_t, SBProcessInfo, GetGroupID, ());
1663     LLDB_REGISTER_METHOD(bool, SBProcessInfo, UserIDIsValid, ());
1664     LLDB_REGISTER_METHOD(bool, SBProcessInfo, GroupIDIsValid, ());
1665     LLDB_REGISTER_METHOD(uint32_t, SBProcessInfo, GetEffectiveUserID, ());
1666     LLDB_REGISTER_METHOD(uint32_t, SBProcessInfo, GetEffectiveGroupID, ());
1667     LLDB_REGISTER_METHOD(bool, SBProcessInfo, EffectiveUserIDIsValid, ());
1668     LLDB_REGISTER_METHOD(bool, SBProcessInfo, EffectiveGroupIDIsValid, ());
1669     LLDB_REGISTER_METHOD(lldb::pid_t, SBProcessInfo, GetParentProcessID, ());
1670   }
1671   {
1672     LLDB_REGISTER_CONSTRUCTOR(SBQueue, ());
1673     LLDB_REGISTER_CONSTRUCTOR(SBQueue, (const lldb::QueueSP &));
1674     LLDB_REGISTER_CONSTRUCTOR(SBQueue, (const lldb::SBQueue &));
1675     LLDB_REGISTER_METHOD(const lldb::SBQueue &,
1676                          SBQueue, operator=,(const lldb::SBQueue &));
1677     LLDB_REGISTER_METHOD_CONST(bool, SBQueue, IsValid, ());
1678     LLDB_REGISTER_METHOD(void, SBQueue, Clear, ());
1679     LLDB_REGISTER_METHOD_CONST(lldb::queue_id_t, SBQueue, GetQueueID, ());
1680     LLDB_REGISTER_METHOD_CONST(uint32_t, SBQueue, GetIndexID, ());
1681     LLDB_REGISTER_METHOD_CONST(const char *, SBQueue, GetName, ());
1682     LLDB_REGISTER_METHOD(uint32_t, SBQueue, GetNumThreads, ());
1683     LLDB_REGISTER_METHOD(lldb::SBThread, SBQueue, GetThreadAtIndex, (uint32_t));
1684     LLDB_REGISTER_METHOD(uint32_t, SBQueue, GetNumPendingItems, ());
1685     LLDB_REGISTER_METHOD(lldb::SBQueueItem, SBQueue, GetPendingItemAtIndex,
1686                          (uint32_t));
1687     LLDB_REGISTER_METHOD(uint32_t, SBQueue, GetNumRunningItems, ());
1688     LLDB_REGISTER_METHOD(lldb::SBProcess, SBQueue, GetProcess, ());
1689     LLDB_REGISTER_METHOD(lldb::QueueKind, SBQueue, GetKind, ());
1690   }
1691   {
1692     LLDB_REGISTER_CONSTRUCTOR(SBQueueItem, ());
1693     LLDB_REGISTER_CONSTRUCTOR(SBQueueItem, (const lldb::QueueItemSP &));
1694     LLDB_REGISTER_METHOD_CONST(bool, SBQueueItem, IsValid, ());
1695     LLDB_REGISTER_METHOD(void, SBQueueItem, Clear, ());
1696     LLDB_REGISTER_METHOD(void, SBQueueItem, SetQueueItem,
1697                          (const lldb::QueueItemSP &));
1698     LLDB_REGISTER_METHOD_CONST(lldb::QueueItemKind, SBQueueItem, GetKind, ());
1699     LLDB_REGISTER_METHOD(void, SBQueueItem, SetKind, (lldb::QueueItemKind));
1700     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBQueueItem, GetAddress, ());
1701     LLDB_REGISTER_METHOD(void, SBQueueItem, SetAddress, (lldb::SBAddress));
1702     LLDB_REGISTER_METHOD(lldb::SBThread, SBQueueItem,
1703                          GetExtendedBacktraceThread, (const char *));
1704   }
1705   {
1706     LLDB_REGISTER_CONSTRUCTOR(SBSection, ());
1707     LLDB_REGISTER_CONSTRUCTOR(SBSection, (const lldb::SBSection &));
1708     LLDB_REGISTER_METHOD(const lldb::SBSection &,
1709                          SBSection, operator=,(const lldb::SBSection &));
1710     LLDB_REGISTER_METHOD_CONST(bool, SBSection, IsValid, ());
1711     LLDB_REGISTER_METHOD(const char *, SBSection, GetName, ());
1712     LLDB_REGISTER_METHOD(lldb::SBSection, SBSection, GetParent, ());
1713     LLDB_REGISTER_METHOD(lldb::SBSection, SBSection, FindSubSection,
1714                          (const char *));
1715     LLDB_REGISTER_METHOD(size_t, SBSection, GetNumSubSections, ());
1716     LLDB_REGISTER_METHOD(lldb::SBSection, SBSection, GetSubSectionAtIndex,
1717                          (size_t));
1718     LLDB_REGISTER_METHOD(lldb::addr_t, SBSection, GetFileAddress, ());
1719     LLDB_REGISTER_METHOD(lldb::addr_t, SBSection, GetLoadAddress,
1720                          (lldb::SBTarget &));
1721     LLDB_REGISTER_METHOD(lldb::addr_t, SBSection, GetByteSize, ());
1722     LLDB_REGISTER_METHOD(uint64_t, SBSection, GetFileOffset, ());
1723     LLDB_REGISTER_METHOD(uint64_t, SBSection, GetFileByteSize, ());
1724     LLDB_REGISTER_METHOD(lldb::SBData, SBSection, GetSectionData, ());
1725     LLDB_REGISTER_METHOD(lldb::SBData, SBSection, GetSectionData,
1726                          (uint64_t, uint64_t));
1727     LLDB_REGISTER_METHOD(lldb::SectionType, SBSection, GetSectionType, ());
1728     LLDB_REGISTER_METHOD_CONST(uint32_t, SBSection, GetPermissions, ());
1729     LLDB_REGISTER_METHOD(uint32_t, SBSection, GetTargetByteSize, ());
1730     LLDB_REGISTER_METHOD(bool, SBSection, operator==,(const lldb::SBSection &));
1731     LLDB_REGISTER_METHOD(bool, SBSection, operator!=,(const lldb::SBSection &));
1732     LLDB_REGISTER_METHOD(bool, SBSection, GetDescription, (lldb::SBStream &));
1733   }
1734   {
1735     LLDB_REGISTER_CONSTRUCTOR(SBSourceManager, (const lldb::SBDebugger &));
1736     LLDB_REGISTER_CONSTRUCTOR(SBSourceManager, (const lldb::SBTarget &));
1737     LLDB_REGISTER_CONSTRUCTOR(SBSourceManager, (const lldb::SBSourceManager &));
1738     LLDB_REGISTER_METHOD(
1739         const lldb::SBSourceManager &,
1740         SBSourceManager, operator=,(const lldb::SBSourceManager &));
1741     LLDB_REGISTER_METHOD(size_t, SBSourceManager,
1742                          DisplaySourceLinesWithLineNumbers,
1743                          (const lldb::SBFileSpec &, uint32_t, uint32_t,
1744                           uint32_t, const char *, lldb::SBStream &));
1745     LLDB_REGISTER_METHOD(size_t, SBSourceManager,
1746                          DisplaySourceLinesWithLineNumbersAndColumn,
1747                          (const lldb::SBFileSpec &, uint32_t, uint32_t,
1748                           uint32_t, uint32_t, const char *, lldb::SBStream &));
1749   }
1750   {
1751     LLDB_REGISTER_CONSTRUCTOR(SBStream, ());
1752     LLDB_REGISTER_METHOD_CONST(bool, SBStream, IsValid, ());
1753     LLDB_REGISTER_METHOD(const char *, SBStream, GetData, ());
1754     LLDB_REGISTER_METHOD(size_t, SBStream, GetSize, ());
1755     LLDB_REGISTER_METHOD(void, SBStream, RedirectToFile, (const char *, bool));
1756     LLDB_REGISTER_METHOD(void, SBStream, RedirectToFileHandle, (FILE *, bool));
1757     LLDB_REGISTER_METHOD(void, SBStream, RedirectToFileDescriptor, (int, bool));
1758     LLDB_REGISTER_METHOD(void, SBStream, Clear, ());
1759   }
1760   {
1761     LLDB_REGISTER_CONSTRUCTOR(SBStringList, ());
1762     LLDB_REGISTER_CONSTRUCTOR(SBStringList, (const lldb::SBStringList &));
1763     LLDB_REGISTER_METHOD(const lldb::SBStringList &,
1764                          SBStringList, operator=,(const lldb::SBStringList &));
1765     LLDB_REGISTER_METHOD_CONST(bool, SBStringList, IsValid, ());
1766     LLDB_REGISTER_METHOD(void, SBStringList, AppendString, (const char *));
1767     LLDB_REGISTER_METHOD(void, SBStringList, AppendList, (const char **, int));
1768     LLDB_REGISTER_METHOD(void, SBStringList, AppendList,
1769                          (const lldb::SBStringList &));
1770     LLDB_REGISTER_METHOD_CONST(uint32_t, SBStringList, GetSize, ());
1771     LLDB_REGISTER_METHOD(const char *, SBStringList, GetStringAtIndex,
1772                          (size_t));
1773     LLDB_REGISTER_METHOD_CONST(const char *, SBStringList, GetStringAtIndex,
1774                                (size_t));
1775     LLDB_REGISTER_METHOD(void, SBStringList, Clear, ());
1776   }
1777   {
1778     LLDB_REGISTER_CONSTRUCTOR(SBStructuredData, ());
1779     LLDB_REGISTER_CONSTRUCTOR(SBStructuredData,
1780                               (const lldb::SBStructuredData &));
1781     LLDB_REGISTER_CONSTRUCTOR(SBStructuredData, (const lldb::EventSP &));
1782     LLDB_REGISTER_CONSTRUCTOR(SBStructuredData,
1783                               (lldb_private::StructuredDataImpl *));
1784     LLDB_REGISTER_METHOD(
1785         lldb::SBStructuredData &,
1786         SBStructuredData, operator=,(const lldb::SBStructuredData &));
1787     LLDB_REGISTER_METHOD(lldb::SBError, SBStructuredData, SetFromJSON,
1788                          (lldb::SBStream &));
1789     LLDB_REGISTER_METHOD_CONST(bool, SBStructuredData, IsValid, ());
1790     LLDB_REGISTER_METHOD(void, SBStructuredData, Clear, ());
1791     LLDB_REGISTER_METHOD_CONST(lldb::SBError, SBStructuredData, GetAsJSON,
1792                                (lldb::SBStream &));
1793     LLDB_REGISTER_METHOD_CONST(lldb::SBError, SBStructuredData, GetDescription,
1794                                (lldb::SBStream &));
1795     LLDB_REGISTER_METHOD_CONST(lldb::StructuredDataType, SBStructuredData,
1796                                GetType, ());
1797     LLDB_REGISTER_METHOD_CONST(size_t, SBStructuredData, GetSize, ());
1798     LLDB_REGISTER_METHOD_CONST(bool, SBStructuredData, GetKeys,
1799                                (lldb::SBStringList &));
1800     LLDB_REGISTER_METHOD_CONST(lldb::SBStructuredData, SBStructuredData,
1801                                GetValueForKey, (const char *));
1802     LLDB_REGISTER_METHOD_CONST(lldb::SBStructuredData, SBStructuredData,
1803                                GetItemAtIndex, (size_t));
1804     LLDB_REGISTER_METHOD_CONST(uint64_t, SBStructuredData, GetIntegerValue,
1805                                (uint64_t));
1806     LLDB_REGISTER_METHOD_CONST(double, SBStructuredData, GetFloatValue,
1807                                (double));
1808     LLDB_REGISTER_METHOD_CONST(bool, SBStructuredData, GetBooleanValue, (bool));
1809     LLDB_REGISTER_METHOD_CONST(size_t, SBStructuredData, GetStringValue,
1810                                (char *, size_t));
1811   }
1812   {
1813     LLDB_REGISTER_CONSTRUCTOR(SBSymbol, ());
1814     LLDB_REGISTER_CONSTRUCTOR(SBSymbol, (const lldb::SBSymbol &));
1815     LLDB_REGISTER_METHOD(const lldb::SBSymbol &,
1816                          SBSymbol, operator=,(const lldb::SBSymbol &));
1817     LLDB_REGISTER_METHOD_CONST(bool, SBSymbol, IsValid, ());
1818     LLDB_REGISTER_METHOD_CONST(const char *, SBSymbol, GetName, ());
1819     LLDB_REGISTER_METHOD_CONST(const char *, SBSymbol, GetDisplayName, ());
1820     LLDB_REGISTER_METHOD_CONST(const char *, SBSymbol, GetMangledName, ());
1821     LLDB_REGISTER_METHOD_CONST(bool,
1822                                SBSymbol, operator==,(const lldb::SBSymbol &));
1823     LLDB_REGISTER_METHOD_CONST(bool,
1824                                SBSymbol, operator!=,(const lldb::SBSymbol &));
1825     LLDB_REGISTER_METHOD(bool, SBSymbol, GetDescription, (lldb::SBStream &));
1826     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBSymbol, GetInstructions,
1827                          (lldb::SBTarget));
1828     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBSymbol, GetInstructions,
1829                          (lldb::SBTarget, const char *));
1830     LLDB_REGISTER_METHOD(lldb::SBAddress, SBSymbol, GetStartAddress, ());
1831     LLDB_REGISTER_METHOD(lldb::SBAddress, SBSymbol, GetEndAddress, ());
1832     LLDB_REGISTER_METHOD(uint32_t, SBSymbol, GetPrologueByteSize, ());
1833     LLDB_REGISTER_METHOD(lldb::SymbolType, SBSymbol, GetType, ());
1834     LLDB_REGISTER_METHOD(bool, SBSymbol, IsExternal, ());
1835     LLDB_REGISTER_METHOD(bool, SBSymbol, IsSynthetic, ());
1836   }
1837   {
1838     LLDB_REGISTER_CONSTRUCTOR(SBSymbolContext, ());
1839     LLDB_REGISTER_CONSTRUCTOR(SBSymbolContext,
1840                               (const lldb_private::SymbolContext *));
1841     LLDB_REGISTER_CONSTRUCTOR(SBSymbolContext, (const lldb::SBSymbolContext &));
1842     LLDB_REGISTER_METHOD(
1843         const lldb::SBSymbolContext &,
1844         SBSymbolContext, operator=,(const lldb::SBSymbolContext &));
1845     LLDB_REGISTER_METHOD_CONST(bool, SBSymbolContext, IsValid, ());
1846     LLDB_REGISTER_METHOD(lldb::SBModule, SBSymbolContext, GetModule, ());
1847     LLDB_REGISTER_METHOD(lldb::SBCompileUnit, SBSymbolContext, GetCompileUnit,
1848                          ());
1849     LLDB_REGISTER_METHOD(lldb::SBFunction, SBSymbolContext, GetFunction, ());
1850     LLDB_REGISTER_METHOD(lldb::SBBlock, SBSymbolContext, GetBlock, ());
1851     LLDB_REGISTER_METHOD(lldb::SBLineEntry, SBSymbolContext, GetLineEntry, ());
1852     LLDB_REGISTER_METHOD(lldb::SBSymbol, SBSymbolContext, GetSymbol, ());
1853     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetModule, (lldb::SBModule));
1854     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetCompileUnit,
1855                          (lldb::SBCompileUnit));
1856     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetFunction,
1857                          (lldb::SBFunction));
1858     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetBlock, (lldb::SBBlock));
1859     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetLineEntry,
1860                          (lldb::SBLineEntry));
1861     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetSymbol, (lldb::SBSymbol));
1862     LLDB_REGISTER_METHOD(bool, SBSymbolContext, GetDescription,
1863                          (lldb::SBStream &));
1864     LLDB_REGISTER_METHOD_CONST(lldb::SBSymbolContext, SBSymbolContext,
1865                                GetParentOfInlinedScope,
1866                                (const lldb::SBAddress &, lldb::SBAddress &));
1867   }
1868   {
1869     LLDB_REGISTER_CONSTRUCTOR(SBSymbolContextList, ());
1870     LLDB_REGISTER_CONSTRUCTOR(SBSymbolContextList,
1871                               (const lldb::SBSymbolContextList &));
1872     LLDB_REGISTER_METHOD(
1873         const lldb::SBSymbolContextList &,
1874         SBSymbolContextList, operator=,(const lldb::SBSymbolContextList &));
1875     LLDB_REGISTER_METHOD_CONST(uint32_t, SBSymbolContextList, GetSize, ());
1876     LLDB_REGISTER_METHOD(lldb::SBSymbolContext, SBSymbolContextList,
1877                          GetContextAtIndex, (uint32_t));
1878     LLDB_REGISTER_METHOD(void, SBSymbolContextList, Clear, ());
1879     LLDB_REGISTER_METHOD(void, SBSymbolContextList, Append,
1880                          (lldb::SBSymbolContext &));
1881     LLDB_REGISTER_METHOD(void, SBSymbolContextList, Append,
1882                          (lldb::SBSymbolContextList &));
1883     LLDB_REGISTER_METHOD_CONST(bool, SBSymbolContextList, IsValid, ());
1884     LLDB_REGISTER_METHOD(bool, SBSymbolContextList, GetDescription,
1885                          (lldb::SBStream &));
1886   }
1887   {
1888     LLDB_REGISTER_CONSTRUCTOR(SBTarget, ());
1889     LLDB_REGISTER_CONSTRUCTOR(SBTarget, (const lldb::SBTarget &));
1890     LLDB_REGISTER_CONSTRUCTOR(SBTarget, (const lldb::TargetSP &));
1891     LLDB_REGISTER_METHOD(const lldb::SBTarget &,
1892                          SBTarget, operator=,(const lldb::SBTarget &));
1893     LLDB_REGISTER_STATIC_METHOD(bool, SBTarget, EventIsTargetEvent,
1894                                 (const lldb::SBEvent &));
1895     LLDB_REGISTER_STATIC_METHOD(lldb::SBTarget, SBTarget, GetTargetFromEvent,
1896                                 (const lldb::SBEvent &));
1897     LLDB_REGISTER_STATIC_METHOD(uint32_t, SBTarget, GetNumModulesFromEvent,
1898                                 (const lldb::SBEvent &));
1899     LLDB_REGISTER_STATIC_METHOD(lldb::SBModule, SBTarget,
1900                                 GetModuleAtIndexFromEvent,
1901                                 (const uint32_t, const lldb::SBEvent &));
1902     LLDB_REGISTER_STATIC_METHOD(const char *, SBTarget, GetBroadcasterClassName,
1903                                 ());
1904     LLDB_REGISTER_METHOD_CONST(bool, SBTarget, IsValid, ());
1905     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, GetProcess, ());
1906     LLDB_REGISTER_METHOD(lldb::SBPlatform, SBTarget, GetPlatform, ());
1907     LLDB_REGISTER_METHOD_CONST(lldb::SBDebugger, SBTarget, GetDebugger, ());
1908     LLDB_REGISTER_METHOD(lldb::SBStructuredData, SBTarget, GetStatistics, ());
1909     LLDB_REGISTER_METHOD(void, SBTarget, SetCollectingStats, (bool));
1910     LLDB_REGISTER_METHOD(bool, SBTarget, GetCollectingStats, ());
1911     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, LoadCore, (const char *));
1912     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, LoadCore,
1913                          (const char *, lldb::SBError &));
1914     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, LaunchSimple,
1915                          (const char **, const char **, const char *));
1916     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, Install, ());
1917     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, Launch,
1918                          (lldb::SBListener &, const char **, const char **,
1919                           const char *, const char *, const char *,
1920                           const char *, uint32_t, bool, lldb::SBError &));
1921     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, Launch,
1922                          (lldb::SBLaunchInfo &, lldb::SBError &));
1923     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, Attach,
1924                          (lldb::SBAttachInfo &, lldb::SBError &));
1925     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, AttachToProcessWithID,
1926                          (lldb::SBListener &, lldb::pid_t, lldb::SBError &));
1927     LLDB_REGISTER_METHOD(
1928         lldb::SBProcess, SBTarget, AttachToProcessWithName,
1929         (lldb::SBListener &, const char *, bool, lldb::SBError &));
1930     LLDB_REGISTER_METHOD(
1931         lldb::SBProcess, SBTarget, ConnectRemote,
1932         (lldb::SBListener &, const char *, const char *, lldb::SBError &));
1933     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBTarget, GetExecutable, ());
1934     LLDB_REGISTER_METHOD_CONST(bool,
1935                                SBTarget, operator==,(const lldb::SBTarget &));
1936     LLDB_REGISTER_METHOD_CONST(bool,
1937                                SBTarget, operator!=,(const lldb::SBTarget &));
1938     LLDB_REGISTER_METHOD(lldb::SBAddress, SBTarget, ResolveLoadAddress,
1939                          (lldb::addr_t));
1940     LLDB_REGISTER_METHOD(lldb::SBAddress, SBTarget, ResolveFileAddress,
1941                          (lldb::addr_t));
1942     LLDB_REGISTER_METHOD(lldb::SBAddress, SBTarget, ResolvePastLoadAddress,
1943                          (uint32_t, lldb::addr_t));
1944     LLDB_REGISTER_METHOD(lldb::SBSymbolContext, SBTarget,
1945                          ResolveSymbolContextForAddress,
1946                          (const lldb::SBAddress &, uint32_t));
1947     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1948                          BreakpointCreateByLocation, (const char *, uint32_t));
1949     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1950                          BreakpointCreateByLocation,
1951                          (const lldb::SBFileSpec &, uint32_t));
1952     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1953                          BreakpointCreateByLocation,
1954                          (const lldb::SBFileSpec &, uint32_t, lldb::addr_t));
1955     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1956                          BreakpointCreateByLocation,
1957                          (const lldb::SBFileSpec &, uint32_t, lldb::addr_t,
1958                           lldb::SBFileSpecList &));
1959     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1960                          BreakpointCreateByLocation,
1961                          (const lldb::SBFileSpec &, uint32_t, uint32_t,
1962                           lldb::addr_t, lldb::SBFileSpecList &));
1963     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByName,
1964                          (const char *, const char *));
1965     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByName,
1966                          (const char *, const lldb::SBFileSpecList &,
1967                           const lldb::SBFileSpecList &));
1968     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByName,
1969                          (const char *, uint32_t, const lldb::SBFileSpecList &,
1970                           const lldb::SBFileSpecList &));
1971     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByName,
1972                          (const char *, uint32_t, lldb::LanguageType,
1973                           const lldb::SBFileSpecList &,
1974                           const lldb::SBFileSpecList &));
1975     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByNames,
1976                          (const char **, uint32_t, uint32_t,
1977                           const lldb::SBFileSpecList &,
1978                           const lldb::SBFileSpecList &));
1979     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByNames,
1980                          (const char **, uint32_t, uint32_t, lldb::LanguageType,
1981                           const lldb::SBFileSpecList &,
1982                           const lldb::SBFileSpecList &));
1983     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByNames,
1984                          (const char **, uint32_t, uint32_t, lldb::LanguageType,
1985                           lldb::addr_t, const lldb::SBFileSpecList &,
1986                           const lldb::SBFileSpecList &));
1987     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByRegex,
1988                          (const char *, const char *));
1989     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByRegex,
1990                          (const char *, const lldb::SBFileSpecList &,
1991                           const lldb::SBFileSpecList &));
1992     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByRegex,
1993                          (const char *, lldb::LanguageType,
1994                           const lldb::SBFileSpecList &,
1995                           const lldb::SBFileSpecList &));
1996     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1997                          BreakpointCreateByAddress, (lldb::addr_t));
1998     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1999                          BreakpointCreateBySBAddress, (lldb::SBAddress &));
2000     LLDB_REGISTER_METHOD(
2001         lldb::SBBreakpoint, SBTarget, BreakpointCreateBySourceRegex,
2002         (const char *, const lldb::SBFileSpec &, const char *));
2003     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
2004                          BreakpointCreateBySourceRegex,
2005                          (const char *, const lldb::SBFileSpecList &,
2006                           const lldb::SBFileSpecList &));
2007     LLDB_REGISTER_METHOD(
2008         lldb::SBBreakpoint, SBTarget, BreakpointCreateBySourceRegex,
2009         (const char *, const lldb::SBFileSpecList &,
2010          const lldb::SBFileSpecList &, const lldb::SBStringList &));
2011     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
2012                          BreakpointCreateForException,
2013                          (lldb::LanguageType, bool, bool));
2014     LLDB_REGISTER_METHOD(
2015         lldb::SBBreakpoint, SBTarget, BreakpointCreateFromScript,
2016         (const char *, lldb::SBStructuredData &, const lldb::SBFileSpecList &,
2017          const lldb::SBFileSpecList &, bool));
2018     LLDB_REGISTER_METHOD_CONST(uint32_t, SBTarget, GetNumBreakpoints, ());
2019     LLDB_REGISTER_METHOD_CONST(lldb::SBBreakpoint, SBTarget,
2020                                GetBreakpointAtIndex, (uint32_t));
2021     LLDB_REGISTER_METHOD(bool, SBTarget, BreakpointDelete, (lldb::break_id_t));
2022     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, FindBreakpointByID,
2023                          (lldb::break_id_t));
2024     LLDB_REGISTER_METHOD(bool, SBTarget, FindBreakpointsByName,
2025                          (const char *, lldb::SBBreakpointList &));
2026     LLDB_REGISTER_METHOD(void, SBTarget, GetBreakpointNames,
2027                          (lldb::SBStringList &));
2028     LLDB_REGISTER_METHOD(void, SBTarget, DeleteBreakpointName, (const char *));
2029     LLDB_REGISTER_METHOD(bool, SBTarget, EnableAllBreakpoints, ());
2030     LLDB_REGISTER_METHOD(bool, SBTarget, DisableAllBreakpoints, ());
2031     LLDB_REGISTER_METHOD(bool, SBTarget, DeleteAllBreakpoints, ());
2032     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, BreakpointsCreateFromFile,
2033                          (lldb::SBFileSpec &, lldb::SBBreakpointList &));
2034     LLDB_REGISTER_METHOD(
2035         lldb::SBError, SBTarget, BreakpointsCreateFromFile,
2036         (lldb::SBFileSpec &, lldb::SBStringList &, lldb::SBBreakpointList &));
2037     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, BreakpointsWriteToFile,
2038                          (lldb::SBFileSpec &));
2039     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, BreakpointsWriteToFile,
2040                          (lldb::SBFileSpec &, lldb::SBBreakpointList &, bool));
2041     LLDB_REGISTER_METHOD_CONST(uint32_t, SBTarget, GetNumWatchpoints, ());
2042     LLDB_REGISTER_METHOD_CONST(lldb::SBWatchpoint, SBTarget,
2043                                GetWatchpointAtIndex, (uint32_t));
2044     LLDB_REGISTER_METHOD(bool, SBTarget, DeleteWatchpoint, (lldb::watch_id_t));
2045     LLDB_REGISTER_METHOD(lldb::SBWatchpoint, SBTarget, FindWatchpointByID,
2046                          (lldb::watch_id_t));
2047     LLDB_REGISTER_METHOD(lldb::SBWatchpoint, SBTarget, WatchAddress,
2048                          (lldb::addr_t, size_t, bool, bool, lldb::SBError &));
2049     LLDB_REGISTER_METHOD(bool, SBTarget, EnableAllWatchpoints, ());
2050     LLDB_REGISTER_METHOD(bool, SBTarget, DisableAllWatchpoints, ());
2051     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, CreateValueFromAddress,
2052                          (const char *, lldb::SBAddress, lldb::SBType));
2053     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, CreateValueFromData,
2054                          (const char *, lldb::SBData, lldb::SBType));
2055     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, CreateValueFromExpression,
2056                          (const char *, const char *));
2057     LLDB_REGISTER_METHOD(bool, SBTarget, DeleteAllWatchpoints, ());
2058     LLDB_REGISTER_METHOD(void, SBTarget, AppendImageSearchPath,
2059                          (const char *, const char *, lldb::SBError &));
2060     LLDB_REGISTER_METHOD(lldb::SBModule, SBTarget, AddModule,
2061                          (const char *, const char *, const char *));
2062     LLDB_REGISTER_METHOD(
2063         lldb::SBModule, SBTarget, AddModule,
2064         (const char *, const char *, const char *, const char *));
2065     LLDB_REGISTER_METHOD(lldb::SBModule, SBTarget, AddModule,
2066                          (const lldb::SBModuleSpec &));
2067     LLDB_REGISTER_METHOD(bool, SBTarget, AddModule, (lldb::SBModule &));
2068     LLDB_REGISTER_METHOD_CONST(uint32_t, SBTarget, GetNumModules, ());
2069     LLDB_REGISTER_METHOD(void, SBTarget, Clear, ());
2070     LLDB_REGISTER_METHOD(lldb::SBModule, SBTarget, FindModule,
2071                          (const lldb::SBFileSpec &));
2072     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBTarget, FindCompileUnits,
2073                          (const lldb::SBFileSpec &));
2074     LLDB_REGISTER_METHOD(lldb::ByteOrder, SBTarget, GetByteOrder, ());
2075     LLDB_REGISTER_METHOD(const char *, SBTarget, GetTriple, ());
2076     LLDB_REGISTER_METHOD(uint32_t, SBTarget, GetDataByteSize, ());
2077     LLDB_REGISTER_METHOD(uint32_t, SBTarget, GetCodeByteSize, ());
2078     LLDB_REGISTER_METHOD(uint32_t, SBTarget, GetAddressByteSize, ());
2079     LLDB_REGISTER_METHOD(lldb::SBModule, SBTarget, GetModuleAtIndex,
2080                          (uint32_t));
2081     LLDB_REGISTER_METHOD(bool, SBTarget, RemoveModule, (lldb::SBModule));
2082     LLDB_REGISTER_METHOD_CONST(lldb::SBBroadcaster, SBTarget, GetBroadcaster,
2083                                ());
2084     LLDB_REGISTER_METHOD(bool, SBTarget, GetDescription,
2085                          (lldb::SBStream &, lldb::DescriptionLevel));
2086     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBTarget, FindFunctions,
2087                          (const char *, uint32_t));
2088     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBTarget,
2089                          FindGlobalFunctions,
2090                          (const char *, uint32_t, lldb::MatchType));
2091     LLDB_REGISTER_METHOD(lldb::SBType, SBTarget, FindFirstType, (const char *));
2092     LLDB_REGISTER_METHOD(lldb::SBType, SBTarget, GetBasicType,
2093                          (lldb::BasicType));
2094     LLDB_REGISTER_METHOD(lldb::SBTypeList, SBTarget, FindTypes, (const char *));
2095     LLDB_REGISTER_METHOD(lldb::SBValueList, SBTarget, FindGlobalVariables,
2096                          (const char *, uint32_t));
2097     LLDB_REGISTER_METHOD(lldb::SBValueList, SBTarget, FindGlobalVariables,
2098                          (const char *, uint32_t, lldb::MatchType));
2099     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, FindFirstGlobalVariable,
2100                          (const char *));
2101     LLDB_REGISTER_METHOD(lldb::SBSourceManager, SBTarget, GetSourceManager, ());
2102     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBTarget, ReadInstructions,
2103                          (lldb::SBAddress, uint32_t));
2104     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBTarget, ReadInstructions,
2105                          (lldb::SBAddress, uint32_t, const char *));
2106     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, SetSectionLoadAddress,
2107                          (lldb::SBSection, lldb::addr_t));
2108     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, ClearSectionLoadAddress,
2109                          (lldb::SBSection));
2110     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, SetModuleLoadAddress,
2111                          (lldb::SBModule, int64_t));
2112     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, ClearModuleLoadAddress,
2113                          (lldb::SBModule));
2114     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBTarget, FindSymbols,
2115                          (const char *, lldb::SymbolType));
2116     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, EvaluateExpression,
2117                          (const char *));
2118     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, EvaluateExpression,
2119                          (const char *, const lldb::SBExpressionOptions &));
2120     LLDB_REGISTER_METHOD(lldb::addr_t, SBTarget, GetStackRedZoneSize, ());
2121     LLDB_REGISTER_METHOD_CONST(lldb::SBLaunchInfo, SBTarget, GetLaunchInfo, ());
2122     LLDB_REGISTER_METHOD(void, SBTarget, SetLaunchInfo,
2123                          (const lldb::SBLaunchInfo &));
2124   }
2125   {
2126     LLDB_REGISTER_STATIC_METHOD(const char *, SBThread, GetBroadcasterClassName,
2127                                 ());
2128     LLDB_REGISTER_CONSTRUCTOR(SBThread, ());
2129     LLDB_REGISTER_CONSTRUCTOR(SBThread, (const lldb::ThreadSP &));
2130     LLDB_REGISTER_CONSTRUCTOR(SBThread, (const lldb::SBThread &));
2131     LLDB_REGISTER_METHOD(const lldb::SBThread &,
2132                          SBThread, operator=,(const lldb::SBThread &));
2133     LLDB_REGISTER_METHOD_CONST(lldb::SBQueue, SBThread, GetQueue, ());
2134     LLDB_REGISTER_METHOD_CONST(bool, SBThread, IsValid, ());
2135     LLDB_REGISTER_METHOD(void, SBThread, Clear, ());
2136     LLDB_REGISTER_METHOD(lldb::StopReason, SBThread, GetStopReason, ());
2137     LLDB_REGISTER_METHOD(size_t, SBThread, GetStopReasonDataCount, ());
2138     LLDB_REGISTER_METHOD(uint64_t, SBThread, GetStopReasonDataAtIndex,
2139                          (uint32_t));
2140     LLDB_REGISTER_METHOD(bool, SBThread, GetStopReasonExtendedInfoAsJSON,
2141                          (lldb::SBStream &));
2142     LLDB_REGISTER_METHOD(lldb::SBThreadCollection, SBThread,
2143                          GetStopReasonExtendedBacktraces,
2144                          (lldb::InstrumentationRuntimeType));
2145     LLDB_REGISTER_METHOD(size_t, SBThread, GetStopDescription,
2146                          (char *, size_t));
2147     LLDB_REGISTER_METHOD(lldb::SBValue, SBThread, GetStopReturnValue, ());
2148     LLDB_REGISTER_METHOD_CONST(lldb::tid_t, SBThread, GetThreadID, ());
2149     LLDB_REGISTER_METHOD_CONST(uint32_t, SBThread, GetIndexID, ());
2150     LLDB_REGISTER_METHOD_CONST(const char *, SBThread, GetName, ());
2151     LLDB_REGISTER_METHOD_CONST(const char *, SBThread, GetQueueName, ());
2152     LLDB_REGISTER_METHOD_CONST(lldb::queue_id_t, SBThread, GetQueueID, ());
2153     LLDB_REGISTER_METHOD(bool, SBThread, GetInfoItemByPathAsString,
2154                          (const char *, lldb::SBStream &));
2155     LLDB_REGISTER_METHOD(void, SBThread, StepOver, (lldb::RunMode));
2156     LLDB_REGISTER_METHOD(void, SBThread, StepOver,
2157                          (lldb::RunMode, lldb::SBError &));
2158     LLDB_REGISTER_METHOD(void, SBThread, StepInto, (lldb::RunMode));
2159     LLDB_REGISTER_METHOD(void, SBThread, StepInto,
2160                          (const char *, lldb::RunMode));
2161     LLDB_REGISTER_METHOD(
2162         void, SBThread, StepInto,
2163         (const char *, uint32_t, lldb::SBError &, lldb::RunMode));
2164     LLDB_REGISTER_METHOD(void, SBThread, StepOut, ());
2165     LLDB_REGISTER_METHOD(void, SBThread, StepOut, (lldb::SBError &));
2166     LLDB_REGISTER_METHOD(void, SBThread, StepOutOfFrame, (lldb::SBFrame &));
2167     LLDB_REGISTER_METHOD(void, SBThread, StepOutOfFrame,
2168                          (lldb::SBFrame &, lldb::SBError &));
2169     LLDB_REGISTER_METHOD(void, SBThread, StepInstruction, (bool));
2170     LLDB_REGISTER_METHOD(void, SBThread, StepInstruction,
2171                          (bool, lldb::SBError &));
2172     LLDB_REGISTER_METHOD(void, SBThread, RunToAddress, (lldb::addr_t));
2173     LLDB_REGISTER_METHOD(void, SBThread, RunToAddress,
2174                          (lldb::addr_t, lldb::SBError &));
2175     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, StepOverUntil,
2176                          (lldb::SBFrame &, lldb::SBFileSpec &, uint32_t));
2177     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, StepUsingScriptedThreadPlan,
2178                          (const char *));
2179     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, StepUsingScriptedThreadPlan,
2180                          (const char *, bool));
2181     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, JumpToLine,
2182                          (lldb::SBFileSpec &, uint32_t));
2183     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, ReturnFromFrame,
2184                          (lldb::SBFrame &, lldb::SBValue &));
2185     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, UnwindInnermostExpression,
2186                          ());
2187     LLDB_REGISTER_METHOD(bool, SBThread, Suspend, ());
2188     LLDB_REGISTER_METHOD(bool, SBThread, Suspend, (lldb::SBError &));
2189     LLDB_REGISTER_METHOD(bool, SBThread, Resume, ());
2190     LLDB_REGISTER_METHOD(bool, SBThread, Resume, (lldb::SBError &));
2191     LLDB_REGISTER_METHOD(bool, SBThread, IsSuspended, ());
2192     LLDB_REGISTER_METHOD(bool, SBThread, IsStopped, ());
2193     LLDB_REGISTER_METHOD(lldb::SBProcess, SBThread, GetProcess, ());
2194     LLDB_REGISTER_METHOD(uint32_t, SBThread, GetNumFrames, ());
2195     LLDB_REGISTER_METHOD(lldb::SBFrame, SBThread, GetFrameAtIndex, (uint32_t));
2196     LLDB_REGISTER_METHOD(lldb::SBFrame, SBThread, GetSelectedFrame, ());
2197     LLDB_REGISTER_METHOD(lldb::SBFrame, SBThread, SetSelectedFrame, (uint32_t));
2198     LLDB_REGISTER_STATIC_METHOD(bool, SBThread, EventIsThreadEvent,
2199                                 (const lldb::SBEvent &));
2200     LLDB_REGISTER_STATIC_METHOD(lldb::SBFrame, SBThread, GetStackFrameFromEvent,
2201                                 (const lldb::SBEvent &));
2202     LLDB_REGISTER_STATIC_METHOD(lldb::SBThread, SBThread, GetThreadFromEvent,
2203                                 (const lldb::SBEvent &));
2204     LLDB_REGISTER_METHOD_CONST(bool,
2205                                SBThread, operator==,(const lldb::SBThread &));
2206     LLDB_REGISTER_METHOD_CONST(bool,
2207                                SBThread, operator!=,(const lldb::SBThread &));
2208     LLDB_REGISTER_METHOD_CONST(bool, SBThread, GetStatus, (lldb::SBStream &));
2209     LLDB_REGISTER_METHOD_CONST(bool, SBThread, GetDescription,
2210                                (lldb::SBStream &));
2211     LLDB_REGISTER_METHOD_CONST(bool, SBThread, GetDescription,
2212                                (lldb::SBStream &, bool));
2213     LLDB_REGISTER_METHOD(lldb::SBThread, SBThread, GetExtendedBacktraceThread,
2214                          (const char *));
2215     LLDB_REGISTER_METHOD(uint32_t, SBThread,
2216                          GetExtendedBacktraceOriginatingIndexID, ());
2217     LLDB_REGISTER_METHOD(lldb::SBValue, SBThread, GetCurrentException, ());
2218     LLDB_REGISTER_METHOD(lldb::SBThread, SBThread, GetCurrentExceptionBacktrace,
2219                          ());
2220     LLDB_REGISTER_METHOD(bool, SBThread, SafeToCallFunctions, ());
2221     LLDB_REGISTER_METHOD(lldb_private::Thread *, SBThread, operator->,());
2222     LLDB_REGISTER_METHOD(lldb_private::Thread *, SBThread, get, ());
2223   }
2224   {
2225     LLDB_REGISTER_CONSTRUCTOR(SBThreadCollection, ());
2226     LLDB_REGISTER_CONSTRUCTOR(SBThreadCollection,
2227                               (const lldb::SBThreadCollection &));
2228     LLDB_REGISTER_METHOD(
2229         const lldb::SBThreadCollection &,
2230         SBThreadCollection, operator=,(const lldb::SBThreadCollection &));
2231     LLDB_REGISTER_METHOD_CONST(bool, SBThreadCollection, IsValid, ());
2232     LLDB_REGISTER_METHOD(size_t, SBThreadCollection, GetSize, ());
2233     LLDB_REGISTER_METHOD(lldb::SBThread, SBThreadCollection, GetThreadAtIndex,
2234                          (size_t));
2235   }
2236   {
2237     LLDB_REGISTER_CONSTRUCTOR(SBThreadPlan, ());
2238     LLDB_REGISTER_CONSTRUCTOR(SBThreadPlan, (const lldb::ThreadPlanSP &));
2239     LLDB_REGISTER_CONSTRUCTOR(SBThreadPlan, (const lldb::SBThreadPlan &));
2240     LLDB_REGISTER_CONSTRUCTOR(SBThreadPlan, (lldb::SBThread &, const char *));
2241     LLDB_REGISTER_METHOD(const lldb::SBThreadPlan &,
2242                          SBThreadPlan, operator=,(const lldb::SBThreadPlan &));
2243     LLDB_REGISTER_METHOD(lldb_private::ThreadPlan *, SBThreadPlan, get, ());
2244     LLDB_REGISTER_METHOD_CONST(bool, SBThreadPlan, IsValid, ());
2245     LLDB_REGISTER_METHOD(void, SBThreadPlan, Clear, ());
2246     LLDB_REGISTER_METHOD(lldb::StopReason, SBThreadPlan, GetStopReason, ());
2247     LLDB_REGISTER_METHOD(size_t, SBThreadPlan, GetStopReasonDataCount, ());
2248     LLDB_REGISTER_METHOD(uint64_t, SBThreadPlan, GetStopReasonDataAtIndex,
2249                          (uint32_t));
2250     LLDB_REGISTER_METHOD_CONST(lldb::SBThread, SBThreadPlan, GetThread, ());
2251     LLDB_REGISTER_METHOD_CONST(bool, SBThreadPlan, GetDescription,
2252                                (lldb::SBStream &));
2253     LLDB_REGISTER_METHOD(void, SBThreadPlan, SetPlanComplete, (bool));
2254     LLDB_REGISTER_METHOD(bool, SBThreadPlan, IsPlanComplete, ());
2255     LLDB_REGISTER_METHOD(bool, SBThreadPlan, IsPlanStale, ());
2256     LLDB_REGISTER_METHOD(bool, SBThreadPlan, IsValid, ());
2257     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2258                          QueueThreadPlanForStepOverRange,
2259                          (lldb::SBAddress &, lldb::addr_t));
2260     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2261                          QueueThreadPlanForStepOverRange,
2262                          (lldb::SBAddress &, lldb::addr_t, lldb::SBError &));
2263     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2264                          QueueThreadPlanForStepInRange,
2265                          (lldb::SBAddress &, lldb::addr_t));
2266     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2267                          QueueThreadPlanForStepInRange,
2268                          (lldb::SBAddress &, lldb::addr_t, lldb::SBError &));
2269     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2270                          QueueThreadPlanForStepOut, (uint32_t, bool));
2271     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2272                          QueueThreadPlanForStepOut,
2273                          (uint32_t, bool, lldb::SBError &));
2274     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2275                          QueueThreadPlanForRunToAddress, (lldb::SBAddress));
2276     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2277                          QueueThreadPlanForRunToAddress,
2278                          (lldb::SBAddress, lldb::SBError &));
2279     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2280                          QueueThreadPlanForStepScripted, (const char *));
2281     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2282                          QueueThreadPlanForStepScripted,
2283                          (const char *, lldb::SBError &));
2284   }
2285   {
2286     LLDB_REGISTER_METHOD(void, SBTrace, StopTrace,
2287                          (lldb::SBError &, lldb::tid_t));
2288     LLDB_REGISTER_METHOD(void, SBTrace, GetTraceConfig,
2289                          (lldb::SBTraceOptions &, lldb::SBError &));
2290     LLDB_REGISTER_METHOD(lldb::user_id_t, SBTrace, GetTraceUID, ());
2291     LLDB_REGISTER_CONSTRUCTOR(SBTrace, ());
2292     LLDB_REGISTER_METHOD(bool, SBTrace, IsValid, ());
2293   }
2294   {
2295     LLDB_REGISTER_CONSTRUCTOR(SBTraceOptions, ());
2296     LLDB_REGISTER_METHOD_CONST(lldb::TraceType, SBTraceOptions, getType, ());
2297     LLDB_REGISTER_METHOD_CONST(uint64_t, SBTraceOptions, getTraceBufferSize,
2298                                ());
2299     LLDB_REGISTER_METHOD(lldb::SBStructuredData, SBTraceOptions, getTraceParams,
2300                          (lldb::SBError &));
2301     LLDB_REGISTER_METHOD_CONST(uint64_t, SBTraceOptions, getMetaDataBufferSize,
2302                                ());
2303     LLDB_REGISTER_METHOD(void, SBTraceOptions, setTraceParams,
2304                          (lldb::SBStructuredData &));
2305     LLDB_REGISTER_METHOD(void, SBTraceOptions, setType, (lldb::TraceType));
2306     LLDB_REGISTER_METHOD(void, SBTraceOptions, setTraceBufferSize, (uint64_t));
2307     LLDB_REGISTER_METHOD(void, SBTraceOptions, setMetaDataBufferSize,
2308                          (uint64_t));
2309     LLDB_REGISTER_METHOD(bool, SBTraceOptions, IsValid, ());
2310     LLDB_REGISTER_METHOD(void, SBTraceOptions, setThreadID, (lldb::tid_t));
2311     LLDB_REGISTER_METHOD(lldb::tid_t, SBTraceOptions, getThreadID, ());
2312   }
2313   {
2314     LLDB_REGISTER_CONSTRUCTOR(SBType, ());
2315     LLDB_REGISTER_CONSTRUCTOR(SBType, (const lldb::SBType &));
2316     LLDB_REGISTER_METHOD(bool, SBType, operator==,(lldb::SBType &));
2317     LLDB_REGISTER_METHOD(bool, SBType, operator!=,(lldb::SBType &));
2318     LLDB_REGISTER_METHOD(lldb::SBType &,
2319                          SBType, operator=,(const lldb::SBType &));
2320     LLDB_REGISTER_METHOD_CONST(bool, SBType, IsValid, ());
2321     LLDB_REGISTER_METHOD(uint64_t, SBType, GetByteSize, ());
2322     LLDB_REGISTER_METHOD(bool, SBType, IsPointerType, ());
2323     LLDB_REGISTER_METHOD(bool, SBType, IsArrayType, ());
2324     LLDB_REGISTER_METHOD(bool, SBType, IsVectorType, ());
2325     LLDB_REGISTER_METHOD(bool, SBType, IsReferenceType, ());
2326     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetPointerType, ());
2327     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetPointeeType, ());
2328     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetReferenceType, ());
2329     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetTypedefedType, ());
2330     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetDereferencedType, ());
2331     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetArrayElementType, ());
2332     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetArrayType, (uint64_t));
2333     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetVectorElementType, ());
2334     LLDB_REGISTER_METHOD(bool, SBType, IsFunctionType, ());
2335     LLDB_REGISTER_METHOD(bool, SBType, IsPolymorphicClass, ());
2336     LLDB_REGISTER_METHOD(bool, SBType, IsTypedefType, ());
2337     LLDB_REGISTER_METHOD(bool, SBType, IsAnonymousType, ());
2338     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetFunctionReturnType, ());
2339     LLDB_REGISTER_METHOD(lldb::SBTypeList, SBType, GetFunctionArgumentTypes,
2340                          ());
2341     LLDB_REGISTER_METHOD(uint32_t, SBType, GetNumberOfMemberFunctions, ());
2342     LLDB_REGISTER_METHOD(lldb::SBTypeMemberFunction, SBType,
2343                          GetMemberFunctionAtIndex, (uint32_t));
2344     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetUnqualifiedType, ());
2345     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetCanonicalType, ());
2346     LLDB_REGISTER_METHOD(lldb::BasicType, SBType, GetBasicType, ());
2347     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetBasicType, (lldb::BasicType));
2348     LLDB_REGISTER_METHOD(uint32_t, SBType, GetNumberOfDirectBaseClasses, ());
2349     LLDB_REGISTER_METHOD(uint32_t, SBType, GetNumberOfVirtualBaseClasses, ());
2350     LLDB_REGISTER_METHOD(uint32_t, SBType, GetNumberOfFields, ());
2351     LLDB_REGISTER_METHOD(bool, SBType, GetDescription,
2352                          (lldb::SBStream &, lldb::DescriptionLevel));
2353     LLDB_REGISTER_METHOD(lldb::SBTypeMember, SBType, GetDirectBaseClassAtIndex,
2354                          (uint32_t));
2355     LLDB_REGISTER_METHOD(lldb::SBTypeMember, SBType, GetVirtualBaseClassAtIndex,
2356                          (uint32_t));
2357     LLDB_REGISTER_METHOD(lldb::SBTypeEnumMemberList, SBType, GetEnumMembers,
2358                          ());
2359     LLDB_REGISTER_METHOD(lldb::SBTypeMember, SBType, GetFieldAtIndex,
2360                          (uint32_t));
2361     LLDB_REGISTER_METHOD(bool, SBType, IsTypeComplete, ());
2362     LLDB_REGISTER_METHOD(uint32_t, SBType, GetTypeFlags, ());
2363     LLDB_REGISTER_METHOD(const char *, SBType, GetName, ());
2364     LLDB_REGISTER_METHOD(const char *, SBType, GetDisplayTypeName, ());
2365     LLDB_REGISTER_METHOD(lldb::TypeClass, SBType, GetTypeClass, ());
2366     LLDB_REGISTER_METHOD(uint32_t, SBType, GetNumberOfTemplateArguments, ());
2367     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetTemplateArgumentType,
2368                          (uint32_t));
2369     LLDB_REGISTER_METHOD(lldb::TemplateArgumentKind, SBType,
2370                          GetTemplateArgumentKind, (uint32_t));
2371     LLDB_REGISTER_CONSTRUCTOR(SBTypeList, ());
2372     LLDB_REGISTER_CONSTRUCTOR(SBTypeList, (const lldb::SBTypeList &));
2373     LLDB_REGISTER_METHOD(bool, SBTypeList, IsValid, ());
2374     LLDB_REGISTER_METHOD(lldb::SBTypeList &,
2375                          SBTypeList, operator=,(const lldb::SBTypeList &));
2376     LLDB_REGISTER_METHOD(void, SBTypeList, Append, (lldb::SBType));
2377     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeList, GetTypeAtIndex, (uint32_t));
2378     LLDB_REGISTER_METHOD(uint32_t, SBTypeList, GetSize, ());
2379     LLDB_REGISTER_CONSTRUCTOR(SBTypeMember, ());
2380     LLDB_REGISTER_CONSTRUCTOR(SBTypeMember, (const lldb::SBTypeMember &));
2381     LLDB_REGISTER_METHOD(lldb::SBTypeMember &,
2382                          SBTypeMember, operator=,(const lldb::SBTypeMember &));
2383     LLDB_REGISTER_METHOD_CONST(bool, SBTypeMember, IsValid, ());
2384     LLDB_REGISTER_METHOD(const char *, SBTypeMember, GetName, ());
2385     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeMember, GetType, ());
2386     LLDB_REGISTER_METHOD(uint64_t, SBTypeMember, GetOffsetInBytes, ());
2387     LLDB_REGISTER_METHOD(uint64_t, SBTypeMember, GetOffsetInBits, ());
2388     LLDB_REGISTER_METHOD(bool, SBTypeMember, IsBitfield, ());
2389     LLDB_REGISTER_METHOD(uint32_t, SBTypeMember, GetBitfieldSizeInBits, ());
2390     LLDB_REGISTER_METHOD(bool, SBTypeMember, GetDescription,
2391                          (lldb::SBStream &, lldb::DescriptionLevel));
2392     LLDB_REGISTER_CONSTRUCTOR(SBTypeMemberFunction, ());
2393     LLDB_REGISTER_CONSTRUCTOR(SBTypeMemberFunction,
2394                               (const lldb::SBTypeMemberFunction &));
2395     LLDB_REGISTER_METHOD(
2396         lldb::SBTypeMemberFunction &,
2397         SBTypeMemberFunction, operator=,(const lldb::SBTypeMemberFunction &));
2398     LLDB_REGISTER_METHOD_CONST(bool, SBTypeMemberFunction, IsValid, ());
2399     LLDB_REGISTER_METHOD(const char *, SBTypeMemberFunction, GetName, ());
2400     LLDB_REGISTER_METHOD(const char *, SBTypeMemberFunction, GetDemangledName,
2401                          ());
2402     LLDB_REGISTER_METHOD(const char *, SBTypeMemberFunction, GetMangledName,
2403                          ());
2404     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeMemberFunction, GetType, ());
2405     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeMemberFunction, GetReturnType, ());
2406     LLDB_REGISTER_METHOD(uint32_t, SBTypeMemberFunction, GetNumberOfArguments,
2407                          ());
2408     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeMemberFunction,
2409                          GetArgumentTypeAtIndex, (uint32_t));
2410     LLDB_REGISTER_METHOD(lldb::MemberFunctionKind, SBTypeMemberFunction,
2411                          GetKind, ());
2412     LLDB_REGISTER_METHOD(bool, SBTypeMemberFunction, GetDescription,
2413                          (lldb::SBStream &, lldb::DescriptionLevel));
2414   }
2415   {
2416     LLDB_REGISTER_CONSTRUCTOR(SBTypeCategory, ());
2417     LLDB_REGISTER_CONSTRUCTOR(SBTypeCategory, (const lldb::SBTypeCategory &));
2418     LLDB_REGISTER_METHOD_CONST(bool, SBTypeCategory, IsValid, ());
2419     LLDB_REGISTER_METHOD(bool, SBTypeCategory, GetEnabled, ());
2420     LLDB_REGISTER_METHOD(void, SBTypeCategory, SetEnabled, (bool));
2421     LLDB_REGISTER_METHOD(const char *, SBTypeCategory, GetName, ());
2422     LLDB_REGISTER_METHOD(lldb::LanguageType, SBTypeCategory, GetLanguageAtIndex,
2423                          (uint32_t));
2424     LLDB_REGISTER_METHOD(uint32_t, SBTypeCategory, GetNumLanguages, ());
2425     LLDB_REGISTER_METHOD(void, SBTypeCategory, AddLanguage,
2426                          (lldb::LanguageType));
2427     LLDB_REGISTER_METHOD(uint32_t, SBTypeCategory, GetNumFormats, ());
2428     LLDB_REGISTER_METHOD(uint32_t, SBTypeCategory, GetNumSummaries, ());
2429     LLDB_REGISTER_METHOD(uint32_t, SBTypeCategory, GetNumFilters, ());
2430 #ifndef LLDB_DISABLE_PYTHON
2431     LLDB_REGISTER_METHOD(uint32_t, SBTypeCategory, GetNumSynthetics, ());
2432     LLDB_REGISTER_METHOD(lldb::SBTypeNameSpecifier, SBTypeCategory,
2433                          GetTypeNameSpecifierForSyntheticAtIndex, (uint32_t));
2434     LLDB_REGISTER_METHOD(lldb::SBTypeSummary, SBTypeCategory, GetSummaryForType,
2435                          (lldb::SBTypeNameSpecifier));
2436     LLDB_REGISTER_METHOD(lldb::SBTypeSynthetic, SBTypeCategory,
2437                          GetSyntheticForType, (lldb::SBTypeNameSpecifier));
2438     LLDB_REGISTER_METHOD(lldb::SBTypeFilter, SBTypeCategory, GetFilterAtIndex,
2439                          (uint32_t));
2440     LLDB_REGISTER_METHOD(lldb::SBTypeSummary, SBTypeCategory, GetSummaryAtIndex,
2441                          (uint32_t));
2442     LLDB_REGISTER_METHOD(lldb::SBTypeSynthetic, SBTypeCategory,
2443                          GetSyntheticAtIndex, (uint32_t));
2444     LLDB_REGISTER_METHOD(bool, SBTypeCategory, AddTypeSummary,
2445                          (lldb::SBTypeNameSpecifier, lldb::SBTypeSummary));
2446     LLDB_REGISTER_METHOD(bool, SBTypeCategory, AddTypeSynthetic,
2447                          (lldb::SBTypeNameSpecifier, lldb::SBTypeSynthetic));
2448     LLDB_REGISTER_METHOD(bool, SBTypeCategory, DeleteTypeSynthetic,
2449                          (lldb::SBTypeNameSpecifier));
2450 #endif
2451     LLDB_REGISTER_METHOD(lldb::SBTypeNameSpecifier, SBTypeCategory,
2452                          GetTypeNameSpecifierForFilterAtIndex, (uint32_t));
2453     LLDB_REGISTER_METHOD(lldb::SBTypeNameSpecifier, SBTypeCategory,
2454                          GetTypeNameSpecifierForFormatAtIndex, (uint32_t));
2455     LLDB_REGISTER_METHOD(lldb::SBTypeNameSpecifier, SBTypeCategory,
2456                          GetTypeNameSpecifierForSummaryAtIndex, (uint32_t));
2457     LLDB_REGISTER_METHOD(lldb::SBTypeFilter, SBTypeCategory, GetFilterForType,
2458                          (lldb::SBTypeNameSpecifier));
2459     LLDB_REGISTER_METHOD(lldb::SBTypeFormat, SBTypeCategory, GetFormatForType,
2460                          (lldb::SBTypeNameSpecifier));
2461     LLDB_REGISTER_METHOD(lldb::SBTypeFormat, SBTypeCategory, GetFormatAtIndex,
2462                          (uint32_t));
2463     LLDB_REGISTER_METHOD(bool, SBTypeCategory, AddTypeFormat,
2464                          (lldb::SBTypeNameSpecifier, lldb::SBTypeFormat));
2465     LLDB_REGISTER_METHOD(bool, SBTypeCategory, DeleteTypeFormat,
2466                          (lldb::SBTypeNameSpecifier));
2467     LLDB_REGISTER_METHOD(bool, SBTypeCategory, DeleteTypeSummary,
2468                          (lldb::SBTypeNameSpecifier));
2469     LLDB_REGISTER_METHOD(bool, SBTypeCategory, AddTypeFilter,
2470                          (lldb::SBTypeNameSpecifier, lldb::SBTypeFilter));
2471     LLDB_REGISTER_METHOD(bool, SBTypeCategory, DeleteTypeFilter,
2472                          (lldb::SBTypeNameSpecifier));
2473     LLDB_REGISTER_METHOD(bool, SBTypeCategory, GetDescription,
2474                          (lldb::SBStream &, lldb::DescriptionLevel));
2475     LLDB_REGISTER_METHOD(
2476         lldb::SBTypeCategory &,
2477         SBTypeCategory, operator=,(const lldb::SBTypeCategory &));
2478     LLDB_REGISTER_METHOD(bool,
2479                          SBTypeCategory, operator==,(lldb::SBTypeCategory &));
2480     LLDB_REGISTER_METHOD(bool,
2481                          SBTypeCategory, operator!=,(lldb::SBTypeCategory &));
2482   }
2483   {
2484     LLDB_REGISTER_CONSTRUCTOR(SBTypeEnumMember, ());
2485     LLDB_REGISTER_CONSTRUCTOR(SBTypeEnumMember,
2486                               (const lldb::SBTypeEnumMember &));
2487     LLDB_REGISTER_METHOD(
2488         lldb::SBTypeEnumMember &,
2489         SBTypeEnumMember, operator=,(const lldb::SBTypeEnumMember &));
2490     LLDB_REGISTER_METHOD_CONST(bool, SBTypeEnumMember, IsValid, ());
2491     LLDB_REGISTER_METHOD(const char *, SBTypeEnumMember, GetName, ());
2492     LLDB_REGISTER_METHOD(int64_t, SBTypeEnumMember, GetValueAsSigned, ());
2493     LLDB_REGISTER_METHOD(uint64_t, SBTypeEnumMember, GetValueAsUnsigned, ());
2494     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeEnumMember, GetType, ());
2495     LLDB_REGISTER_CONSTRUCTOR(SBTypeEnumMemberList, ());
2496     LLDB_REGISTER_CONSTRUCTOR(SBTypeEnumMemberList,
2497                               (const lldb::SBTypeEnumMemberList &));
2498     LLDB_REGISTER_METHOD(bool, SBTypeEnumMemberList, IsValid, ());
2499     LLDB_REGISTER_METHOD(
2500         lldb::SBTypeEnumMemberList &,
2501         SBTypeEnumMemberList, operator=,(const lldb::SBTypeEnumMemberList &));
2502     LLDB_REGISTER_METHOD(void, SBTypeEnumMemberList, Append,
2503                          (lldb::SBTypeEnumMember));
2504     LLDB_REGISTER_METHOD(lldb::SBTypeEnumMember, SBTypeEnumMemberList,
2505                          GetTypeEnumMemberAtIndex, (uint32_t));
2506     LLDB_REGISTER_METHOD(uint32_t, SBTypeEnumMemberList, GetSize, ());
2507     LLDB_REGISTER_METHOD(bool, SBTypeEnumMember, GetDescription,
2508                          (lldb::SBStream &, lldb::DescriptionLevel));
2509   }
2510   {
2511     LLDB_REGISTER_CONSTRUCTOR(SBTypeFilter, ());
2512     LLDB_REGISTER_CONSTRUCTOR(SBTypeFilter, (uint32_t));
2513     LLDB_REGISTER_CONSTRUCTOR(SBTypeFilter, (const lldb::SBTypeFilter &));
2514     LLDB_REGISTER_METHOD_CONST(bool, SBTypeFilter, IsValid, ());
2515     LLDB_REGISTER_METHOD(uint32_t, SBTypeFilter, GetOptions, ());
2516     LLDB_REGISTER_METHOD(void, SBTypeFilter, SetOptions, (uint32_t));
2517     LLDB_REGISTER_METHOD(bool, SBTypeFilter, GetDescription,
2518                          (lldb::SBStream &, lldb::DescriptionLevel));
2519     LLDB_REGISTER_METHOD(void, SBTypeFilter, Clear, ());
2520     LLDB_REGISTER_METHOD(uint32_t, SBTypeFilter, GetNumberOfExpressionPaths,
2521                          ());
2522     LLDB_REGISTER_METHOD(const char *, SBTypeFilter, GetExpressionPathAtIndex,
2523                          (uint32_t));
2524     LLDB_REGISTER_METHOD(bool, SBTypeFilter, ReplaceExpressionPathAtIndex,
2525                          (uint32_t, const char *));
2526     LLDB_REGISTER_METHOD(void, SBTypeFilter, AppendExpressionPath,
2527                          (const char *));
2528     LLDB_REGISTER_METHOD(lldb::SBTypeFilter &,
2529                          SBTypeFilter, operator=,(const lldb::SBTypeFilter &));
2530     LLDB_REGISTER_METHOD(bool, SBTypeFilter, operator==,(lldb::SBTypeFilter &));
2531     LLDB_REGISTER_METHOD(bool, SBTypeFilter, IsEqualTo, (lldb::SBTypeFilter &));
2532     LLDB_REGISTER_METHOD(bool, SBTypeFilter, operator!=,(lldb::SBTypeFilter &));
2533   }
2534   {
2535     LLDB_REGISTER_CONSTRUCTOR(SBTypeFormat, ());
2536     LLDB_REGISTER_CONSTRUCTOR(SBTypeFormat, (lldb::Format, uint32_t));
2537     LLDB_REGISTER_CONSTRUCTOR(SBTypeFormat, (const char *, uint32_t));
2538     LLDB_REGISTER_CONSTRUCTOR(SBTypeFormat, (const lldb::SBTypeFormat &));
2539     LLDB_REGISTER_METHOD_CONST(bool, SBTypeFormat, IsValid, ());
2540     LLDB_REGISTER_METHOD(lldb::Format, SBTypeFormat, GetFormat, ());
2541     LLDB_REGISTER_METHOD(const char *, SBTypeFormat, GetTypeName, ());
2542     LLDB_REGISTER_METHOD(uint32_t, SBTypeFormat, GetOptions, ());
2543     LLDB_REGISTER_METHOD(void, SBTypeFormat, SetFormat, (lldb::Format));
2544     LLDB_REGISTER_METHOD(void, SBTypeFormat, SetTypeName, (const char *));
2545     LLDB_REGISTER_METHOD(void, SBTypeFormat, SetOptions, (uint32_t));
2546     LLDB_REGISTER_METHOD(bool, SBTypeFormat, GetDescription,
2547                          (lldb::SBStream &, lldb::DescriptionLevel));
2548     LLDB_REGISTER_METHOD(lldb::SBTypeFormat &,
2549                          SBTypeFormat, operator=,(const lldb::SBTypeFormat &));
2550     LLDB_REGISTER_METHOD(bool, SBTypeFormat, operator==,(lldb::SBTypeFormat &));
2551     LLDB_REGISTER_METHOD(bool, SBTypeFormat, IsEqualTo, (lldb::SBTypeFormat &));
2552     LLDB_REGISTER_METHOD(bool, SBTypeFormat, operator!=,(lldb::SBTypeFormat &));
2553   }
2554   {
2555     LLDB_REGISTER_CONSTRUCTOR(SBTypeNameSpecifier, ());
2556     LLDB_REGISTER_CONSTRUCTOR(SBTypeNameSpecifier, (const char *, bool));
2557     LLDB_REGISTER_CONSTRUCTOR(SBTypeNameSpecifier, (lldb::SBType));
2558     LLDB_REGISTER_CONSTRUCTOR(SBTypeNameSpecifier,
2559                               (const lldb::SBTypeNameSpecifier &));
2560     LLDB_REGISTER_METHOD_CONST(bool, SBTypeNameSpecifier, IsValid, ());
2561     LLDB_REGISTER_METHOD(const char *, SBTypeNameSpecifier, GetName, ());
2562     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeNameSpecifier, GetType, ());
2563     LLDB_REGISTER_METHOD(bool, SBTypeNameSpecifier, IsRegex, ());
2564     LLDB_REGISTER_METHOD(bool, SBTypeNameSpecifier, GetDescription,
2565                          (lldb::SBStream &, lldb::DescriptionLevel));
2566     LLDB_REGISTER_METHOD(
2567         lldb::SBTypeNameSpecifier &,
2568         SBTypeNameSpecifier, operator=,(const lldb::SBTypeNameSpecifier &));
2569     LLDB_REGISTER_METHOD(
2570         bool, SBTypeNameSpecifier, operator==,(lldb::SBTypeNameSpecifier &));
2571     LLDB_REGISTER_METHOD(bool, SBTypeNameSpecifier, IsEqualTo,
2572                          (lldb::SBTypeNameSpecifier &));
2573     LLDB_REGISTER_METHOD(
2574         bool, SBTypeNameSpecifier, operator!=,(lldb::SBTypeNameSpecifier &));
2575   }
2576   {
2577     LLDB_REGISTER_CONSTRUCTOR(SBTypeSummaryOptions, ());
2578     LLDB_REGISTER_CONSTRUCTOR(SBTypeSummaryOptions,
2579                               (const lldb::SBTypeSummaryOptions &));
2580     LLDB_REGISTER_METHOD(bool, SBTypeSummaryOptions, IsValid, ());
2581     LLDB_REGISTER_METHOD(lldb::LanguageType, SBTypeSummaryOptions, GetLanguage,
2582                          ());
2583     LLDB_REGISTER_METHOD(lldb::TypeSummaryCapping, SBTypeSummaryOptions,
2584                          GetCapping, ());
2585     LLDB_REGISTER_METHOD(void, SBTypeSummaryOptions, SetLanguage,
2586                          (lldb::LanguageType));
2587     LLDB_REGISTER_METHOD(void, SBTypeSummaryOptions, SetCapping,
2588                          (lldb::TypeSummaryCapping));
2589     LLDB_REGISTER_CONSTRUCTOR(SBTypeSummaryOptions,
2590                               (const lldb_private::TypeSummaryOptions *));
2591     LLDB_REGISTER_CONSTRUCTOR(SBTypeSummary, ());
2592     LLDB_REGISTER_STATIC_METHOD(lldb::SBTypeSummary, SBTypeSummary,
2593                                 CreateWithSummaryString,
2594                                 (const char *, uint32_t));
2595     LLDB_REGISTER_STATIC_METHOD(lldb::SBTypeSummary, SBTypeSummary,
2596                                 CreateWithFunctionName,
2597                                 (const char *, uint32_t));
2598     LLDB_REGISTER_STATIC_METHOD(lldb::SBTypeSummary, SBTypeSummary,
2599                                 CreateWithScriptCode, (const char *, uint32_t));
2600     LLDB_REGISTER_CONSTRUCTOR(SBTypeSummary, (const lldb::SBTypeSummary &));
2601     LLDB_REGISTER_METHOD_CONST(bool, SBTypeSummary, IsValid, ());
2602     LLDB_REGISTER_METHOD(bool, SBTypeSummary, IsFunctionCode, ());
2603     LLDB_REGISTER_METHOD(bool, SBTypeSummary, IsFunctionName, ());
2604     LLDB_REGISTER_METHOD(bool, SBTypeSummary, IsSummaryString, ());
2605     LLDB_REGISTER_METHOD(const char *, SBTypeSummary, GetData, ());
2606     LLDB_REGISTER_METHOD(uint32_t, SBTypeSummary, GetOptions, ());
2607     LLDB_REGISTER_METHOD(void, SBTypeSummary, SetOptions, (uint32_t));
2608     LLDB_REGISTER_METHOD(void, SBTypeSummary, SetSummaryString, (const char *));
2609     LLDB_REGISTER_METHOD(void, SBTypeSummary, SetFunctionName, (const char *));
2610     LLDB_REGISTER_METHOD(void, SBTypeSummary, SetFunctionCode, (const char *));
2611     LLDB_REGISTER_METHOD(bool, SBTypeSummary, GetDescription,
2612                          (lldb::SBStream &, lldb::DescriptionLevel));
2613     LLDB_REGISTER_METHOD(bool, SBTypeSummary, DoesPrintValue, (lldb::SBValue));
2614     LLDB_REGISTER_METHOD(
2615         lldb::SBTypeSummary &,
2616         SBTypeSummary, operator=,(const lldb::SBTypeSummary &));
2617     LLDB_REGISTER_METHOD(bool,
2618                          SBTypeSummary, operator==,(lldb::SBTypeSummary &));
2619     LLDB_REGISTER_METHOD(bool, SBTypeSummary, IsEqualTo,
2620                          (lldb::SBTypeSummary &));
2621     LLDB_REGISTER_METHOD(bool,
2622                          SBTypeSummary, operator!=,(lldb::SBTypeSummary &));
2623   }
2624 #ifndef LLDB_DISABLE_PYTHON
2625   {
2626     LLDB_REGISTER_CONSTRUCTOR(SBTypeSynthetic, ());
2627     LLDB_REGISTER_STATIC_METHOD(lldb::SBTypeSynthetic, SBTypeSynthetic,
2628                                 CreateWithClassName, (const char *, uint32_t));
2629     LLDB_REGISTER_STATIC_METHOD(lldb::SBTypeSynthetic, SBTypeSynthetic,
2630                                 CreateWithScriptCode, (const char *, uint32_t));
2631     LLDB_REGISTER_CONSTRUCTOR(SBTypeSynthetic, (const lldb::SBTypeSynthetic &));
2632     LLDB_REGISTER_METHOD_CONST(bool, SBTypeSynthetic, IsValid, ());
2633     LLDB_REGISTER_METHOD(bool, SBTypeSynthetic, IsClassCode, ());
2634     LLDB_REGISTER_METHOD(bool, SBTypeSynthetic, IsClassName, ());
2635     LLDB_REGISTER_METHOD(const char *, SBTypeSynthetic, GetData, ());
2636     LLDB_REGISTER_METHOD(void, SBTypeSynthetic, SetClassName, (const char *));
2637     LLDB_REGISTER_METHOD(void, SBTypeSynthetic, SetClassCode, (const char *));
2638     LLDB_REGISTER_METHOD(uint32_t, SBTypeSynthetic, GetOptions, ());
2639     LLDB_REGISTER_METHOD(void, SBTypeSynthetic, SetOptions, (uint32_t));
2640     LLDB_REGISTER_METHOD(bool, SBTypeSynthetic, GetDescription,
2641                          (lldb::SBStream &, lldb::DescriptionLevel));
2642     LLDB_REGISTER_METHOD(
2643         lldb::SBTypeSynthetic &,
2644         SBTypeSynthetic, operator=,(const lldb::SBTypeSynthetic &));
2645     LLDB_REGISTER_METHOD(bool,
2646                          SBTypeSynthetic, operator==,(lldb::SBTypeSynthetic &));
2647     LLDB_REGISTER_METHOD(bool, SBTypeSynthetic, IsEqualTo,
2648                          (lldb::SBTypeSynthetic &));
2649     LLDB_REGISTER_METHOD(bool,
2650                          SBTypeSynthetic, operator!=,(lldb::SBTypeSynthetic &));
2651   }
2652 #endif
2653   {
2654     LLDB_REGISTER_CONSTRUCTOR(SBUnixSignals, ());
2655     LLDB_REGISTER_CONSTRUCTOR(SBUnixSignals, (const lldb::SBUnixSignals &));
2656     LLDB_REGISTER_METHOD(
2657         const lldb::SBUnixSignals &,
2658         SBUnixSignals, operator=,(const lldb::SBUnixSignals &));
2659     LLDB_REGISTER_METHOD(void, SBUnixSignals, Clear, ());
2660     LLDB_REGISTER_METHOD_CONST(bool, SBUnixSignals, IsValid, ());
2661     LLDB_REGISTER_METHOD_CONST(const char *, SBUnixSignals, GetSignalAsCString,
2662                                (int32_t));
2663     LLDB_REGISTER_METHOD_CONST(int32_t, SBUnixSignals, GetSignalNumberFromName,
2664                                (const char *));
2665     LLDB_REGISTER_METHOD_CONST(bool, SBUnixSignals, GetShouldSuppress,
2666                                (int32_t));
2667     LLDB_REGISTER_METHOD(bool, SBUnixSignals, SetShouldSuppress,
2668                          (int32_t, bool));
2669     LLDB_REGISTER_METHOD_CONST(bool, SBUnixSignals, GetShouldStop, (int32_t));
2670     LLDB_REGISTER_METHOD(bool, SBUnixSignals, SetShouldStop, (int32_t, bool));
2671     LLDB_REGISTER_METHOD_CONST(bool, SBUnixSignals, GetShouldNotify, (int32_t));
2672     LLDB_REGISTER_METHOD(bool, SBUnixSignals, SetShouldNotify, (int32_t, bool));
2673     LLDB_REGISTER_METHOD_CONST(int32_t, SBUnixSignals, GetNumSignals, ());
2674     LLDB_REGISTER_METHOD_CONST(int32_t, SBUnixSignals, GetSignalAtIndex,
2675                                (int32_t));
2676   }
2677   {
2678     LLDB_REGISTER_CONSTRUCTOR(SBValue, ());
2679     LLDB_REGISTER_CONSTRUCTOR(SBValue, (const lldb::ValueObjectSP &));
2680     LLDB_REGISTER_CONSTRUCTOR(SBValue, (const lldb::SBValue &));
2681     LLDB_REGISTER_METHOD(lldb::SBValue &,
2682                          SBValue, operator=,(const lldb::SBValue &));
2683     LLDB_REGISTER_METHOD(bool, SBValue, IsValid, ());
2684     LLDB_REGISTER_METHOD(void, SBValue, Clear, ());
2685     LLDB_REGISTER_METHOD(lldb::SBError, SBValue, GetError, ());
2686     LLDB_REGISTER_METHOD(lldb::user_id_t, SBValue, GetID, ());
2687     LLDB_REGISTER_METHOD(const char *, SBValue, GetName, ());
2688     LLDB_REGISTER_METHOD(const char *, SBValue, GetTypeName, ());
2689     LLDB_REGISTER_METHOD(const char *, SBValue, GetDisplayTypeName, ());
2690     LLDB_REGISTER_METHOD(size_t, SBValue, GetByteSize, ());
2691     LLDB_REGISTER_METHOD(bool, SBValue, IsInScope, ());
2692     LLDB_REGISTER_METHOD(const char *, SBValue, GetValue, ());
2693     LLDB_REGISTER_METHOD(lldb::ValueType, SBValue, GetValueType, ());
2694     LLDB_REGISTER_METHOD(const char *, SBValue, GetObjectDescription, ());
2695     LLDB_REGISTER_METHOD(const char *, SBValue, GetTypeValidatorResult, ());
2696     LLDB_REGISTER_METHOD(lldb::SBType, SBValue, GetType, ());
2697     LLDB_REGISTER_METHOD(bool, SBValue, GetValueDidChange, ());
2698     LLDB_REGISTER_METHOD(const char *, SBValue, GetSummary, ());
2699     LLDB_REGISTER_METHOD(const char *, SBValue, GetSummary,
2700                          (lldb::SBStream &, lldb::SBTypeSummaryOptions &));
2701     LLDB_REGISTER_METHOD(const char *, SBValue, GetLocation, ());
2702     LLDB_REGISTER_METHOD(bool, SBValue, SetValueFromCString, (const char *));
2703     LLDB_REGISTER_METHOD(bool, SBValue, SetValueFromCString,
2704                          (const char *, lldb::SBError &));
2705     LLDB_REGISTER_METHOD(lldb::SBTypeFormat, SBValue, GetTypeFormat, ());
2706     LLDB_REGISTER_METHOD(lldb::SBTypeSummary, SBValue, GetTypeSummary, ());
2707     LLDB_REGISTER_METHOD(lldb::SBTypeFilter, SBValue, GetTypeFilter, ());
2708 #ifndef LLDB_DISABLE_PYTHON
2709     LLDB_REGISTER_METHOD(lldb::SBTypeSynthetic, SBValue, GetTypeSynthetic, ());
2710 #endif
2711     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, CreateChildAtOffset,
2712                          (const char *, uint32_t, lldb::SBType));
2713     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, Cast, (lldb::SBType));
2714     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, CreateValueFromExpression,
2715                          (const char *, const char *));
2716     LLDB_REGISTER_METHOD(
2717         lldb::SBValue, SBValue, CreateValueFromExpression,
2718         (const char *, const char *, lldb::SBExpressionOptions &));
2719     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, CreateValueFromAddress,
2720                          (const char *, lldb::addr_t, lldb::SBType));
2721     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, CreateValueFromData,
2722                          (const char *, lldb::SBData, lldb::SBType));
2723     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetChildAtIndex, (uint32_t));
2724     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetChildAtIndex,
2725                          (uint32_t, lldb::DynamicValueType, bool));
2726     LLDB_REGISTER_METHOD(uint32_t, SBValue, GetIndexOfChildWithName,
2727                          (const char *));
2728     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetChildMemberWithName,
2729                          (const char *));
2730     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetChildMemberWithName,
2731                          (const char *, lldb::DynamicValueType));
2732     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetDynamicValue,
2733                          (lldb::DynamicValueType));
2734     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetStaticValue, ());
2735     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetNonSyntheticValue, ());
2736     LLDB_REGISTER_METHOD(lldb::DynamicValueType, SBValue, GetPreferDynamicValue,
2737                          ());
2738     LLDB_REGISTER_METHOD(void, SBValue, SetPreferDynamicValue,
2739                          (lldb::DynamicValueType));
2740     LLDB_REGISTER_METHOD(bool, SBValue, GetPreferSyntheticValue, ());
2741     LLDB_REGISTER_METHOD(void, SBValue, SetPreferSyntheticValue, (bool));
2742     LLDB_REGISTER_METHOD(bool, SBValue, IsDynamic, ());
2743     LLDB_REGISTER_METHOD(bool, SBValue, IsSynthetic, ());
2744     LLDB_REGISTER_METHOD(bool, SBValue, IsSyntheticChildrenGenerated, ());
2745     LLDB_REGISTER_METHOD(void, SBValue, SetSyntheticChildrenGenerated, (bool));
2746     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetValueForExpressionPath,
2747                          (const char *));
2748     LLDB_REGISTER_METHOD(int64_t, SBValue, GetValueAsSigned,
2749                          (lldb::SBError &, int64_t));
2750     LLDB_REGISTER_METHOD(uint64_t, SBValue, GetValueAsUnsigned,
2751                          (lldb::SBError &, uint64_t));
2752     LLDB_REGISTER_METHOD(int64_t, SBValue, GetValueAsSigned, (int64_t));
2753     LLDB_REGISTER_METHOD(uint64_t, SBValue, GetValueAsUnsigned, (uint64_t));
2754     LLDB_REGISTER_METHOD(bool, SBValue, MightHaveChildren, ());
2755     LLDB_REGISTER_METHOD(bool, SBValue, IsRuntimeSupportValue, ());
2756     LLDB_REGISTER_METHOD(uint32_t, SBValue, GetNumChildren, ());
2757     LLDB_REGISTER_METHOD(uint32_t, SBValue, GetNumChildren, (uint32_t));
2758     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, Dereference, ());
2759     LLDB_REGISTER_METHOD(bool, SBValue, TypeIsPointerType, ());
2760     LLDB_REGISTER_METHOD(void *, SBValue, GetOpaqueType, ());
2761     LLDB_REGISTER_METHOD(lldb::SBTarget, SBValue, GetTarget, ());
2762     LLDB_REGISTER_METHOD(lldb::SBProcess, SBValue, GetProcess, ());
2763     LLDB_REGISTER_METHOD(lldb::SBThread, SBValue, GetThread, ());
2764     LLDB_REGISTER_METHOD(lldb::SBFrame, SBValue, GetFrame, ());
2765     LLDB_REGISTER_METHOD_CONST(lldb::ValueObjectSP, SBValue, GetSP, ());
2766     LLDB_REGISTER_METHOD(bool, SBValue, GetExpressionPath, (lldb::SBStream &));
2767     LLDB_REGISTER_METHOD(bool, SBValue, GetExpressionPath,
2768                          (lldb::SBStream &, bool));
2769     LLDB_REGISTER_METHOD_CONST(lldb::SBValue, SBValue, EvaluateExpression,
2770                                (const char *));
2771     LLDB_REGISTER_METHOD_CONST(
2772         lldb::SBValue, SBValue, EvaluateExpression,
2773         (const char *, const lldb::SBExpressionOptions &));
2774     LLDB_REGISTER_METHOD_CONST(
2775         lldb::SBValue, SBValue, EvaluateExpression,
2776         (const char *, const lldb::SBExpressionOptions &, const char *));
2777     LLDB_REGISTER_METHOD(bool, SBValue, GetDescription, (lldb::SBStream &));
2778     LLDB_REGISTER_METHOD(lldb::Format, SBValue, GetFormat, ());
2779     LLDB_REGISTER_METHOD(void, SBValue, SetFormat, (lldb::Format));
2780     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, AddressOf, ());
2781     LLDB_REGISTER_METHOD(lldb::addr_t, SBValue, GetLoadAddress, ());
2782     LLDB_REGISTER_METHOD(lldb::SBAddress, SBValue, GetAddress, ());
2783     LLDB_REGISTER_METHOD(lldb::SBData, SBValue, GetPointeeData,
2784                          (uint32_t, uint32_t));
2785     LLDB_REGISTER_METHOD(lldb::SBData, SBValue, GetData, ());
2786     LLDB_REGISTER_METHOD(bool, SBValue, SetData,
2787                          (lldb::SBData &, lldb::SBError &));
2788     LLDB_REGISTER_METHOD(lldb::SBDeclaration, SBValue, GetDeclaration, ());
2789     LLDB_REGISTER_METHOD(lldb::SBWatchpoint, SBValue, Watch,
2790                          (bool, bool, bool, lldb::SBError &));
2791     LLDB_REGISTER_METHOD(lldb::SBWatchpoint, SBValue, Watch,
2792                          (bool, bool, bool));
2793     LLDB_REGISTER_METHOD(lldb::SBWatchpoint, SBValue, WatchPointee,
2794                          (bool, bool, bool, lldb::SBError &));
2795     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, Persist, ());
2796   }
2797   {
2798     LLDB_REGISTER_CONSTRUCTOR(SBValueList, ());
2799     LLDB_REGISTER_CONSTRUCTOR(SBValueList, (const lldb::SBValueList &));
2800     LLDB_REGISTER_METHOD_CONST(bool, SBValueList, IsValid, ());
2801     LLDB_REGISTER_METHOD(void, SBValueList, Clear, ());
2802     LLDB_REGISTER_METHOD(const lldb::SBValueList &,
2803                          SBValueList, operator=,(const lldb::SBValueList &));
2804     LLDB_REGISTER_METHOD(void, SBValueList, Append, (const lldb::SBValue &));
2805     LLDB_REGISTER_METHOD(void, SBValueList, Append,
2806                          (const lldb::SBValueList &));
2807     LLDB_REGISTER_METHOD_CONST(lldb::SBValue, SBValueList, GetValueAtIndex,
2808                                (uint32_t));
2809     LLDB_REGISTER_METHOD_CONST(uint32_t, SBValueList, GetSize, ());
2810     LLDB_REGISTER_METHOD(lldb::SBValue, SBValueList, FindValueObjectByUID,
2811                          (lldb::user_id_t));
2812     LLDB_REGISTER_METHOD_CONST(lldb::SBValue, SBValueList, GetFirstValueByName,
2813                                (const char *));
2814   }
2815   {
2816     LLDB_REGISTER_CONSTRUCTOR(SBVariablesOptions, ());
2817     LLDB_REGISTER_CONSTRUCTOR(SBVariablesOptions,
2818                               (const lldb::SBVariablesOptions &));
2819     LLDB_REGISTER_METHOD(
2820         lldb::SBVariablesOptions &,
2821         SBVariablesOptions, operator=,(const lldb::SBVariablesOptions &));
2822     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions, IsValid, ());
2823     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions, GetIncludeArguments,
2824                                ());
2825     LLDB_REGISTER_METHOD(void, SBVariablesOptions, SetIncludeArguments, (bool));
2826     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions,
2827                                GetIncludeRecognizedArguments,
2828                                (const lldb::SBTarget &));
2829     LLDB_REGISTER_METHOD(void, SBVariablesOptions,
2830                          SetIncludeRecognizedArguments, (bool));
2831     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions, GetIncludeLocals, ());
2832     LLDB_REGISTER_METHOD(void, SBVariablesOptions, SetIncludeLocals, (bool));
2833     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions, GetIncludeStatics, ());
2834     LLDB_REGISTER_METHOD(void, SBVariablesOptions, SetIncludeStatics, (bool));
2835     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions, GetInScopeOnly, ());
2836     LLDB_REGISTER_METHOD(void, SBVariablesOptions, SetInScopeOnly, (bool));
2837     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions,
2838                                GetIncludeRuntimeSupportValues, ());
2839     LLDB_REGISTER_METHOD(void, SBVariablesOptions,
2840                          SetIncludeRuntimeSupportValues, (bool));
2841     LLDB_REGISTER_METHOD_CONST(lldb::DynamicValueType, SBVariablesOptions,
2842                                GetUseDynamic, ());
2843     LLDB_REGISTER_METHOD(void, SBVariablesOptions, SetUseDynamic,
2844                          (lldb::DynamicValueType));
2845   }
2846   {
2847     LLDB_REGISTER_CONSTRUCTOR(SBWatchpoint, ());
2848     LLDB_REGISTER_CONSTRUCTOR(SBWatchpoint, (const lldb::WatchpointSP &));
2849     LLDB_REGISTER_CONSTRUCTOR(SBWatchpoint, (const lldb::SBWatchpoint &));
2850     LLDB_REGISTER_METHOD(const lldb::SBWatchpoint &,
2851                          SBWatchpoint, operator=,(const lldb::SBWatchpoint &));
2852     LLDB_REGISTER_METHOD(lldb::watch_id_t, SBWatchpoint, GetID, ());
2853     LLDB_REGISTER_METHOD_CONST(bool, SBWatchpoint, IsValid, ());
2854     LLDB_REGISTER_METHOD(lldb::SBError, SBWatchpoint, GetError, ());
2855     LLDB_REGISTER_METHOD(int32_t, SBWatchpoint, GetHardwareIndex, ());
2856     LLDB_REGISTER_METHOD(lldb::addr_t, SBWatchpoint, GetWatchAddress, ());
2857     LLDB_REGISTER_METHOD(size_t, SBWatchpoint, GetWatchSize, ());
2858     LLDB_REGISTER_METHOD(void, SBWatchpoint, SetEnabled, (bool));
2859     LLDB_REGISTER_METHOD(bool, SBWatchpoint, IsEnabled, ());
2860     LLDB_REGISTER_METHOD(uint32_t, SBWatchpoint, GetHitCount, ());
2861     LLDB_REGISTER_METHOD(uint32_t, SBWatchpoint, GetIgnoreCount, ());
2862     LLDB_REGISTER_METHOD(void, SBWatchpoint, SetIgnoreCount, (uint32_t));
2863     LLDB_REGISTER_METHOD(const char *, SBWatchpoint, GetCondition, ());
2864     LLDB_REGISTER_METHOD(void, SBWatchpoint, SetCondition, (const char *));
2865     LLDB_REGISTER_METHOD(bool, SBWatchpoint, GetDescription,
2866                          (lldb::SBStream &, lldb::DescriptionLevel));
2867     LLDB_REGISTER_METHOD(void, SBWatchpoint, Clear, ());
2868     LLDB_REGISTER_METHOD_CONST(lldb::WatchpointSP, SBWatchpoint, GetSP, ());
2869     LLDB_REGISTER_METHOD(void, SBWatchpoint, SetSP,
2870                          (const lldb::WatchpointSP &));
2871     LLDB_REGISTER_STATIC_METHOD(bool, SBWatchpoint, EventIsWatchpointEvent,
2872                                 (const lldb::SBEvent &));
2873     LLDB_REGISTER_STATIC_METHOD(lldb::WatchpointEventType, SBWatchpoint,
2874                                 GetWatchpointEventTypeFromEvent,
2875                                 (const lldb::SBEvent &));
2876     LLDB_REGISTER_STATIC_METHOD(lldb::SBWatchpoint, SBWatchpoint,
2877                                 GetWatchpointFromEvent,
2878                                 (const lldb::SBEvent &));
2879   }
2880 }
2881 
2882 const char *SBReproducer::Capture(const char *path) {
2883   static std::string error;
2884   if (auto e =
2885           Reproducer::Initialize(ReproducerMode::Capture, FileSpec(path))) {
2886     error = llvm::toString(std::move(e));
2887     return error.c_str();
2888   }
2889   return nullptr;
2890 }
2891 
2892 const char *SBReproducer::Replay(const char *path) {
2893   static std::string error;
2894   if (auto e = Reproducer::Initialize(ReproducerMode::Replay, FileSpec(path))) {
2895     error = llvm::toString(std::move(e));
2896     return error.c_str();
2897   }
2898 
2899   repro::Loader *loader = repro::Reproducer::Instance().GetLoader();
2900   if (!loader) {
2901     error = "unable to get replay loader.";
2902     return error.c_str();
2903   }
2904 
2905   FileSpec file = loader->GetFile<SBInfo>();
2906   if (!file) {
2907     error = "unable to get replay data from reproducer.";
2908     return error.c_str();
2909   }
2910 
2911   SBRegistry registry;
2912   registry.Replay(file);
2913 
2914   return nullptr;
2915 }
2916 
2917 char lldb_private::repro::SBProvider::ID = 0;
2918 const char *SBInfo::name = "sbapi";
2919 const char *SBInfo::file = "sbapi.bin";
2920