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     LLDB_REGISTER_METHOD(lldb::SBTypeSummary, SBDebugger, GetSummaryForType,
822                          (lldb::SBTypeNameSpecifier));
823     LLDB_REGISTER_METHOD(lldb::SBTypeFilter, SBDebugger, GetFilterForType,
824                          (lldb::SBTypeNameSpecifier));
825     LLDB_REGISTER_METHOD(lldb::SBTypeSynthetic, SBDebugger, GetSyntheticForType,
826                          (lldb::SBTypeNameSpecifier));
827     LLDB_REGISTER_METHOD(bool, SBDebugger, EnableLog,
828                          (const char *, const char **));
829   }
830   {
831     LLDB_REGISTER_CONSTRUCTOR(SBDeclaration, ());
832     LLDB_REGISTER_CONSTRUCTOR(SBDeclaration, (const lldb::SBDeclaration &));
833     LLDB_REGISTER_METHOD(
834         const lldb::SBDeclaration &,
835         SBDeclaration, operator=,(const lldb::SBDeclaration &));
836     LLDB_REGISTER_METHOD_CONST(bool, SBDeclaration, IsValid, ());
837     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBDeclaration, GetFileSpec,
838                                ());
839     LLDB_REGISTER_METHOD_CONST(uint32_t, SBDeclaration, GetLine, ());
840     LLDB_REGISTER_METHOD_CONST(uint32_t, SBDeclaration, GetColumn, ());
841     LLDB_REGISTER_METHOD(void, SBDeclaration, SetFileSpec, (lldb::SBFileSpec));
842     LLDB_REGISTER_METHOD(void, SBDeclaration, SetLine, (uint32_t));
843     LLDB_REGISTER_METHOD(void, SBDeclaration, SetColumn, (uint32_t));
844     LLDB_REGISTER_METHOD_CONST(
845         bool, SBDeclaration, operator==,(const lldb::SBDeclaration &));
846     LLDB_REGISTER_METHOD_CONST(
847         bool, SBDeclaration, operator!=,(const lldb::SBDeclaration &));
848     LLDB_REGISTER_METHOD(bool, SBDeclaration, GetDescription,
849                          (lldb::SBStream &));
850   }
851   {
852     LLDB_REGISTER_CONSTRUCTOR(SBError, ());
853     LLDB_REGISTER_CONSTRUCTOR(SBError, (const lldb::SBError &));
854     LLDB_REGISTER_METHOD(const lldb::SBError &,
855                          SBError, operator=,(const lldb::SBError &));
856     LLDB_REGISTER_METHOD_CONST(const char *, SBError, GetCString, ());
857     LLDB_REGISTER_METHOD(void, SBError, Clear, ());
858     LLDB_REGISTER_METHOD_CONST(bool, SBError, Fail, ());
859     LLDB_REGISTER_METHOD_CONST(bool, SBError, Success, ());
860     LLDB_REGISTER_METHOD_CONST(uint32_t, SBError, GetError, ());
861     LLDB_REGISTER_METHOD_CONST(lldb::ErrorType, SBError, GetType, ());
862     LLDB_REGISTER_METHOD(void, SBError, SetError, (uint32_t, lldb::ErrorType));
863     LLDB_REGISTER_METHOD(void, SBError, SetErrorToErrno, ());
864     LLDB_REGISTER_METHOD(void, SBError, SetErrorToGenericError, ());
865     LLDB_REGISTER_METHOD(void, SBError, SetErrorString, (const char *));
866     LLDB_REGISTER_METHOD_CONST(bool, SBError, IsValid, ());
867     LLDB_REGISTER_METHOD(bool, SBError, GetDescription, (lldb::SBStream &));
868   }
869   {
870     LLDB_REGISTER_CONSTRUCTOR(SBEvent, ());
871     LLDB_REGISTER_CONSTRUCTOR(SBEvent, (uint32_t, const char *, uint32_t));
872     LLDB_REGISTER_CONSTRUCTOR(SBEvent, (lldb::EventSP &));
873     LLDB_REGISTER_CONSTRUCTOR(SBEvent, (lldb_private::Event *));
874     LLDB_REGISTER_CONSTRUCTOR(SBEvent, (const lldb::SBEvent &));
875     LLDB_REGISTER_METHOD(const lldb::SBEvent &,
876                          SBEvent, operator=,(const lldb::SBEvent &));
877     LLDB_REGISTER_METHOD(const char *, SBEvent, GetDataFlavor, ());
878     LLDB_REGISTER_METHOD_CONST(uint32_t, SBEvent, GetType, ());
879     LLDB_REGISTER_METHOD_CONST(lldb::SBBroadcaster, SBEvent, GetBroadcaster,
880                                ());
881     LLDB_REGISTER_METHOD_CONST(const char *, SBEvent, GetBroadcasterClass, ());
882     LLDB_REGISTER_METHOD(bool, SBEvent, BroadcasterMatchesPtr,
883                          (const lldb::SBBroadcaster *));
884     LLDB_REGISTER_METHOD(bool, SBEvent, BroadcasterMatchesRef,
885                          (const lldb::SBBroadcaster &));
886     LLDB_REGISTER_METHOD(void, SBEvent, Clear, ());
887     LLDB_REGISTER_METHOD_CONST(bool, SBEvent, IsValid, ());
888     LLDB_REGISTER_STATIC_METHOD(const char *, SBEvent, GetCStringFromEvent,
889                                 (const lldb::SBEvent &));
890     LLDB_REGISTER_METHOD(bool, SBEvent, GetDescription, (lldb::SBStream &));
891     LLDB_REGISTER_METHOD_CONST(bool, SBEvent, GetDescription,
892                                (lldb::SBStream &));
893   }
894   {
895     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext, ());
896     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext,
897                               (const lldb::SBExecutionContext &));
898     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext,
899                               (lldb::ExecutionContextRefSP));
900     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext, (const lldb::SBTarget &));
901     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext, (const lldb::SBProcess &));
902     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext, (lldb::SBThread));
903     LLDB_REGISTER_CONSTRUCTOR(SBExecutionContext, (const lldb::SBFrame &));
904     LLDB_REGISTER_METHOD(
905         const lldb::SBExecutionContext &,
906         SBExecutionContext, operator=,(const lldb::SBExecutionContext &));
907     LLDB_REGISTER_METHOD_CONST(lldb::SBTarget, SBExecutionContext, GetTarget,
908                                ());
909     LLDB_REGISTER_METHOD_CONST(lldb::SBProcess, SBExecutionContext, GetProcess,
910                                ());
911     LLDB_REGISTER_METHOD_CONST(lldb::SBThread, SBExecutionContext, GetThread,
912                                ());
913     LLDB_REGISTER_METHOD_CONST(lldb::SBFrame, SBExecutionContext, GetFrame, ());
914   }
915   {
916     LLDB_REGISTER_CONSTRUCTOR(SBExpressionOptions, ());
917     LLDB_REGISTER_CONSTRUCTOR(SBExpressionOptions,
918                               (const lldb::SBExpressionOptions &));
919     LLDB_REGISTER_METHOD(
920         const lldb::SBExpressionOptions &,
921         SBExpressionOptions, operator=,(const lldb::SBExpressionOptions &));
922     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetCoerceResultToId,
923                                ());
924     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetCoerceResultToId,
925                          (bool));
926     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetUnwindOnError, ());
927     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetUnwindOnError, (bool));
928     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetIgnoreBreakpoints,
929                                ());
930     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetIgnoreBreakpoints,
931                          (bool));
932     LLDB_REGISTER_METHOD_CONST(lldb::DynamicValueType, SBExpressionOptions,
933                                GetFetchDynamicValue, ());
934     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetFetchDynamicValue,
935                          (lldb::DynamicValueType));
936     LLDB_REGISTER_METHOD_CONST(uint32_t, SBExpressionOptions,
937                                GetTimeoutInMicroSeconds, ());
938     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetTimeoutInMicroSeconds,
939                          (uint32_t));
940     LLDB_REGISTER_METHOD_CONST(uint32_t, SBExpressionOptions,
941                                GetOneThreadTimeoutInMicroSeconds, ());
942     LLDB_REGISTER_METHOD(void, SBExpressionOptions,
943                          SetOneThreadTimeoutInMicroSeconds, (uint32_t));
944     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetTryAllThreads, ());
945     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetTryAllThreads, (bool));
946     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetStopOthers, ());
947     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetStopOthers, (bool));
948     LLDB_REGISTER_METHOD_CONST(bool, SBExpressionOptions, GetTrapExceptions,
949                                ());
950     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetTrapExceptions, (bool));
951     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetLanguage,
952                          (lldb::LanguageType));
953     LLDB_REGISTER_METHOD(bool, SBExpressionOptions, GetGenerateDebugInfo, ());
954     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetGenerateDebugInfo,
955                          (bool));
956     LLDB_REGISTER_METHOD(bool, SBExpressionOptions, GetSuppressPersistentResult,
957                          ());
958     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetSuppressPersistentResult,
959                          (bool));
960     LLDB_REGISTER_METHOD_CONST(const char *, SBExpressionOptions, GetPrefix,
961                                ());
962     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetPrefix, (const char *));
963     LLDB_REGISTER_METHOD(bool, SBExpressionOptions, GetAutoApplyFixIts, ());
964     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetAutoApplyFixIts, (bool));
965     LLDB_REGISTER_METHOD(bool, SBExpressionOptions, GetTopLevel, ());
966     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetTopLevel, (bool));
967     LLDB_REGISTER_METHOD(bool, SBExpressionOptions, GetAllowJIT, ());
968     LLDB_REGISTER_METHOD(void, SBExpressionOptions, SetAllowJIT, (bool));
969   }
970   {
971     LLDB_REGISTER_CONSTRUCTOR(SBFileSpec, ());
972     LLDB_REGISTER_CONSTRUCTOR(SBFileSpec, (const lldb::SBFileSpec &));
973     LLDB_REGISTER_CONSTRUCTOR(SBFileSpec, (const char *));
974     LLDB_REGISTER_CONSTRUCTOR(SBFileSpec, (const char *, bool));
975     LLDB_REGISTER_METHOD(const lldb::SBFileSpec &,
976                          SBFileSpec, operator=,(const lldb::SBFileSpec &));
977     LLDB_REGISTER_METHOD_CONST(bool, SBFileSpec, IsValid, ());
978     LLDB_REGISTER_METHOD_CONST(bool, SBFileSpec, Exists, ());
979     LLDB_REGISTER_METHOD(bool, SBFileSpec, ResolveExecutableLocation, ());
980     LLDB_REGISTER_STATIC_METHOD(int, SBFileSpec, ResolvePath,
981                                 (const char *, char *, size_t));
982     LLDB_REGISTER_METHOD_CONST(const char *, SBFileSpec, GetFilename, ());
983     LLDB_REGISTER_METHOD_CONST(const char *, SBFileSpec, GetDirectory, ());
984     LLDB_REGISTER_METHOD(void, SBFileSpec, SetFilename, (const char *));
985     LLDB_REGISTER_METHOD(void, SBFileSpec, SetDirectory, (const char *));
986     LLDB_REGISTER_METHOD_CONST(uint32_t, SBFileSpec, GetPath, (char *, size_t));
987     LLDB_REGISTER_METHOD_CONST(bool, SBFileSpec, GetDescription,
988                                (lldb::SBStream &));
989     LLDB_REGISTER_METHOD(void, SBFileSpec, AppendPathComponent, (const char *));
990   }
991   {
992     LLDB_REGISTER_CONSTRUCTOR(SBFileSpecList, ());
993     LLDB_REGISTER_CONSTRUCTOR(SBFileSpecList, (const lldb::SBFileSpecList &));
994     LLDB_REGISTER_METHOD(
995         const lldb::SBFileSpecList &,
996         SBFileSpecList, operator=,(const lldb::SBFileSpecList &));
997     LLDB_REGISTER_METHOD_CONST(uint32_t, SBFileSpecList, GetSize, ());
998     LLDB_REGISTER_METHOD(void, SBFileSpecList, Append,
999                          (const lldb::SBFileSpec &));
1000     LLDB_REGISTER_METHOD(bool, SBFileSpecList, AppendIfUnique,
1001                          (const lldb::SBFileSpec &));
1002     LLDB_REGISTER_METHOD(void, SBFileSpecList, Clear, ());
1003     LLDB_REGISTER_METHOD(uint32_t, SBFileSpecList, FindFileIndex,
1004                          (uint32_t, const lldb::SBFileSpec &, bool));
1005     LLDB_REGISTER_METHOD_CONST(const lldb::SBFileSpec, SBFileSpecList,
1006                                GetFileSpecAtIndex, (uint32_t));
1007     LLDB_REGISTER_METHOD_CONST(bool, SBFileSpecList, GetDescription,
1008                                (lldb::SBStream &));
1009   }
1010   {
1011     LLDB_REGISTER_CONSTRUCTOR(SBFrame, ());
1012     LLDB_REGISTER_CONSTRUCTOR(SBFrame, (const lldb::StackFrameSP &));
1013     LLDB_REGISTER_CONSTRUCTOR(SBFrame, (const lldb::SBFrame &));
1014     LLDB_REGISTER_METHOD(const lldb::SBFrame &,
1015                          SBFrame, operator=,(const lldb::SBFrame &));
1016     LLDB_REGISTER_METHOD_CONST(bool, SBFrame, IsValid, ());
1017     LLDB_REGISTER_METHOD_CONST(lldb::SBSymbolContext, SBFrame, GetSymbolContext,
1018                                (uint32_t));
1019     LLDB_REGISTER_METHOD_CONST(lldb::SBModule, SBFrame, GetModule, ());
1020     LLDB_REGISTER_METHOD_CONST(lldb::SBCompileUnit, SBFrame, GetCompileUnit,
1021                                ());
1022     LLDB_REGISTER_METHOD_CONST(lldb::SBFunction, SBFrame, GetFunction, ());
1023     LLDB_REGISTER_METHOD_CONST(lldb::SBSymbol, SBFrame, GetSymbol, ());
1024     LLDB_REGISTER_METHOD_CONST(lldb::SBBlock, SBFrame, GetBlock, ());
1025     LLDB_REGISTER_METHOD_CONST(lldb::SBBlock, SBFrame, GetFrameBlock, ());
1026     LLDB_REGISTER_METHOD_CONST(lldb::SBLineEntry, SBFrame, GetLineEntry, ());
1027     LLDB_REGISTER_METHOD_CONST(uint32_t, SBFrame, GetFrameID, ());
1028     LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBFrame, GetCFA, ());
1029     LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBFrame, GetPC, ());
1030     LLDB_REGISTER_METHOD(bool, SBFrame, SetPC, (lldb::addr_t));
1031     LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBFrame, GetSP, ());
1032     LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBFrame, GetFP, ());
1033     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBFrame, GetPCAddress, ());
1034     LLDB_REGISTER_METHOD(void, SBFrame, Clear, ());
1035     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, GetValueForVariablePath,
1036                          (const char *));
1037     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, GetValueForVariablePath,
1038                          (const char *, lldb::DynamicValueType));
1039     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, FindVariable, (const char *));
1040     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, FindVariable,
1041                          (const char *, lldb::DynamicValueType));
1042     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, FindValue,
1043                          (const char *, lldb::ValueType));
1044     LLDB_REGISTER_METHOD(
1045         lldb::SBValue, SBFrame, FindValue,
1046         (const char *, lldb::ValueType, lldb::DynamicValueType));
1047     LLDB_REGISTER_METHOD_CONST(bool, SBFrame, IsEqual, (const lldb::SBFrame &));
1048     LLDB_REGISTER_METHOD_CONST(bool,
1049                                SBFrame, operator==,(const lldb::SBFrame &));
1050     LLDB_REGISTER_METHOD_CONST(bool,
1051                                SBFrame, operator!=,(const lldb::SBFrame &));
1052     LLDB_REGISTER_METHOD_CONST(lldb::SBThread, SBFrame, GetThread, ());
1053     LLDB_REGISTER_METHOD_CONST(const char *, SBFrame, Disassemble, ());
1054     LLDB_REGISTER_METHOD(lldb::SBValueList, SBFrame, GetVariables,
1055                          (bool, bool, bool, bool));
1056     LLDB_REGISTER_METHOD(lldb::SBValueList, SBFrame, GetVariables,
1057                          (bool, bool, bool, bool, lldb::DynamicValueType));
1058     LLDB_REGISTER_METHOD(lldb::SBValueList, SBFrame, GetVariables,
1059                          (const lldb::SBVariablesOptions &));
1060     LLDB_REGISTER_METHOD(lldb::SBValueList, SBFrame, GetRegisters, ());
1061     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, FindRegister, (const char *));
1062     LLDB_REGISTER_METHOD(bool, SBFrame, GetDescription, (lldb::SBStream &));
1063     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, EvaluateExpression,
1064                          (const char *));
1065     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, EvaluateExpression,
1066                          (const char *, lldb::DynamicValueType));
1067     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, EvaluateExpression,
1068                          (const char *, lldb::DynamicValueType, bool));
1069     LLDB_REGISTER_METHOD(lldb::SBValue, SBFrame, EvaluateExpression,
1070                          (const char *, const lldb::SBExpressionOptions &));
1071     LLDB_REGISTER_METHOD(bool, SBFrame, IsInlined, ());
1072     LLDB_REGISTER_METHOD_CONST(bool, SBFrame, IsInlined, ());
1073     LLDB_REGISTER_METHOD(bool, SBFrame, IsArtificial, ());
1074     LLDB_REGISTER_METHOD_CONST(bool, SBFrame, IsArtificial, ());
1075     LLDB_REGISTER_METHOD(const char *, SBFrame, GetFunctionName, ());
1076     LLDB_REGISTER_METHOD_CONST(lldb::LanguageType, SBFrame, GuessLanguage, ());
1077     LLDB_REGISTER_METHOD_CONST(const char *, SBFrame, GetFunctionName, ());
1078     LLDB_REGISTER_METHOD(const char *, SBFrame, GetDisplayFunctionName, ());
1079   }
1080   {
1081     LLDB_REGISTER_CONSTRUCTOR(SBFunction, ());
1082     LLDB_REGISTER_CONSTRUCTOR(SBFunction, (const lldb::SBFunction &));
1083     LLDB_REGISTER_METHOD(const lldb::SBFunction &,
1084                          SBFunction, operator=,(const lldb::SBFunction &));
1085     LLDB_REGISTER_METHOD_CONST(bool, SBFunction, IsValid, ());
1086     LLDB_REGISTER_METHOD_CONST(const char *, SBFunction, GetName, ());
1087     LLDB_REGISTER_METHOD_CONST(const char *, SBFunction, GetDisplayName, ());
1088     LLDB_REGISTER_METHOD_CONST(const char *, SBFunction, GetMangledName, ());
1089     LLDB_REGISTER_METHOD_CONST(
1090         bool, SBFunction, operator==,(const lldb::SBFunction &));
1091     LLDB_REGISTER_METHOD_CONST(
1092         bool, SBFunction, operator!=,(const lldb::SBFunction &));
1093     LLDB_REGISTER_METHOD(bool, SBFunction, GetDescription, (lldb::SBStream &));
1094     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBFunction, GetInstructions,
1095                          (lldb::SBTarget));
1096     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBFunction, GetInstructions,
1097                          (lldb::SBTarget, const char *));
1098     LLDB_REGISTER_METHOD(lldb::SBAddress, SBFunction, GetStartAddress, ());
1099     LLDB_REGISTER_METHOD(lldb::SBAddress, SBFunction, GetEndAddress, ());
1100     LLDB_REGISTER_METHOD(const char *, SBFunction, GetArgumentName, (uint32_t));
1101     LLDB_REGISTER_METHOD(uint32_t, SBFunction, GetPrologueByteSize, ());
1102     LLDB_REGISTER_METHOD(lldb::SBType, SBFunction, GetType, ());
1103     LLDB_REGISTER_METHOD(lldb::SBBlock, SBFunction, GetBlock, ());
1104     LLDB_REGISTER_METHOD(lldb::LanguageType, SBFunction, GetLanguage, ());
1105     LLDB_REGISTER_METHOD(bool, SBFunction, GetIsOptimized, ());
1106   }
1107   {
1108     LLDB_REGISTER_STATIC_METHOD(lldb::SBFileSpec, SBHostOS, GetProgramFileSpec,
1109                                 ());
1110     LLDB_REGISTER_STATIC_METHOD(lldb::SBFileSpec, SBHostOS, GetLLDBPythonPath,
1111                                 ());
1112     LLDB_REGISTER_STATIC_METHOD(lldb::SBFileSpec, SBHostOS, GetLLDBPath,
1113                                 (lldb::PathType));
1114     LLDB_REGISTER_STATIC_METHOD(lldb::SBFileSpec, SBHostOS,
1115                                 GetUserHomeDirectory, ());
1116     LLDB_REGISTER_STATIC_METHOD(void, SBHostOS, ThreadCreated, (const char *));
1117 #ifndef _WIN32
1118     // FIXME: On Windows, lldb::thread_t is just a void*, so the we will try to
1119     //        allocate an object of type void when deserializing.
1120     LLDB_REGISTER_STATIC_METHOD(bool, SBHostOS, ThreadCancel,
1121                                 (lldb::thread_t, lldb::SBError *));
1122     LLDB_REGISTER_STATIC_METHOD(bool, SBHostOS, ThreadDetach,
1123                                 (lldb::thread_t, lldb::SBError *));
1124     LLDB_REGISTER_STATIC_METHOD(
1125         bool, SBHostOS, ThreadJoin,
1126         (lldb::thread_t, lldb::thread_result_t *, lldb::SBError *));
1127 #endif
1128   }
1129   {
1130     LLDB_REGISTER_CONSTRUCTOR(SBInstruction, ());
1131     LLDB_REGISTER_CONSTRUCTOR(SBInstruction, (const lldb::SBInstruction &));
1132     LLDB_REGISTER_METHOD(
1133         const lldb::SBInstruction &,
1134         SBInstruction, operator=,(const lldb::SBInstruction &));
1135     LLDB_REGISTER_METHOD(bool, SBInstruction, IsValid, ());
1136     LLDB_REGISTER_METHOD(lldb::SBAddress, SBInstruction, GetAddress, ());
1137     LLDB_REGISTER_METHOD(const char *, SBInstruction, GetMnemonic,
1138                          (lldb::SBTarget));
1139     LLDB_REGISTER_METHOD(const char *, SBInstruction, GetOperands,
1140                          (lldb::SBTarget));
1141     LLDB_REGISTER_METHOD(const char *, SBInstruction, GetComment,
1142                          (lldb::SBTarget));
1143     LLDB_REGISTER_METHOD(size_t, SBInstruction, GetByteSize, ());
1144     LLDB_REGISTER_METHOD(lldb::SBData, SBInstruction, GetData,
1145                          (lldb::SBTarget));
1146     LLDB_REGISTER_METHOD(bool, SBInstruction, DoesBranch, ());
1147     LLDB_REGISTER_METHOD(bool, SBInstruction, HasDelaySlot, ());
1148     LLDB_REGISTER_METHOD(bool, SBInstruction, CanSetBreakpoint, ());
1149     LLDB_REGISTER_METHOD(bool, SBInstruction, GetDescription,
1150                          (lldb::SBStream &));
1151     LLDB_REGISTER_METHOD(void, SBInstruction, Print, (FILE *));
1152     LLDB_REGISTER_METHOD(bool, SBInstruction, EmulateWithFrame,
1153                          (lldb::SBFrame &, uint32_t));
1154     LLDB_REGISTER_METHOD(bool, SBInstruction, DumpEmulation, (const char *));
1155     LLDB_REGISTER_METHOD(bool, SBInstruction, TestEmulation,
1156                          (lldb::SBStream &, const char *));
1157   }
1158   {
1159     LLDB_REGISTER_CONSTRUCTOR(SBInstructionList, ());
1160     LLDB_REGISTER_CONSTRUCTOR(SBInstructionList,
1161                               (const lldb::SBInstructionList &));
1162     LLDB_REGISTER_METHOD(
1163         const lldb::SBInstructionList &,
1164         SBInstructionList, operator=,(const lldb::SBInstructionList &));
1165     LLDB_REGISTER_METHOD_CONST(bool, SBInstructionList, IsValid, ());
1166     LLDB_REGISTER_METHOD(size_t, SBInstructionList, GetSize, ());
1167     LLDB_REGISTER_METHOD(lldb::SBInstruction, SBInstructionList,
1168                          GetInstructionAtIndex, (uint32_t));
1169     LLDB_REGISTER_METHOD(
1170         size_t, SBInstructionList, GetInstructionsCount,
1171         (const lldb::SBAddress &, const lldb::SBAddress &, bool));
1172     LLDB_REGISTER_METHOD(void, SBInstructionList, Clear, ());
1173     LLDB_REGISTER_METHOD(void, SBInstructionList, AppendInstruction,
1174                          (lldb::SBInstruction));
1175     LLDB_REGISTER_METHOD(void, SBInstructionList, Print, (FILE *));
1176     LLDB_REGISTER_METHOD(bool, SBInstructionList, GetDescription,
1177                          (lldb::SBStream &));
1178     LLDB_REGISTER_METHOD(bool, SBInstructionList,
1179                          DumpEmulationForAllInstructions, (const char *));
1180   }
1181   {
1182     LLDB_REGISTER_STATIC_METHOD(lldb::LanguageType, SBLanguageRuntime,
1183                                 GetLanguageTypeFromString, (const char *));
1184     LLDB_REGISTER_STATIC_METHOD(const char *, SBLanguageRuntime,
1185                                 GetNameForLanguageType, (lldb::LanguageType));
1186   }
1187   {
1188     LLDB_REGISTER_CONSTRUCTOR(SBLaunchInfo, (const char **));
1189     LLDB_REGISTER_METHOD(lldb::pid_t, SBLaunchInfo, GetProcessID, ());
1190     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetUserID, ());
1191     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetGroupID, ());
1192     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, UserIDIsValid, ());
1193     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, GroupIDIsValid, ());
1194     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetUserID, (uint32_t));
1195     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetGroupID, (uint32_t));
1196     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBLaunchInfo, GetExecutableFile, ());
1197     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetExecutableFile,
1198                          (lldb::SBFileSpec, bool));
1199     LLDB_REGISTER_METHOD(lldb::SBListener, SBLaunchInfo, GetListener, ());
1200     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetListener, (lldb::SBListener &));
1201     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetNumArguments, ());
1202     LLDB_REGISTER_METHOD(const char *, SBLaunchInfo, GetArgumentAtIndex,
1203                          (uint32_t));
1204     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetArguments,
1205                          (const char **, bool));
1206     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetNumEnvironmentEntries, ());
1207     LLDB_REGISTER_METHOD(const char *, SBLaunchInfo, GetEnvironmentEntryAtIndex,
1208                          (uint32_t));
1209     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetEnvironmentEntries,
1210                          (const char **, bool));
1211     LLDB_REGISTER_METHOD(void, SBLaunchInfo, Clear, ());
1212     LLDB_REGISTER_METHOD_CONST(const char *, SBLaunchInfo, GetWorkingDirectory,
1213                                ());
1214     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetWorkingDirectory,
1215                          (const char *));
1216     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetLaunchFlags, ());
1217     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetLaunchFlags, (uint32_t));
1218     LLDB_REGISTER_METHOD(const char *, SBLaunchInfo, GetProcessPluginName, ());
1219     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetProcessPluginName,
1220                          (const char *));
1221     LLDB_REGISTER_METHOD(const char *, SBLaunchInfo, GetShell, ());
1222     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetShell, (const char *));
1223     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, GetShellExpandArguments, ());
1224     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetShellExpandArguments, (bool));
1225     LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetResumeCount, ());
1226     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetResumeCount, (uint32_t));
1227     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, AddCloseFileAction, (int));
1228     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, AddDuplicateFileAction,
1229                          (int, int));
1230     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, AddOpenFileAction,
1231                          (int, const char *, bool, bool));
1232     LLDB_REGISTER_METHOD(bool, SBLaunchInfo, AddSuppressFileAction,
1233                          (int, bool, bool));
1234     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetLaunchEventData,
1235                          (const char *));
1236     LLDB_REGISTER_METHOD_CONST(const char *, SBLaunchInfo, GetLaunchEventData,
1237                                ());
1238     LLDB_REGISTER_METHOD(void, SBLaunchInfo, SetDetachOnError, (bool));
1239     LLDB_REGISTER_METHOD_CONST(bool, SBLaunchInfo, GetDetachOnError, ());
1240   }
1241   {
1242     LLDB_REGISTER_CONSTRUCTOR(SBLineEntry, ());
1243     LLDB_REGISTER_CONSTRUCTOR(SBLineEntry, (const lldb::SBLineEntry &));
1244     LLDB_REGISTER_METHOD(const lldb::SBLineEntry &,
1245                          SBLineEntry, operator=,(const lldb::SBLineEntry &));
1246     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBLineEntry, GetStartAddress,
1247                                ());
1248     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBLineEntry, GetEndAddress, ());
1249     LLDB_REGISTER_METHOD_CONST(bool, SBLineEntry, IsValid, ());
1250     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBLineEntry, GetFileSpec, ());
1251     LLDB_REGISTER_METHOD_CONST(uint32_t, SBLineEntry, GetLine, ());
1252     LLDB_REGISTER_METHOD_CONST(uint32_t, SBLineEntry, GetColumn, ());
1253     LLDB_REGISTER_METHOD(void, SBLineEntry, SetFileSpec, (lldb::SBFileSpec));
1254     LLDB_REGISTER_METHOD(void, SBLineEntry, SetLine, (uint32_t));
1255     LLDB_REGISTER_METHOD(void, SBLineEntry, SetColumn, (uint32_t));
1256     LLDB_REGISTER_METHOD_CONST(
1257         bool, SBLineEntry, operator==,(const lldb::SBLineEntry &));
1258     LLDB_REGISTER_METHOD_CONST(
1259         bool, SBLineEntry, operator!=,(const lldb::SBLineEntry &));
1260     LLDB_REGISTER_METHOD(bool, SBLineEntry, GetDescription, (lldb::SBStream &));
1261   }
1262   {
1263     LLDB_REGISTER_CONSTRUCTOR(SBListener, ());
1264     LLDB_REGISTER_CONSTRUCTOR(SBListener, (const char *));
1265     LLDB_REGISTER_CONSTRUCTOR(SBListener, (const lldb::SBListener &));
1266     LLDB_REGISTER_METHOD(const lldb::SBListener &,
1267                          SBListener, operator=,(const lldb::SBListener &));
1268     LLDB_REGISTER_METHOD_CONST(bool, SBListener, IsValid, ());
1269     LLDB_REGISTER_METHOD(void, SBListener, AddEvent, (const lldb::SBEvent &));
1270     LLDB_REGISTER_METHOD(void, SBListener, Clear, ());
1271     LLDB_REGISTER_METHOD(uint32_t, SBListener, StartListeningForEventClass,
1272                          (lldb::SBDebugger &, const char *, uint32_t));
1273     LLDB_REGISTER_METHOD(bool, SBListener, StopListeningForEventClass,
1274                          (lldb::SBDebugger &, const char *, uint32_t));
1275     LLDB_REGISTER_METHOD(uint32_t, SBListener, StartListeningForEvents,
1276                          (const lldb::SBBroadcaster &, uint32_t));
1277     LLDB_REGISTER_METHOD(bool, SBListener, StopListeningForEvents,
1278                          (const lldb::SBBroadcaster &, uint32_t));
1279     LLDB_REGISTER_METHOD(bool, SBListener, WaitForEvent,
1280                          (uint32_t, lldb::SBEvent &));
1281     LLDB_REGISTER_METHOD(
1282         bool, SBListener, WaitForEventForBroadcaster,
1283         (uint32_t, const lldb::SBBroadcaster &, lldb::SBEvent &));
1284     LLDB_REGISTER_METHOD(
1285         bool, SBListener, WaitForEventForBroadcasterWithType,
1286         (uint32_t, const lldb::SBBroadcaster &, uint32_t, lldb::SBEvent &));
1287     LLDB_REGISTER_METHOD(bool, SBListener, PeekAtNextEvent, (lldb::SBEvent &));
1288     LLDB_REGISTER_METHOD(bool, SBListener, PeekAtNextEventForBroadcaster,
1289                          (const lldb::SBBroadcaster &, lldb::SBEvent &));
1290     LLDB_REGISTER_METHOD(
1291         bool, SBListener, PeekAtNextEventForBroadcasterWithType,
1292         (const lldb::SBBroadcaster &, uint32_t, lldb::SBEvent &));
1293     LLDB_REGISTER_METHOD(bool, SBListener, GetNextEvent, (lldb::SBEvent &));
1294     LLDB_REGISTER_METHOD(bool, SBListener, GetNextEventForBroadcaster,
1295                          (const lldb::SBBroadcaster &, lldb::SBEvent &));
1296     LLDB_REGISTER_METHOD(
1297         bool, SBListener, GetNextEventForBroadcasterWithType,
1298         (const lldb::SBBroadcaster &, uint32_t, lldb::SBEvent &));
1299     LLDB_REGISTER_METHOD(bool, SBListener, HandleBroadcastEvent,
1300                          (const lldb::SBEvent &));
1301   }
1302   {
1303     LLDB_REGISTER_CONSTRUCTOR(SBMemoryRegionInfo, ());
1304     LLDB_REGISTER_CONSTRUCTOR(SBMemoryRegionInfo,
1305                               (const lldb::SBMemoryRegionInfo &));
1306     LLDB_REGISTER_METHOD(
1307         const lldb::SBMemoryRegionInfo &,
1308         SBMemoryRegionInfo, operator=,(const lldb::SBMemoryRegionInfo &));
1309     LLDB_REGISTER_METHOD(void, SBMemoryRegionInfo, Clear, ());
1310     LLDB_REGISTER_METHOD_CONST(
1311         bool,
1312         SBMemoryRegionInfo, operator==,(const lldb::SBMemoryRegionInfo &));
1313     LLDB_REGISTER_METHOD_CONST(
1314         bool,
1315         SBMemoryRegionInfo, operator!=,(const lldb::SBMemoryRegionInfo &));
1316     LLDB_REGISTER_METHOD(lldb::addr_t, SBMemoryRegionInfo, GetRegionBase, ());
1317     LLDB_REGISTER_METHOD(lldb::addr_t, SBMemoryRegionInfo, GetRegionEnd, ());
1318     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfo, IsReadable, ());
1319     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfo, IsWritable, ());
1320     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfo, IsExecutable, ());
1321     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfo, IsMapped, ());
1322     LLDB_REGISTER_METHOD(const char *, SBMemoryRegionInfo, GetName, ());
1323     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfo, GetDescription,
1324                          (lldb::SBStream &));
1325   }
1326   {
1327     LLDB_REGISTER_CONSTRUCTOR(SBMemoryRegionInfoList, ());
1328     LLDB_REGISTER_CONSTRUCTOR(SBMemoryRegionInfoList,
1329                               (const lldb::SBMemoryRegionInfoList &));
1330     LLDB_REGISTER_METHOD(
1331         const lldb::SBMemoryRegionInfoList &,
1332         SBMemoryRegionInfoList, operator=,(
1333                                     const lldb::SBMemoryRegionInfoList &));
1334     LLDB_REGISTER_METHOD_CONST(uint32_t, SBMemoryRegionInfoList, GetSize, ());
1335     LLDB_REGISTER_METHOD(bool, SBMemoryRegionInfoList, GetMemoryRegionAtIndex,
1336                          (uint32_t, lldb::SBMemoryRegionInfo &));
1337     LLDB_REGISTER_METHOD(void, SBMemoryRegionInfoList, Clear, ());
1338     LLDB_REGISTER_METHOD(void, SBMemoryRegionInfoList, Append,
1339                          (lldb::SBMemoryRegionInfo &));
1340     LLDB_REGISTER_METHOD(void, SBMemoryRegionInfoList, Append,
1341                          (lldb::SBMemoryRegionInfoList &));
1342   }
1343   {
1344     LLDB_REGISTER_CONSTRUCTOR(SBModule, ());
1345     LLDB_REGISTER_CONSTRUCTOR(SBModule, (const lldb::SBModuleSpec &));
1346     LLDB_REGISTER_CONSTRUCTOR(SBModule, (const lldb::SBModule &));
1347     LLDB_REGISTER_CONSTRUCTOR(SBModule, (lldb::SBProcess &, lldb::addr_t));
1348     LLDB_REGISTER_METHOD(const lldb::SBModule &,
1349                          SBModule, operator=,(const lldb::SBModule &));
1350     LLDB_REGISTER_METHOD_CONST(bool, SBModule, IsValid, ());
1351     LLDB_REGISTER_METHOD(void, SBModule, Clear, ());
1352     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBModule, GetFileSpec, ());
1353     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBModule, GetPlatformFileSpec,
1354                                ());
1355     LLDB_REGISTER_METHOD(bool, SBModule, SetPlatformFileSpec,
1356                          (const lldb::SBFileSpec &));
1357     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBModule, GetRemoteInstallFileSpec,
1358                          ());
1359     LLDB_REGISTER_METHOD(bool, SBModule, SetRemoteInstallFileSpec,
1360                          (lldb::SBFileSpec &));
1361     LLDB_REGISTER_METHOD_CONST(const char *, SBModule, GetUUIDString, ());
1362     LLDB_REGISTER_METHOD_CONST(bool,
1363                                SBModule, operator==,(const lldb::SBModule &));
1364     LLDB_REGISTER_METHOD_CONST(bool,
1365                                SBModule, operator!=,(const lldb::SBModule &));
1366     LLDB_REGISTER_METHOD(lldb::SBAddress, SBModule, ResolveFileAddress,
1367                          (lldb::addr_t));
1368     LLDB_REGISTER_METHOD(lldb::SBSymbolContext, SBModule,
1369                          ResolveSymbolContextForAddress,
1370                          (const lldb::SBAddress &, uint32_t));
1371     LLDB_REGISTER_METHOD(bool, SBModule, GetDescription, (lldb::SBStream &));
1372     LLDB_REGISTER_METHOD(uint32_t, SBModule, GetNumCompileUnits, ());
1373     LLDB_REGISTER_METHOD(lldb::SBCompileUnit, SBModule, GetCompileUnitAtIndex,
1374                          (uint32_t));
1375     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBModule, FindCompileUnits,
1376                          (const lldb::SBFileSpec &));
1377     LLDB_REGISTER_METHOD(size_t, SBModule, GetNumSymbols, ());
1378     LLDB_REGISTER_METHOD(lldb::SBSymbol, SBModule, GetSymbolAtIndex, (size_t));
1379     LLDB_REGISTER_METHOD(lldb::SBSymbol, SBModule, FindSymbol,
1380                          (const char *, lldb::SymbolType));
1381     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBModule, FindSymbols,
1382                          (const char *, lldb::SymbolType));
1383     LLDB_REGISTER_METHOD(size_t, SBModule, GetNumSections, ());
1384     LLDB_REGISTER_METHOD(lldb::SBSection, SBModule, GetSectionAtIndex,
1385                          (size_t));
1386     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBModule, FindFunctions,
1387                          (const char *, uint32_t));
1388     LLDB_REGISTER_METHOD(lldb::SBValueList, SBModule, FindGlobalVariables,
1389                          (lldb::SBTarget &, const char *, uint32_t));
1390     LLDB_REGISTER_METHOD(lldb::SBValue, SBModule, FindFirstGlobalVariable,
1391                          (lldb::SBTarget &, const char *));
1392     LLDB_REGISTER_METHOD(lldb::SBType, SBModule, FindFirstType, (const char *));
1393     LLDB_REGISTER_METHOD(lldb::SBType, SBModule, GetBasicType,
1394                          (lldb::BasicType));
1395     LLDB_REGISTER_METHOD(lldb::SBTypeList, SBModule, FindTypes, (const char *));
1396     LLDB_REGISTER_METHOD(lldb::SBType, SBModule, GetTypeByID,
1397                          (lldb::user_id_t));
1398     LLDB_REGISTER_METHOD(lldb::SBTypeList, SBModule, GetTypes, (uint32_t));
1399     LLDB_REGISTER_METHOD(lldb::SBSection, SBModule, FindSection,
1400                          (const char *));
1401     LLDB_REGISTER_METHOD(lldb::ByteOrder, SBModule, GetByteOrder, ());
1402     LLDB_REGISTER_METHOD(const char *, SBModule, GetTriple, ());
1403     LLDB_REGISTER_METHOD(uint32_t, SBModule, GetAddressByteSize, ());
1404     LLDB_REGISTER_METHOD(uint32_t, SBModule, GetVersion,
1405                          (uint32_t *, uint32_t));
1406     LLDB_REGISTER_METHOD_CONST(lldb::SBFileSpec, SBModule, GetSymbolFileSpec,
1407                                ());
1408     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBModule,
1409                                GetObjectFileHeaderAddress, ());
1410     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBModule,
1411                                GetObjectFileEntryPointAddress, ());
1412   }
1413   {
1414     LLDB_REGISTER_CONSTRUCTOR(SBModuleSpec, ());
1415     LLDB_REGISTER_CONSTRUCTOR(SBModuleSpec, (const lldb::SBModuleSpec &));
1416     LLDB_REGISTER_METHOD(const lldb::SBModuleSpec &,
1417                          SBModuleSpec, operator=,(const lldb::SBModuleSpec &));
1418     LLDB_REGISTER_METHOD_CONST(bool, SBModuleSpec, IsValid, ());
1419     LLDB_REGISTER_METHOD(void, SBModuleSpec, Clear, ());
1420     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBModuleSpec, GetFileSpec, ());
1421     LLDB_REGISTER_METHOD(void, SBModuleSpec, SetFileSpec,
1422                          (const lldb::SBFileSpec &));
1423     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBModuleSpec, GetPlatformFileSpec,
1424                          ());
1425     LLDB_REGISTER_METHOD(void, SBModuleSpec, SetPlatformFileSpec,
1426                          (const lldb::SBFileSpec &));
1427     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBModuleSpec, GetSymbolFileSpec, ());
1428     LLDB_REGISTER_METHOD(void, SBModuleSpec, SetSymbolFileSpec,
1429                          (const lldb::SBFileSpec &));
1430     LLDB_REGISTER_METHOD(const char *, SBModuleSpec, GetObjectName, ());
1431     LLDB_REGISTER_METHOD(void, SBModuleSpec, SetObjectName, (const char *));
1432     LLDB_REGISTER_METHOD(const char *, SBModuleSpec, GetTriple, ());
1433     LLDB_REGISTER_METHOD(void, SBModuleSpec, SetTriple, (const char *));
1434     LLDB_REGISTER_METHOD(size_t, SBModuleSpec, GetUUIDLength, ());
1435     LLDB_REGISTER_METHOD(bool, SBModuleSpec, GetDescription,
1436                          (lldb::SBStream &));
1437     LLDB_REGISTER_CONSTRUCTOR(SBModuleSpecList, ());
1438     LLDB_REGISTER_CONSTRUCTOR(SBModuleSpecList,
1439                               (const lldb::SBModuleSpecList &));
1440     LLDB_REGISTER_METHOD(
1441         lldb::SBModuleSpecList &,
1442         SBModuleSpecList, operator=,(const lldb::SBModuleSpecList &));
1443     LLDB_REGISTER_STATIC_METHOD(lldb::SBModuleSpecList, SBModuleSpecList,
1444                                 GetModuleSpecifications, (const char *));
1445     LLDB_REGISTER_METHOD(void, SBModuleSpecList, Append,
1446                          (const lldb::SBModuleSpec &));
1447     LLDB_REGISTER_METHOD(void, SBModuleSpecList, Append,
1448                          (const lldb::SBModuleSpecList &));
1449     LLDB_REGISTER_METHOD(size_t, SBModuleSpecList, GetSize, ());
1450     LLDB_REGISTER_METHOD(lldb::SBModuleSpec, SBModuleSpecList, GetSpecAtIndex,
1451                          (size_t));
1452     LLDB_REGISTER_METHOD(lldb::SBModuleSpec, SBModuleSpecList,
1453                          FindFirstMatchingSpec, (const lldb::SBModuleSpec &));
1454     LLDB_REGISTER_METHOD(lldb::SBModuleSpecList, SBModuleSpecList,
1455                          FindMatchingSpecs, (const lldb::SBModuleSpec &));
1456     LLDB_REGISTER_METHOD(bool, SBModuleSpecList, GetDescription,
1457                          (lldb::SBStream &));
1458   }
1459   {
1460     LLDB_REGISTER_CONSTRUCTOR(SBPlatformConnectOptions, (const char *));
1461     LLDB_REGISTER_CONSTRUCTOR(SBPlatformConnectOptions,
1462                               (const lldb::SBPlatformConnectOptions &));
1463     LLDB_REGISTER_METHOD(
1464         void,
1465         SBPlatformConnectOptions, operator=,(
1466                                       const lldb::SBPlatformConnectOptions &));
1467     LLDB_REGISTER_METHOD(const char *, SBPlatformConnectOptions, GetURL, ());
1468     LLDB_REGISTER_METHOD(void, SBPlatformConnectOptions, SetURL,
1469                          (const char *));
1470     LLDB_REGISTER_METHOD(bool, SBPlatformConnectOptions, GetRsyncEnabled, ());
1471     LLDB_REGISTER_METHOD(void, SBPlatformConnectOptions, EnableRsync,
1472                          (const char *, const char *, bool));
1473     LLDB_REGISTER_METHOD(void, SBPlatformConnectOptions, DisableRsync, ());
1474     LLDB_REGISTER_METHOD(const char *, SBPlatformConnectOptions,
1475                          GetLocalCacheDirectory, ());
1476     LLDB_REGISTER_METHOD(void, SBPlatformConnectOptions, SetLocalCacheDirectory,
1477                          (const char *));
1478     LLDB_REGISTER_CONSTRUCTOR(SBPlatformShellCommand, (const char *));
1479     LLDB_REGISTER_CONSTRUCTOR(SBPlatformShellCommand,
1480                               (const lldb::SBPlatformShellCommand &));
1481     LLDB_REGISTER_METHOD(void, SBPlatformShellCommand, Clear, ());
1482     LLDB_REGISTER_METHOD(const char *, SBPlatformShellCommand, GetCommand, ());
1483     LLDB_REGISTER_METHOD(void, SBPlatformShellCommand, SetCommand,
1484                          (const char *));
1485     LLDB_REGISTER_METHOD(const char *, SBPlatformShellCommand,
1486                          GetWorkingDirectory, ());
1487     LLDB_REGISTER_METHOD(void, SBPlatformShellCommand, SetWorkingDirectory,
1488                          (const char *));
1489     LLDB_REGISTER_METHOD(uint32_t, SBPlatformShellCommand, GetTimeoutSeconds,
1490                          ());
1491     LLDB_REGISTER_METHOD(void, SBPlatformShellCommand, SetTimeoutSeconds,
1492                          (uint32_t));
1493     LLDB_REGISTER_METHOD(int, SBPlatformShellCommand, GetSignal, ());
1494     LLDB_REGISTER_METHOD(int, SBPlatformShellCommand, GetStatus, ());
1495     LLDB_REGISTER_METHOD(const char *, SBPlatformShellCommand, GetOutput, ());
1496     LLDB_REGISTER_CONSTRUCTOR(SBPlatform, ());
1497     LLDB_REGISTER_CONSTRUCTOR(SBPlatform, (const char *));
1498     LLDB_REGISTER_METHOD_CONST(bool, SBPlatform, IsValid, ());
1499     LLDB_REGISTER_METHOD(void, SBPlatform, Clear, ());
1500     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetName, ());
1501     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetWorkingDirectory, ());
1502     LLDB_REGISTER_METHOD(bool, SBPlatform, SetWorkingDirectory, (const char *));
1503     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, ConnectRemote,
1504                          (lldb::SBPlatformConnectOptions &));
1505     LLDB_REGISTER_METHOD(void, SBPlatform, DisconnectRemote, ());
1506     LLDB_REGISTER_METHOD(bool, SBPlatform, IsConnected, ());
1507     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetTriple, ());
1508     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetOSBuild, ());
1509     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetOSDescription, ());
1510     LLDB_REGISTER_METHOD(const char *, SBPlatform, GetHostname, ());
1511     LLDB_REGISTER_METHOD(uint32_t, SBPlatform, GetOSMajorVersion, ());
1512     LLDB_REGISTER_METHOD(uint32_t, SBPlatform, GetOSMinorVersion, ());
1513     LLDB_REGISTER_METHOD(uint32_t, SBPlatform, GetOSUpdateVersion, ());
1514     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Get,
1515                          (lldb::SBFileSpec &, lldb::SBFileSpec &));
1516     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Put,
1517                          (lldb::SBFileSpec &, lldb::SBFileSpec &));
1518     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Install,
1519                          (lldb::SBFileSpec &, lldb::SBFileSpec &));
1520     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Run,
1521                          (lldb::SBPlatformShellCommand &));
1522     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Launch,
1523                          (lldb::SBLaunchInfo &));
1524     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, Kill, (const lldb::pid_t));
1525     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, MakeDirectory,
1526                          (const char *, uint32_t));
1527     LLDB_REGISTER_METHOD(uint32_t, SBPlatform, GetFilePermissions,
1528                          (const char *));
1529     LLDB_REGISTER_METHOD(lldb::SBError, SBPlatform, SetFilePermissions,
1530                          (const char *, uint32_t));
1531     LLDB_REGISTER_METHOD_CONST(lldb::SBUnixSignals, SBPlatform, GetUnixSignals,
1532                                ());
1533   }
1534   {
1535     LLDB_REGISTER_CONSTRUCTOR(SBProcess, ());
1536     LLDB_REGISTER_CONSTRUCTOR(SBProcess, (const lldb::SBProcess &));
1537     LLDB_REGISTER_CONSTRUCTOR(SBProcess, (const lldb::ProcessSP &));
1538     LLDB_REGISTER_METHOD(const lldb::SBProcess &,
1539                          SBProcess, operator=,(const lldb::SBProcess &));
1540     LLDB_REGISTER_STATIC_METHOD(const char *, SBProcess,
1541                                 GetBroadcasterClassName, ());
1542     LLDB_REGISTER_METHOD(const char *, SBProcess, GetPluginName, ());
1543     LLDB_REGISTER_METHOD(const char *, SBProcess, GetShortPluginName, ());
1544     LLDB_REGISTER_METHOD(void, SBProcess, Clear, ());
1545     LLDB_REGISTER_METHOD_CONST(bool, SBProcess, IsValid, ());
1546     LLDB_REGISTER_METHOD(bool, SBProcess, RemoteLaunch,
1547                          (const char **, const char **, const char *,
1548                           const char *, const char *, const char *, uint32_t,
1549                           bool, lldb::SBError &));
1550     LLDB_REGISTER_METHOD(bool, SBProcess, RemoteAttachToProcessWithID,
1551                          (lldb::pid_t, lldb::SBError &));
1552     LLDB_REGISTER_METHOD(uint32_t, SBProcess, GetNumThreads, ());
1553     LLDB_REGISTER_METHOD_CONST(lldb::SBThread, SBProcess, GetSelectedThread,
1554                                ());
1555     LLDB_REGISTER_METHOD(lldb::SBThread, SBProcess, CreateOSPluginThread,
1556                          (lldb::tid_t, lldb::addr_t));
1557     LLDB_REGISTER_METHOD_CONST(lldb::SBTarget, SBProcess, GetTarget, ());
1558     LLDB_REGISTER_METHOD(size_t, SBProcess, PutSTDIN, (const char *, size_t));
1559     LLDB_REGISTER_METHOD_CONST(size_t, SBProcess, GetSTDOUT, (char *, size_t));
1560     LLDB_REGISTER_METHOD_CONST(size_t, SBProcess, GetSTDERR, (char *, size_t));
1561     LLDB_REGISTER_METHOD_CONST(size_t, SBProcess, GetAsyncProfileData,
1562                                (char *, size_t));
1563     LLDB_REGISTER_METHOD(lldb::SBTrace, SBProcess, StartTrace,
1564                          (lldb::SBTraceOptions &, lldb::SBError &));
1565     LLDB_REGISTER_METHOD_CONST(void, SBProcess, ReportEventState,
1566                                (const lldb::SBEvent &, FILE *));
1567     LLDB_REGISTER_METHOD(
1568         void, SBProcess, AppendEventStateReport,
1569         (const lldb::SBEvent &, lldb::SBCommandReturnObject &));
1570     LLDB_REGISTER_METHOD(bool, SBProcess, SetSelectedThread,
1571                          (const lldb::SBThread &));
1572     LLDB_REGISTER_METHOD(bool, SBProcess, SetSelectedThreadByID, (lldb::tid_t));
1573     LLDB_REGISTER_METHOD(bool, SBProcess, SetSelectedThreadByIndexID,
1574                          (uint32_t));
1575     LLDB_REGISTER_METHOD(lldb::SBThread, SBProcess, GetThreadAtIndex, (size_t));
1576     LLDB_REGISTER_METHOD(uint32_t, SBProcess, GetNumQueues, ());
1577     LLDB_REGISTER_METHOD(lldb::SBQueue, SBProcess, GetQueueAtIndex, (size_t));
1578     LLDB_REGISTER_METHOD(uint32_t, SBProcess, GetStopID, (bool));
1579     LLDB_REGISTER_METHOD(lldb::SBEvent, SBProcess, GetStopEventForStopID,
1580                          (uint32_t));
1581     LLDB_REGISTER_METHOD(lldb::StateType, SBProcess, GetState, ());
1582     LLDB_REGISTER_METHOD(int, SBProcess, GetExitStatus, ());
1583     LLDB_REGISTER_METHOD(const char *, SBProcess, GetExitDescription, ());
1584     LLDB_REGISTER_METHOD(lldb::pid_t, SBProcess, GetProcessID, ());
1585     LLDB_REGISTER_METHOD(uint32_t, SBProcess, GetUniqueID, ());
1586     LLDB_REGISTER_METHOD_CONST(lldb::ByteOrder, SBProcess, GetByteOrder, ());
1587     LLDB_REGISTER_METHOD_CONST(uint32_t, SBProcess, GetAddressByteSize, ());
1588     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Continue, ());
1589     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Destroy, ());
1590     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Stop, ());
1591     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Kill, ());
1592     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Detach, ());
1593     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Detach, (bool));
1594     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, Signal, (int));
1595     LLDB_REGISTER_METHOD(lldb::SBUnixSignals, SBProcess, GetUnixSignals, ());
1596     LLDB_REGISTER_METHOD(void, SBProcess, SendAsyncInterrupt, ());
1597     LLDB_REGISTER_METHOD(lldb::SBThread, SBProcess, GetThreadByID,
1598                          (lldb::tid_t));
1599     LLDB_REGISTER_METHOD(lldb::SBThread, SBProcess, GetThreadByIndexID,
1600                          (uint32_t));
1601     LLDB_REGISTER_STATIC_METHOD(lldb::StateType, SBProcess, GetStateFromEvent,
1602                                 (const lldb::SBEvent &));
1603     LLDB_REGISTER_STATIC_METHOD(bool, SBProcess, GetRestartedFromEvent,
1604                                 (const lldb::SBEvent &));
1605     LLDB_REGISTER_STATIC_METHOD(size_t, SBProcess,
1606                                 GetNumRestartedReasonsFromEvent,
1607                                 (const lldb::SBEvent &));
1608     LLDB_REGISTER_STATIC_METHOD(const char *, SBProcess,
1609                                 GetRestartedReasonAtIndexFromEvent,
1610                                 (const lldb::SBEvent &, size_t));
1611     LLDB_REGISTER_STATIC_METHOD(lldb::SBProcess, SBProcess, GetProcessFromEvent,
1612                                 (const lldb::SBEvent &));
1613     LLDB_REGISTER_STATIC_METHOD(bool, SBProcess, GetInterruptedFromEvent,
1614                                 (const lldb::SBEvent &));
1615     LLDB_REGISTER_STATIC_METHOD(lldb::SBStructuredData, SBProcess,
1616                                 GetStructuredDataFromEvent,
1617                                 (const lldb::SBEvent &));
1618     LLDB_REGISTER_STATIC_METHOD(bool, SBProcess, EventIsProcessEvent,
1619                                 (const lldb::SBEvent &));
1620     LLDB_REGISTER_STATIC_METHOD(bool, SBProcess, EventIsStructuredDataEvent,
1621                                 (const lldb::SBEvent &));
1622     LLDB_REGISTER_METHOD_CONST(lldb::SBBroadcaster, SBProcess, GetBroadcaster,
1623                                ());
1624     LLDB_REGISTER_STATIC_METHOD(const char *, SBProcess, GetBroadcasterClass,
1625                                 ());
1626     LLDB_REGISTER_METHOD(uint64_t, SBProcess, ReadUnsignedFromMemory,
1627                          (lldb::addr_t, uint32_t, lldb::SBError &));
1628     LLDB_REGISTER_METHOD(lldb::addr_t, SBProcess, ReadPointerFromMemory,
1629                          (lldb::addr_t, lldb::SBError &));
1630     LLDB_REGISTER_METHOD(bool, SBProcess, GetDescription, (lldb::SBStream &));
1631     LLDB_REGISTER_METHOD_CONST(uint32_t, SBProcess,
1632                                GetNumSupportedHardwareWatchpoints,
1633                                (lldb::SBError &));
1634     LLDB_REGISTER_METHOD(uint32_t, SBProcess, LoadImage,
1635                          (lldb::SBFileSpec &, lldb::SBError &));
1636     LLDB_REGISTER_METHOD(
1637         uint32_t, SBProcess, LoadImage,
1638         (const lldb::SBFileSpec &, const lldb::SBFileSpec &, lldb::SBError &));
1639     LLDB_REGISTER_METHOD(uint32_t, SBProcess, LoadImageUsingPaths,
1640                          (const lldb::SBFileSpec &, lldb::SBStringList &,
1641                           lldb::SBFileSpec &, lldb::SBError &));
1642     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, UnloadImage, (uint32_t));
1643     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, SendEventData,
1644                          (const char *));
1645     LLDB_REGISTER_METHOD(uint32_t, SBProcess, GetNumExtendedBacktraceTypes, ());
1646     LLDB_REGISTER_METHOD(const char *, SBProcess,
1647                          GetExtendedBacktraceTypeAtIndex, (uint32_t));
1648     LLDB_REGISTER_METHOD(lldb::SBThreadCollection, SBProcess, GetHistoryThreads,
1649                          (lldb::addr_t));
1650     LLDB_REGISTER_METHOD(bool, SBProcess, IsInstrumentationRuntimePresent,
1651                          (lldb::InstrumentationRuntimeType));
1652     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, SaveCore, (const char *));
1653     LLDB_REGISTER_METHOD(lldb::SBError, SBProcess, GetMemoryRegionInfo,
1654                          (lldb::addr_t, lldb::SBMemoryRegionInfo &));
1655     LLDB_REGISTER_METHOD(lldb::SBMemoryRegionInfoList, SBProcess,
1656                          GetMemoryRegions, ());
1657     LLDB_REGISTER_METHOD(lldb::SBProcessInfo, SBProcess, GetProcessInfo, ());
1658   }
1659   {
1660     LLDB_REGISTER_CONSTRUCTOR(SBProcessInfo, ());
1661     LLDB_REGISTER_CONSTRUCTOR(SBProcessInfo, (const lldb::SBProcessInfo &));
1662     LLDB_REGISTER_METHOD(
1663         lldb::SBProcessInfo &,
1664         SBProcessInfo, operator=,(const lldb::SBProcessInfo &));
1665     LLDB_REGISTER_METHOD_CONST(bool, SBProcessInfo, IsValid, ());
1666     LLDB_REGISTER_METHOD(const char *, SBProcessInfo, GetName, ());
1667     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBProcessInfo, GetExecutableFile,
1668                          ());
1669     LLDB_REGISTER_METHOD(lldb::pid_t, SBProcessInfo, GetProcessID, ());
1670     LLDB_REGISTER_METHOD(uint32_t, SBProcessInfo, GetUserID, ());
1671     LLDB_REGISTER_METHOD(uint32_t, SBProcessInfo, GetGroupID, ());
1672     LLDB_REGISTER_METHOD(bool, SBProcessInfo, UserIDIsValid, ());
1673     LLDB_REGISTER_METHOD(bool, SBProcessInfo, GroupIDIsValid, ());
1674     LLDB_REGISTER_METHOD(uint32_t, SBProcessInfo, GetEffectiveUserID, ());
1675     LLDB_REGISTER_METHOD(uint32_t, SBProcessInfo, GetEffectiveGroupID, ());
1676     LLDB_REGISTER_METHOD(bool, SBProcessInfo, EffectiveUserIDIsValid, ());
1677     LLDB_REGISTER_METHOD(bool, SBProcessInfo, EffectiveGroupIDIsValid, ());
1678     LLDB_REGISTER_METHOD(lldb::pid_t, SBProcessInfo, GetParentProcessID, ());
1679   }
1680   {
1681     LLDB_REGISTER_CONSTRUCTOR(SBQueue, ());
1682     LLDB_REGISTER_CONSTRUCTOR(SBQueue, (const lldb::QueueSP &));
1683     LLDB_REGISTER_CONSTRUCTOR(SBQueue, (const lldb::SBQueue &));
1684     LLDB_REGISTER_METHOD(const lldb::SBQueue &,
1685                          SBQueue, operator=,(const lldb::SBQueue &));
1686     LLDB_REGISTER_METHOD_CONST(bool, SBQueue, IsValid, ());
1687     LLDB_REGISTER_METHOD(void, SBQueue, Clear, ());
1688     LLDB_REGISTER_METHOD_CONST(lldb::queue_id_t, SBQueue, GetQueueID, ());
1689     LLDB_REGISTER_METHOD_CONST(uint32_t, SBQueue, GetIndexID, ());
1690     LLDB_REGISTER_METHOD_CONST(const char *, SBQueue, GetName, ());
1691     LLDB_REGISTER_METHOD(uint32_t, SBQueue, GetNumThreads, ());
1692     LLDB_REGISTER_METHOD(lldb::SBThread, SBQueue, GetThreadAtIndex, (uint32_t));
1693     LLDB_REGISTER_METHOD(uint32_t, SBQueue, GetNumPendingItems, ());
1694     LLDB_REGISTER_METHOD(lldb::SBQueueItem, SBQueue, GetPendingItemAtIndex,
1695                          (uint32_t));
1696     LLDB_REGISTER_METHOD(uint32_t, SBQueue, GetNumRunningItems, ());
1697     LLDB_REGISTER_METHOD(lldb::SBProcess, SBQueue, GetProcess, ());
1698     LLDB_REGISTER_METHOD(lldb::QueueKind, SBQueue, GetKind, ());
1699   }
1700   {
1701     LLDB_REGISTER_CONSTRUCTOR(SBQueueItem, ());
1702     LLDB_REGISTER_CONSTRUCTOR(SBQueueItem, (const lldb::QueueItemSP &));
1703     LLDB_REGISTER_METHOD_CONST(bool, SBQueueItem, IsValid, ());
1704     LLDB_REGISTER_METHOD(void, SBQueueItem, Clear, ());
1705     LLDB_REGISTER_METHOD(void, SBQueueItem, SetQueueItem,
1706                          (const lldb::QueueItemSP &));
1707     LLDB_REGISTER_METHOD_CONST(lldb::QueueItemKind, SBQueueItem, GetKind, ());
1708     LLDB_REGISTER_METHOD(void, SBQueueItem, SetKind, (lldb::QueueItemKind));
1709     LLDB_REGISTER_METHOD_CONST(lldb::SBAddress, SBQueueItem, GetAddress, ());
1710     LLDB_REGISTER_METHOD(void, SBQueueItem, SetAddress, (lldb::SBAddress));
1711     LLDB_REGISTER_METHOD(lldb::SBThread, SBQueueItem,
1712                          GetExtendedBacktraceThread, (const char *));
1713   }
1714   {
1715     LLDB_REGISTER_CONSTRUCTOR(SBSection, ());
1716     LLDB_REGISTER_CONSTRUCTOR(SBSection, (const lldb::SBSection &));
1717     LLDB_REGISTER_METHOD(const lldb::SBSection &,
1718                          SBSection, operator=,(const lldb::SBSection &));
1719     LLDB_REGISTER_METHOD_CONST(bool, SBSection, IsValid, ());
1720     LLDB_REGISTER_METHOD(const char *, SBSection, GetName, ());
1721     LLDB_REGISTER_METHOD(lldb::SBSection, SBSection, GetParent, ());
1722     LLDB_REGISTER_METHOD(lldb::SBSection, SBSection, FindSubSection,
1723                          (const char *));
1724     LLDB_REGISTER_METHOD(size_t, SBSection, GetNumSubSections, ());
1725     LLDB_REGISTER_METHOD(lldb::SBSection, SBSection, GetSubSectionAtIndex,
1726                          (size_t));
1727     LLDB_REGISTER_METHOD(lldb::addr_t, SBSection, GetFileAddress, ());
1728     LLDB_REGISTER_METHOD(lldb::addr_t, SBSection, GetLoadAddress,
1729                          (lldb::SBTarget &));
1730     LLDB_REGISTER_METHOD(lldb::addr_t, SBSection, GetByteSize, ());
1731     LLDB_REGISTER_METHOD(uint64_t, SBSection, GetFileOffset, ());
1732     LLDB_REGISTER_METHOD(uint64_t, SBSection, GetFileByteSize, ());
1733     LLDB_REGISTER_METHOD(lldb::SBData, SBSection, GetSectionData, ());
1734     LLDB_REGISTER_METHOD(lldb::SBData, SBSection, GetSectionData,
1735                          (uint64_t, uint64_t));
1736     LLDB_REGISTER_METHOD(lldb::SectionType, SBSection, GetSectionType, ());
1737     LLDB_REGISTER_METHOD_CONST(uint32_t, SBSection, GetPermissions, ());
1738     LLDB_REGISTER_METHOD(uint32_t, SBSection, GetTargetByteSize, ());
1739     LLDB_REGISTER_METHOD(bool, SBSection, operator==,(const lldb::SBSection &));
1740     LLDB_REGISTER_METHOD(bool, SBSection, operator!=,(const lldb::SBSection &));
1741     LLDB_REGISTER_METHOD(bool, SBSection, GetDescription, (lldb::SBStream &));
1742   }
1743   {
1744     LLDB_REGISTER_CONSTRUCTOR(SBSourceManager, (const lldb::SBDebugger &));
1745     LLDB_REGISTER_CONSTRUCTOR(SBSourceManager, (const lldb::SBTarget &));
1746     LLDB_REGISTER_CONSTRUCTOR(SBSourceManager, (const lldb::SBSourceManager &));
1747     LLDB_REGISTER_METHOD(
1748         const lldb::SBSourceManager &,
1749         SBSourceManager, operator=,(const lldb::SBSourceManager &));
1750     LLDB_REGISTER_METHOD(size_t, SBSourceManager,
1751                          DisplaySourceLinesWithLineNumbers,
1752                          (const lldb::SBFileSpec &, uint32_t, uint32_t,
1753                           uint32_t, const char *, lldb::SBStream &));
1754     LLDB_REGISTER_METHOD(size_t, SBSourceManager,
1755                          DisplaySourceLinesWithLineNumbersAndColumn,
1756                          (const lldb::SBFileSpec &, uint32_t, uint32_t,
1757                           uint32_t, uint32_t, const char *, lldb::SBStream &));
1758   }
1759   {
1760     LLDB_REGISTER_CONSTRUCTOR(SBStream, ());
1761     LLDB_REGISTER_METHOD_CONST(bool, SBStream, IsValid, ());
1762     LLDB_REGISTER_METHOD(const char *, SBStream, GetData, ());
1763     LLDB_REGISTER_METHOD(size_t, SBStream, GetSize, ());
1764     LLDB_REGISTER_METHOD(void, SBStream, RedirectToFile, (const char *, bool));
1765     LLDB_REGISTER_METHOD(void, SBStream, RedirectToFileHandle, (FILE *, bool));
1766     LLDB_REGISTER_METHOD(void, SBStream, RedirectToFileDescriptor, (int, bool));
1767     LLDB_REGISTER_METHOD(void, SBStream, Clear, ());
1768   }
1769   {
1770     LLDB_REGISTER_CONSTRUCTOR(SBStringList, ());
1771     LLDB_REGISTER_CONSTRUCTOR(SBStringList, (const lldb::SBStringList &));
1772     LLDB_REGISTER_METHOD(const lldb::SBStringList &,
1773                          SBStringList, operator=,(const lldb::SBStringList &));
1774     LLDB_REGISTER_METHOD_CONST(bool, SBStringList, IsValid, ());
1775     LLDB_REGISTER_METHOD(void, SBStringList, AppendString, (const char *));
1776     LLDB_REGISTER_METHOD(void, SBStringList, AppendList, (const char **, int));
1777     LLDB_REGISTER_METHOD(void, SBStringList, AppendList,
1778                          (const lldb::SBStringList &));
1779     LLDB_REGISTER_METHOD_CONST(uint32_t, SBStringList, GetSize, ());
1780     LLDB_REGISTER_METHOD(const char *, SBStringList, GetStringAtIndex,
1781                          (size_t));
1782     LLDB_REGISTER_METHOD_CONST(const char *, SBStringList, GetStringAtIndex,
1783                                (size_t));
1784     LLDB_REGISTER_METHOD(void, SBStringList, Clear, ());
1785   }
1786   {
1787     LLDB_REGISTER_CONSTRUCTOR(SBStructuredData, ());
1788     LLDB_REGISTER_CONSTRUCTOR(SBStructuredData,
1789                               (const lldb::SBStructuredData &));
1790     LLDB_REGISTER_CONSTRUCTOR(SBStructuredData, (const lldb::EventSP &));
1791     LLDB_REGISTER_CONSTRUCTOR(SBStructuredData,
1792                               (lldb_private::StructuredDataImpl *));
1793     LLDB_REGISTER_METHOD(
1794         lldb::SBStructuredData &,
1795         SBStructuredData, operator=,(const lldb::SBStructuredData &));
1796     LLDB_REGISTER_METHOD(lldb::SBError, SBStructuredData, SetFromJSON,
1797                          (lldb::SBStream &));
1798     LLDB_REGISTER_METHOD_CONST(bool, SBStructuredData, IsValid, ());
1799     LLDB_REGISTER_METHOD(void, SBStructuredData, Clear, ());
1800     LLDB_REGISTER_METHOD_CONST(lldb::SBError, SBStructuredData, GetAsJSON,
1801                                (lldb::SBStream &));
1802     LLDB_REGISTER_METHOD_CONST(lldb::SBError, SBStructuredData, GetDescription,
1803                                (lldb::SBStream &));
1804     LLDB_REGISTER_METHOD_CONST(lldb::StructuredDataType, SBStructuredData,
1805                                GetType, ());
1806     LLDB_REGISTER_METHOD_CONST(size_t, SBStructuredData, GetSize, ());
1807     LLDB_REGISTER_METHOD_CONST(bool, SBStructuredData, GetKeys,
1808                                (lldb::SBStringList &));
1809     LLDB_REGISTER_METHOD_CONST(lldb::SBStructuredData, SBStructuredData,
1810                                GetValueForKey, (const char *));
1811     LLDB_REGISTER_METHOD_CONST(lldb::SBStructuredData, SBStructuredData,
1812                                GetItemAtIndex, (size_t));
1813     LLDB_REGISTER_METHOD_CONST(uint64_t, SBStructuredData, GetIntegerValue,
1814                                (uint64_t));
1815     LLDB_REGISTER_METHOD_CONST(double, SBStructuredData, GetFloatValue,
1816                                (double));
1817     LLDB_REGISTER_METHOD_CONST(bool, SBStructuredData, GetBooleanValue, (bool));
1818     LLDB_REGISTER_METHOD_CONST(size_t, SBStructuredData, GetStringValue,
1819                                (char *, size_t));
1820   }
1821   {
1822     LLDB_REGISTER_CONSTRUCTOR(SBSymbol, ());
1823     LLDB_REGISTER_CONSTRUCTOR(SBSymbol, (const lldb::SBSymbol &));
1824     LLDB_REGISTER_METHOD(const lldb::SBSymbol &,
1825                          SBSymbol, operator=,(const lldb::SBSymbol &));
1826     LLDB_REGISTER_METHOD_CONST(bool, SBSymbol, IsValid, ());
1827     LLDB_REGISTER_METHOD_CONST(const char *, SBSymbol, GetName, ());
1828     LLDB_REGISTER_METHOD_CONST(const char *, SBSymbol, GetDisplayName, ());
1829     LLDB_REGISTER_METHOD_CONST(const char *, SBSymbol, GetMangledName, ());
1830     LLDB_REGISTER_METHOD_CONST(bool,
1831                                SBSymbol, operator==,(const lldb::SBSymbol &));
1832     LLDB_REGISTER_METHOD_CONST(bool,
1833                                SBSymbol, operator!=,(const lldb::SBSymbol &));
1834     LLDB_REGISTER_METHOD(bool, SBSymbol, GetDescription, (lldb::SBStream &));
1835     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBSymbol, GetInstructions,
1836                          (lldb::SBTarget));
1837     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBSymbol, GetInstructions,
1838                          (lldb::SBTarget, const char *));
1839     LLDB_REGISTER_METHOD(lldb::SBAddress, SBSymbol, GetStartAddress, ());
1840     LLDB_REGISTER_METHOD(lldb::SBAddress, SBSymbol, GetEndAddress, ());
1841     LLDB_REGISTER_METHOD(uint32_t, SBSymbol, GetPrologueByteSize, ());
1842     LLDB_REGISTER_METHOD(lldb::SymbolType, SBSymbol, GetType, ());
1843     LLDB_REGISTER_METHOD(bool, SBSymbol, IsExternal, ());
1844     LLDB_REGISTER_METHOD(bool, SBSymbol, IsSynthetic, ());
1845   }
1846   {
1847     LLDB_REGISTER_CONSTRUCTOR(SBSymbolContext, ());
1848     LLDB_REGISTER_CONSTRUCTOR(SBSymbolContext,
1849                               (const lldb_private::SymbolContext *));
1850     LLDB_REGISTER_CONSTRUCTOR(SBSymbolContext, (const lldb::SBSymbolContext &));
1851     LLDB_REGISTER_METHOD(
1852         const lldb::SBSymbolContext &,
1853         SBSymbolContext, operator=,(const lldb::SBSymbolContext &));
1854     LLDB_REGISTER_METHOD_CONST(bool, SBSymbolContext, IsValid, ());
1855     LLDB_REGISTER_METHOD(lldb::SBModule, SBSymbolContext, GetModule, ());
1856     LLDB_REGISTER_METHOD(lldb::SBCompileUnit, SBSymbolContext, GetCompileUnit,
1857                          ());
1858     LLDB_REGISTER_METHOD(lldb::SBFunction, SBSymbolContext, GetFunction, ());
1859     LLDB_REGISTER_METHOD(lldb::SBBlock, SBSymbolContext, GetBlock, ());
1860     LLDB_REGISTER_METHOD(lldb::SBLineEntry, SBSymbolContext, GetLineEntry, ());
1861     LLDB_REGISTER_METHOD(lldb::SBSymbol, SBSymbolContext, GetSymbol, ());
1862     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetModule, (lldb::SBModule));
1863     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetCompileUnit,
1864                          (lldb::SBCompileUnit));
1865     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetFunction,
1866                          (lldb::SBFunction));
1867     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetBlock, (lldb::SBBlock));
1868     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetLineEntry,
1869                          (lldb::SBLineEntry));
1870     LLDB_REGISTER_METHOD(void, SBSymbolContext, SetSymbol, (lldb::SBSymbol));
1871     LLDB_REGISTER_METHOD(bool, SBSymbolContext, GetDescription,
1872                          (lldb::SBStream &));
1873     LLDB_REGISTER_METHOD_CONST(lldb::SBSymbolContext, SBSymbolContext,
1874                                GetParentOfInlinedScope,
1875                                (const lldb::SBAddress &, lldb::SBAddress &));
1876   }
1877   {
1878     LLDB_REGISTER_CONSTRUCTOR(SBSymbolContextList, ());
1879     LLDB_REGISTER_CONSTRUCTOR(SBSymbolContextList,
1880                               (const lldb::SBSymbolContextList &));
1881     LLDB_REGISTER_METHOD(
1882         const lldb::SBSymbolContextList &,
1883         SBSymbolContextList, operator=,(const lldb::SBSymbolContextList &));
1884     LLDB_REGISTER_METHOD_CONST(uint32_t, SBSymbolContextList, GetSize, ());
1885     LLDB_REGISTER_METHOD(lldb::SBSymbolContext, SBSymbolContextList,
1886                          GetContextAtIndex, (uint32_t));
1887     LLDB_REGISTER_METHOD(void, SBSymbolContextList, Clear, ());
1888     LLDB_REGISTER_METHOD(void, SBSymbolContextList, Append,
1889                          (lldb::SBSymbolContext &));
1890     LLDB_REGISTER_METHOD(void, SBSymbolContextList, Append,
1891                          (lldb::SBSymbolContextList &));
1892     LLDB_REGISTER_METHOD_CONST(bool, SBSymbolContextList, IsValid, ());
1893     LLDB_REGISTER_METHOD(bool, SBSymbolContextList, GetDescription,
1894                          (lldb::SBStream &));
1895   }
1896   {
1897     LLDB_REGISTER_CONSTRUCTOR(SBTarget, ());
1898     LLDB_REGISTER_CONSTRUCTOR(SBTarget, (const lldb::SBTarget &));
1899     LLDB_REGISTER_CONSTRUCTOR(SBTarget, (const lldb::TargetSP &));
1900     LLDB_REGISTER_METHOD(const lldb::SBTarget &,
1901                          SBTarget, operator=,(const lldb::SBTarget &));
1902     LLDB_REGISTER_STATIC_METHOD(bool, SBTarget, EventIsTargetEvent,
1903                                 (const lldb::SBEvent &));
1904     LLDB_REGISTER_STATIC_METHOD(lldb::SBTarget, SBTarget, GetTargetFromEvent,
1905                                 (const lldb::SBEvent &));
1906     LLDB_REGISTER_STATIC_METHOD(uint32_t, SBTarget, GetNumModulesFromEvent,
1907                                 (const lldb::SBEvent &));
1908     LLDB_REGISTER_STATIC_METHOD(lldb::SBModule, SBTarget,
1909                                 GetModuleAtIndexFromEvent,
1910                                 (const uint32_t, const lldb::SBEvent &));
1911     LLDB_REGISTER_STATIC_METHOD(const char *, SBTarget, GetBroadcasterClassName,
1912                                 ());
1913     LLDB_REGISTER_METHOD_CONST(bool, SBTarget, IsValid, ());
1914     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, GetProcess, ());
1915     LLDB_REGISTER_METHOD(lldb::SBPlatform, SBTarget, GetPlatform, ());
1916     LLDB_REGISTER_METHOD_CONST(lldb::SBDebugger, SBTarget, GetDebugger, ());
1917     LLDB_REGISTER_METHOD(lldb::SBStructuredData, SBTarget, GetStatistics, ());
1918     LLDB_REGISTER_METHOD(void, SBTarget, SetCollectingStats, (bool));
1919     LLDB_REGISTER_METHOD(bool, SBTarget, GetCollectingStats, ());
1920     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, LoadCore, (const char *));
1921     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, LoadCore,
1922                          (const char *, lldb::SBError &));
1923     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, LaunchSimple,
1924                          (const char **, const char **, const char *));
1925     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, Install, ());
1926     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, Launch,
1927                          (lldb::SBListener &, const char **, const char **,
1928                           const char *, const char *, const char *,
1929                           const char *, uint32_t, bool, lldb::SBError &));
1930     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, Launch,
1931                          (lldb::SBLaunchInfo &, lldb::SBError &));
1932     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, Attach,
1933                          (lldb::SBAttachInfo &, lldb::SBError &));
1934     LLDB_REGISTER_METHOD(lldb::SBProcess, SBTarget, AttachToProcessWithID,
1935                          (lldb::SBListener &, lldb::pid_t, lldb::SBError &));
1936     LLDB_REGISTER_METHOD(
1937         lldb::SBProcess, SBTarget, AttachToProcessWithName,
1938         (lldb::SBListener &, const char *, bool, lldb::SBError &));
1939     LLDB_REGISTER_METHOD(
1940         lldb::SBProcess, SBTarget, ConnectRemote,
1941         (lldb::SBListener &, const char *, const char *, lldb::SBError &));
1942     LLDB_REGISTER_METHOD(lldb::SBFileSpec, SBTarget, GetExecutable, ());
1943     LLDB_REGISTER_METHOD_CONST(bool,
1944                                SBTarget, operator==,(const lldb::SBTarget &));
1945     LLDB_REGISTER_METHOD_CONST(bool,
1946                                SBTarget, operator!=,(const lldb::SBTarget &));
1947     LLDB_REGISTER_METHOD(lldb::SBAddress, SBTarget, ResolveLoadAddress,
1948                          (lldb::addr_t));
1949     LLDB_REGISTER_METHOD(lldb::SBAddress, SBTarget, ResolveFileAddress,
1950                          (lldb::addr_t));
1951     LLDB_REGISTER_METHOD(lldb::SBAddress, SBTarget, ResolvePastLoadAddress,
1952                          (uint32_t, lldb::addr_t));
1953     LLDB_REGISTER_METHOD(lldb::SBSymbolContext, SBTarget,
1954                          ResolveSymbolContextForAddress,
1955                          (const lldb::SBAddress &, uint32_t));
1956     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1957                          BreakpointCreateByLocation, (const char *, uint32_t));
1958     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1959                          BreakpointCreateByLocation,
1960                          (const lldb::SBFileSpec &, uint32_t));
1961     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1962                          BreakpointCreateByLocation,
1963                          (const lldb::SBFileSpec &, uint32_t, lldb::addr_t));
1964     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1965                          BreakpointCreateByLocation,
1966                          (const lldb::SBFileSpec &, uint32_t, lldb::addr_t,
1967                           lldb::SBFileSpecList &));
1968     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
1969                          BreakpointCreateByLocation,
1970                          (const lldb::SBFileSpec &, uint32_t, uint32_t,
1971                           lldb::addr_t, lldb::SBFileSpecList &));
1972     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByName,
1973                          (const char *, const char *));
1974     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByName,
1975                          (const char *, const lldb::SBFileSpecList &,
1976                           const lldb::SBFileSpecList &));
1977     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByName,
1978                          (const char *, uint32_t, const lldb::SBFileSpecList &,
1979                           const lldb::SBFileSpecList &));
1980     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByName,
1981                          (const char *, uint32_t, lldb::LanguageType,
1982                           const lldb::SBFileSpecList &,
1983                           const lldb::SBFileSpecList &));
1984     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByNames,
1985                          (const char **, uint32_t, uint32_t,
1986                           const lldb::SBFileSpecList &,
1987                           const lldb::SBFileSpecList &));
1988     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByNames,
1989                          (const char **, uint32_t, uint32_t, lldb::LanguageType,
1990                           const lldb::SBFileSpecList &,
1991                           const lldb::SBFileSpecList &));
1992     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByNames,
1993                          (const char **, uint32_t, uint32_t, lldb::LanguageType,
1994                           lldb::addr_t, const lldb::SBFileSpecList &,
1995                           const lldb::SBFileSpecList &));
1996     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByRegex,
1997                          (const char *, const char *));
1998     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByRegex,
1999                          (const char *, const lldb::SBFileSpecList &,
2000                           const lldb::SBFileSpecList &));
2001     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByRegex,
2002                          (const char *, lldb::LanguageType,
2003                           const lldb::SBFileSpecList &,
2004                           const lldb::SBFileSpecList &));
2005     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
2006                          BreakpointCreateByAddress, (lldb::addr_t));
2007     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
2008                          BreakpointCreateBySBAddress, (lldb::SBAddress &));
2009     LLDB_REGISTER_METHOD(
2010         lldb::SBBreakpoint, SBTarget, BreakpointCreateBySourceRegex,
2011         (const char *, const lldb::SBFileSpec &, const char *));
2012     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
2013                          BreakpointCreateBySourceRegex,
2014                          (const char *, const lldb::SBFileSpecList &,
2015                           const lldb::SBFileSpecList &));
2016     LLDB_REGISTER_METHOD(
2017         lldb::SBBreakpoint, SBTarget, BreakpointCreateBySourceRegex,
2018         (const char *, const lldb::SBFileSpecList &,
2019          const lldb::SBFileSpecList &, const lldb::SBStringList &));
2020     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget,
2021                          BreakpointCreateForException,
2022                          (lldb::LanguageType, bool, bool));
2023     LLDB_REGISTER_METHOD(
2024         lldb::SBBreakpoint, SBTarget, BreakpointCreateFromScript,
2025         (const char *, lldb::SBStructuredData &, const lldb::SBFileSpecList &,
2026          const lldb::SBFileSpecList &, bool));
2027     LLDB_REGISTER_METHOD_CONST(uint32_t, SBTarget, GetNumBreakpoints, ());
2028     LLDB_REGISTER_METHOD_CONST(lldb::SBBreakpoint, SBTarget,
2029                                GetBreakpointAtIndex, (uint32_t));
2030     LLDB_REGISTER_METHOD(bool, SBTarget, BreakpointDelete, (lldb::break_id_t));
2031     LLDB_REGISTER_METHOD(lldb::SBBreakpoint, SBTarget, FindBreakpointByID,
2032                          (lldb::break_id_t));
2033     LLDB_REGISTER_METHOD(bool, SBTarget, FindBreakpointsByName,
2034                          (const char *, lldb::SBBreakpointList &));
2035     LLDB_REGISTER_METHOD(void, SBTarget, GetBreakpointNames,
2036                          (lldb::SBStringList &));
2037     LLDB_REGISTER_METHOD(void, SBTarget, DeleteBreakpointName, (const char *));
2038     LLDB_REGISTER_METHOD(bool, SBTarget, EnableAllBreakpoints, ());
2039     LLDB_REGISTER_METHOD(bool, SBTarget, DisableAllBreakpoints, ());
2040     LLDB_REGISTER_METHOD(bool, SBTarget, DeleteAllBreakpoints, ());
2041     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, BreakpointsCreateFromFile,
2042                          (lldb::SBFileSpec &, lldb::SBBreakpointList &));
2043     LLDB_REGISTER_METHOD(
2044         lldb::SBError, SBTarget, BreakpointsCreateFromFile,
2045         (lldb::SBFileSpec &, lldb::SBStringList &, lldb::SBBreakpointList &));
2046     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, BreakpointsWriteToFile,
2047                          (lldb::SBFileSpec &));
2048     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, BreakpointsWriteToFile,
2049                          (lldb::SBFileSpec &, lldb::SBBreakpointList &, bool));
2050     LLDB_REGISTER_METHOD_CONST(uint32_t, SBTarget, GetNumWatchpoints, ());
2051     LLDB_REGISTER_METHOD_CONST(lldb::SBWatchpoint, SBTarget,
2052                                GetWatchpointAtIndex, (uint32_t));
2053     LLDB_REGISTER_METHOD(bool, SBTarget, DeleteWatchpoint, (lldb::watch_id_t));
2054     LLDB_REGISTER_METHOD(lldb::SBWatchpoint, SBTarget, FindWatchpointByID,
2055                          (lldb::watch_id_t));
2056     LLDB_REGISTER_METHOD(lldb::SBWatchpoint, SBTarget, WatchAddress,
2057                          (lldb::addr_t, size_t, bool, bool, lldb::SBError &));
2058     LLDB_REGISTER_METHOD(bool, SBTarget, EnableAllWatchpoints, ());
2059     LLDB_REGISTER_METHOD(bool, SBTarget, DisableAllWatchpoints, ());
2060     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, CreateValueFromAddress,
2061                          (const char *, lldb::SBAddress, lldb::SBType));
2062     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, CreateValueFromData,
2063                          (const char *, lldb::SBData, lldb::SBType));
2064     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, CreateValueFromExpression,
2065                          (const char *, const char *));
2066     LLDB_REGISTER_METHOD(bool, SBTarget, DeleteAllWatchpoints, ());
2067     LLDB_REGISTER_METHOD(void, SBTarget, AppendImageSearchPath,
2068                          (const char *, const char *, lldb::SBError &));
2069     LLDB_REGISTER_METHOD(lldb::SBModule, SBTarget, AddModule,
2070                          (const char *, const char *, const char *));
2071     LLDB_REGISTER_METHOD(
2072         lldb::SBModule, SBTarget, AddModule,
2073         (const char *, const char *, const char *, const char *));
2074     LLDB_REGISTER_METHOD(lldb::SBModule, SBTarget, AddModule,
2075                          (const lldb::SBModuleSpec &));
2076     LLDB_REGISTER_METHOD(bool, SBTarget, AddModule, (lldb::SBModule &));
2077     LLDB_REGISTER_METHOD_CONST(uint32_t, SBTarget, GetNumModules, ());
2078     LLDB_REGISTER_METHOD(void, SBTarget, Clear, ());
2079     LLDB_REGISTER_METHOD(lldb::SBModule, SBTarget, FindModule,
2080                          (const lldb::SBFileSpec &));
2081     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBTarget, FindCompileUnits,
2082                          (const lldb::SBFileSpec &));
2083     LLDB_REGISTER_METHOD(lldb::ByteOrder, SBTarget, GetByteOrder, ());
2084     LLDB_REGISTER_METHOD(const char *, SBTarget, GetTriple, ());
2085     LLDB_REGISTER_METHOD(uint32_t, SBTarget, GetDataByteSize, ());
2086     LLDB_REGISTER_METHOD(uint32_t, SBTarget, GetCodeByteSize, ());
2087     LLDB_REGISTER_METHOD(uint32_t, SBTarget, GetAddressByteSize, ());
2088     LLDB_REGISTER_METHOD(lldb::SBModule, SBTarget, GetModuleAtIndex,
2089                          (uint32_t));
2090     LLDB_REGISTER_METHOD(bool, SBTarget, RemoveModule, (lldb::SBModule));
2091     LLDB_REGISTER_METHOD_CONST(lldb::SBBroadcaster, SBTarget, GetBroadcaster,
2092                                ());
2093     LLDB_REGISTER_METHOD(bool, SBTarget, GetDescription,
2094                          (lldb::SBStream &, lldb::DescriptionLevel));
2095     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBTarget, FindFunctions,
2096                          (const char *, uint32_t));
2097     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBTarget,
2098                          FindGlobalFunctions,
2099                          (const char *, uint32_t, lldb::MatchType));
2100     LLDB_REGISTER_METHOD(lldb::SBType, SBTarget, FindFirstType, (const char *));
2101     LLDB_REGISTER_METHOD(lldb::SBType, SBTarget, GetBasicType,
2102                          (lldb::BasicType));
2103     LLDB_REGISTER_METHOD(lldb::SBTypeList, SBTarget, FindTypes, (const char *));
2104     LLDB_REGISTER_METHOD(lldb::SBValueList, SBTarget, FindGlobalVariables,
2105                          (const char *, uint32_t));
2106     LLDB_REGISTER_METHOD(lldb::SBValueList, SBTarget, FindGlobalVariables,
2107                          (const char *, uint32_t, lldb::MatchType));
2108     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, FindFirstGlobalVariable,
2109                          (const char *));
2110     LLDB_REGISTER_METHOD(lldb::SBSourceManager, SBTarget, GetSourceManager, ());
2111     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBTarget, ReadInstructions,
2112                          (lldb::SBAddress, uint32_t));
2113     LLDB_REGISTER_METHOD(lldb::SBInstructionList, SBTarget, ReadInstructions,
2114                          (lldb::SBAddress, uint32_t, const char *));
2115     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, SetSectionLoadAddress,
2116                          (lldb::SBSection, lldb::addr_t));
2117     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, ClearSectionLoadAddress,
2118                          (lldb::SBSection));
2119     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, SetModuleLoadAddress,
2120                          (lldb::SBModule, int64_t));
2121     LLDB_REGISTER_METHOD(lldb::SBError, SBTarget, ClearModuleLoadAddress,
2122                          (lldb::SBModule));
2123     LLDB_REGISTER_METHOD(lldb::SBSymbolContextList, SBTarget, FindSymbols,
2124                          (const char *, lldb::SymbolType));
2125     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, EvaluateExpression,
2126                          (const char *));
2127     LLDB_REGISTER_METHOD(lldb::SBValue, SBTarget, EvaluateExpression,
2128                          (const char *, const lldb::SBExpressionOptions &));
2129     LLDB_REGISTER_METHOD(lldb::addr_t, SBTarget, GetStackRedZoneSize, ());
2130     LLDB_REGISTER_METHOD_CONST(lldb::SBLaunchInfo, SBTarget, GetLaunchInfo, ());
2131     LLDB_REGISTER_METHOD(void, SBTarget, SetLaunchInfo,
2132                          (const lldb::SBLaunchInfo &));
2133   }
2134   {
2135     LLDB_REGISTER_STATIC_METHOD(const char *, SBThread, GetBroadcasterClassName,
2136                                 ());
2137     LLDB_REGISTER_CONSTRUCTOR(SBThread, ());
2138     LLDB_REGISTER_CONSTRUCTOR(SBThread, (const lldb::ThreadSP &));
2139     LLDB_REGISTER_CONSTRUCTOR(SBThread, (const lldb::SBThread &));
2140     LLDB_REGISTER_METHOD(const lldb::SBThread &,
2141                          SBThread, operator=,(const lldb::SBThread &));
2142     LLDB_REGISTER_METHOD_CONST(lldb::SBQueue, SBThread, GetQueue, ());
2143     LLDB_REGISTER_METHOD_CONST(bool, SBThread, IsValid, ());
2144     LLDB_REGISTER_METHOD(void, SBThread, Clear, ());
2145     LLDB_REGISTER_METHOD(lldb::StopReason, SBThread, GetStopReason, ());
2146     LLDB_REGISTER_METHOD(size_t, SBThread, GetStopReasonDataCount, ());
2147     LLDB_REGISTER_METHOD(uint64_t, SBThread, GetStopReasonDataAtIndex,
2148                          (uint32_t));
2149     LLDB_REGISTER_METHOD(bool, SBThread, GetStopReasonExtendedInfoAsJSON,
2150                          (lldb::SBStream &));
2151     LLDB_REGISTER_METHOD(lldb::SBThreadCollection, SBThread,
2152                          GetStopReasonExtendedBacktraces,
2153                          (lldb::InstrumentationRuntimeType));
2154     LLDB_REGISTER_METHOD(size_t, SBThread, GetStopDescription,
2155                          (char *, size_t));
2156     LLDB_REGISTER_METHOD(lldb::SBValue, SBThread, GetStopReturnValue, ());
2157     LLDB_REGISTER_METHOD_CONST(lldb::tid_t, SBThread, GetThreadID, ());
2158     LLDB_REGISTER_METHOD_CONST(uint32_t, SBThread, GetIndexID, ());
2159     LLDB_REGISTER_METHOD_CONST(const char *, SBThread, GetName, ());
2160     LLDB_REGISTER_METHOD_CONST(const char *, SBThread, GetQueueName, ());
2161     LLDB_REGISTER_METHOD_CONST(lldb::queue_id_t, SBThread, GetQueueID, ());
2162     LLDB_REGISTER_METHOD(bool, SBThread, GetInfoItemByPathAsString,
2163                          (const char *, lldb::SBStream &));
2164     LLDB_REGISTER_METHOD(void, SBThread, StepOver, (lldb::RunMode));
2165     LLDB_REGISTER_METHOD(void, SBThread, StepOver,
2166                          (lldb::RunMode, lldb::SBError &));
2167     LLDB_REGISTER_METHOD(void, SBThread, StepInto, (lldb::RunMode));
2168     LLDB_REGISTER_METHOD(void, SBThread, StepInto,
2169                          (const char *, lldb::RunMode));
2170     LLDB_REGISTER_METHOD(
2171         void, SBThread, StepInto,
2172         (const char *, uint32_t, lldb::SBError &, lldb::RunMode));
2173     LLDB_REGISTER_METHOD(void, SBThread, StepOut, ());
2174     LLDB_REGISTER_METHOD(void, SBThread, StepOut, (lldb::SBError &));
2175     LLDB_REGISTER_METHOD(void, SBThread, StepOutOfFrame, (lldb::SBFrame &));
2176     LLDB_REGISTER_METHOD(void, SBThread, StepOutOfFrame,
2177                          (lldb::SBFrame &, lldb::SBError &));
2178     LLDB_REGISTER_METHOD(void, SBThread, StepInstruction, (bool));
2179     LLDB_REGISTER_METHOD(void, SBThread, StepInstruction,
2180                          (bool, lldb::SBError &));
2181     LLDB_REGISTER_METHOD(void, SBThread, RunToAddress, (lldb::addr_t));
2182     LLDB_REGISTER_METHOD(void, SBThread, RunToAddress,
2183                          (lldb::addr_t, lldb::SBError &));
2184     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, StepOverUntil,
2185                          (lldb::SBFrame &, lldb::SBFileSpec &, uint32_t));
2186     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, StepUsingScriptedThreadPlan,
2187                          (const char *));
2188     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, StepUsingScriptedThreadPlan,
2189                          (const char *, bool));
2190     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, JumpToLine,
2191                          (lldb::SBFileSpec &, uint32_t));
2192     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, ReturnFromFrame,
2193                          (lldb::SBFrame &, lldb::SBValue &));
2194     LLDB_REGISTER_METHOD(lldb::SBError, SBThread, UnwindInnermostExpression,
2195                          ());
2196     LLDB_REGISTER_METHOD(bool, SBThread, Suspend, ());
2197     LLDB_REGISTER_METHOD(bool, SBThread, Suspend, (lldb::SBError &));
2198     LLDB_REGISTER_METHOD(bool, SBThread, Resume, ());
2199     LLDB_REGISTER_METHOD(bool, SBThread, Resume, (lldb::SBError &));
2200     LLDB_REGISTER_METHOD(bool, SBThread, IsSuspended, ());
2201     LLDB_REGISTER_METHOD(bool, SBThread, IsStopped, ());
2202     LLDB_REGISTER_METHOD(lldb::SBProcess, SBThread, GetProcess, ());
2203     LLDB_REGISTER_METHOD(uint32_t, SBThread, GetNumFrames, ());
2204     LLDB_REGISTER_METHOD(lldb::SBFrame, SBThread, GetFrameAtIndex, (uint32_t));
2205     LLDB_REGISTER_METHOD(lldb::SBFrame, SBThread, GetSelectedFrame, ());
2206     LLDB_REGISTER_METHOD(lldb::SBFrame, SBThread, SetSelectedFrame, (uint32_t));
2207     LLDB_REGISTER_STATIC_METHOD(bool, SBThread, EventIsThreadEvent,
2208                                 (const lldb::SBEvent &));
2209     LLDB_REGISTER_STATIC_METHOD(lldb::SBFrame, SBThread, GetStackFrameFromEvent,
2210                                 (const lldb::SBEvent &));
2211     LLDB_REGISTER_STATIC_METHOD(lldb::SBThread, SBThread, GetThreadFromEvent,
2212                                 (const lldb::SBEvent &));
2213     LLDB_REGISTER_METHOD_CONST(bool,
2214                                SBThread, operator==,(const lldb::SBThread &));
2215     LLDB_REGISTER_METHOD_CONST(bool,
2216                                SBThread, operator!=,(const lldb::SBThread &));
2217     LLDB_REGISTER_METHOD_CONST(bool, SBThread, GetStatus, (lldb::SBStream &));
2218     LLDB_REGISTER_METHOD_CONST(bool, SBThread, GetDescription,
2219                                (lldb::SBStream &));
2220     LLDB_REGISTER_METHOD_CONST(bool, SBThread, GetDescription,
2221                                (lldb::SBStream &, bool));
2222     LLDB_REGISTER_METHOD(lldb::SBThread, SBThread, GetExtendedBacktraceThread,
2223                          (const char *));
2224     LLDB_REGISTER_METHOD(uint32_t, SBThread,
2225                          GetExtendedBacktraceOriginatingIndexID, ());
2226     LLDB_REGISTER_METHOD(lldb::SBValue, SBThread, GetCurrentException, ());
2227     LLDB_REGISTER_METHOD(lldb::SBThread, SBThread, GetCurrentExceptionBacktrace,
2228                          ());
2229     LLDB_REGISTER_METHOD(bool, SBThread, SafeToCallFunctions, ());
2230     LLDB_REGISTER_METHOD(lldb_private::Thread *, SBThread, operator->,());
2231     LLDB_REGISTER_METHOD(lldb_private::Thread *, SBThread, get, ());
2232   }
2233   {
2234     LLDB_REGISTER_CONSTRUCTOR(SBThreadCollection, ());
2235     LLDB_REGISTER_CONSTRUCTOR(SBThreadCollection,
2236                               (const lldb::SBThreadCollection &));
2237     LLDB_REGISTER_METHOD(
2238         const lldb::SBThreadCollection &,
2239         SBThreadCollection, operator=,(const lldb::SBThreadCollection &));
2240     LLDB_REGISTER_METHOD_CONST(bool, SBThreadCollection, IsValid, ());
2241     LLDB_REGISTER_METHOD(size_t, SBThreadCollection, GetSize, ());
2242     LLDB_REGISTER_METHOD(lldb::SBThread, SBThreadCollection, GetThreadAtIndex,
2243                          (size_t));
2244   }
2245   {
2246     LLDB_REGISTER_CONSTRUCTOR(SBThreadPlan, ());
2247     LLDB_REGISTER_CONSTRUCTOR(SBThreadPlan, (const lldb::ThreadPlanSP &));
2248     LLDB_REGISTER_CONSTRUCTOR(SBThreadPlan, (const lldb::SBThreadPlan &));
2249     LLDB_REGISTER_CONSTRUCTOR(SBThreadPlan, (lldb::SBThread &, const char *));
2250     LLDB_REGISTER_METHOD(const lldb::SBThreadPlan &,
2251                          SBThreadPlan, operator=,(const lldb::SBThreadPlan &));
2252     LLDB_REGISTER_METHOD(lldb_private::ThreadPlan *, SBThreadPlan, get, ());
2253     LLDB_REGISTER_METHOD_CONST(bool, SBThreadPlan, IsValid, ());
2254     LLDB_REGISTER_METHOD(void, SBThreadPlan, Clear, ());
2255     LLDB_REGISTER_METHOD(lldb::StopReason, SBThreadPlan, GetStopReason, ());
2256     LLDB_REGISTER_METHOD(size_t, SBThreadPlan, GetStopReasonDataCount, ());
2257     LLDB_REGISTER_METHOD(uint64_t, SBThreadPlan, GetStopReasonDataAtIndex,
2258                          (uint32_t));
2259     LLDB_REGISTER_METHOD_CONST(lldb::SBThread, SBThreadPlan, GetThread, ());
2260     LLDB_REGISTER_METHOD_CONST(bool, SBThreadPlan, GetDescription,
2261                                (lldb::SBStream &));
2262     LLDB_REGISTER_METHOD(void, SBThreadPlan, SetPlanComplete, (bool));
2263     LLDB_REGISTER_METHOD(bool, SBThreadPlan, IsPlanComplete, ());
2264     LLDB_REGISTER_METHOD(bool, SBThreadPlan, IsPlanStale, ());
2265     LLDB_REGISTER_METHOD(bool, SBThreadPlan, IsValid, ());
2266     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2267                          QueueThreadPlanForStepOverRange,
2268                          (lldb::SBAddress &, lldb::addr_t));
2269     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2270                          QueueThreadPlanForStepOverRange,
2271                          (lldb::SBAddress &, lldb::addr_t, lldb::SBError &));
2272     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2273                          QueueThreadPlanForStepInRange,
2274                          (lldb::SBAddress &, lldb::addr_t));
2275     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2276                          QueueThreadPlanForStepInRange,
2277                          (lldb::SBAddress &, lldb::addr_t, lldb::SBError &));
2278     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2279                          QueueThreadPlanForStepOut, (uint32_t, bool));
2280     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2281                          QueueThreadPlanForStepOut,
2282                          (uint32_t, bool, lldb::SBError &));
2283     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2284                          QueueThreadPlanForRunToAddress, (lldb::SBAddress));
2285     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2286                          QueueThreadPlanForRunToAddress,
2287                          (lldb::SBAddress, lldb::SBError &));
2288     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2289                          QueueThreadPlanForStepScripted, (const char *));
2290     LLDB_REGISTER_METHOD(lldb::SBThreadPlan, SBThreadPlan,
2291                          QueueThreadPlanForStepScripted,
2292                          (const char *, lldb::SBError &));
2293   }
2294   {
2295     LLDB_REGISTER_METHOD(void, SBTrace, StopTrace,
2296                          (lldb::SBError &, lldb::tid_t));
2297     LLDB_REGISTER_METHOD(void, SBTrace, GetTraceConfig,
2298                          (lldb::SBTraceOptions &, lldb::SBError &));
2299     LLDB_REGISTER_METHOD(lldb::user_id_t, SBTrace, GetTraceUID, ());
2300     LLDB_REGISTER_CONSTRUCTOR(SBTrace, ());
2301     LLDB_REGISTER_METHOD(bool, SBTrace, IsValid, ());
2302   }
2303   {
2304     LLDB_REGISTER_CONSTRUCTOR(SBTraceOptions, ());
2305     LLDB_REGISTER_METHOD_CONST(lldb::TraceType, SBTraceOptions, getType, ());
2306     LLDB_REGISTER_METHOD_CONST(uint64_t, SBTraceOptions, getTraceBufferSize,
2307                                ());
2308     LLDB_REGISTER_METHOD(lldb::SBStructuredData, SBTraceOptions, getTraceParams,
2309                          (lldb::SBError &));
2310     LLDB_REGISTER_METHOD_CONST(uint64_t, SBTraceOptions, getMetaDataBufferSize,
2311                                ());
2312     LLDB_REGISTER_METHOD(void, SBTraceOptions, setTraceParams,
2313                          (lldb::SBStructuredData &));
2314     LLDB_REGISTER_METHOD(void, SBTraceOptions, setType, (lldb::TraceType));
2315     LLDB_REGISTER_METHOD(void, SBTraceOptions, setTraceBufferSize, (uint64_t));
2316     LLDB_REGISTER_METHOD(void, SBTraceOptions, setMetaDataBufferSize,
2317                          (uint64_t));
2318     LLDB_REGISTER_METHOD(bool, SBTraceOptions, IsValid, ());
2319     LLDB_REGISTER_METHOD(void, SBTraceOptions, setThreadID, (lldb::tid_t));
2320     LLDB_REGISTER_METHOD(lldb::tid_t, SBTraceOptions, getThreadID, ());
2321   }
2322   {
2323     LLDB_REGISTER_CONSTRUCTOR(SBType, ());
2324     LLDB_REGISTER_CONSTRUCTOR(SBType, (const lldb::SBType &));
2325     LLDB_REGISTER_METHOD(bool, SBType, operator==,(lldb::SBType &));
2326     LLDB_REGISTER_METHOD(bool, SBType, operator!=,(lldb::SBType &));
2327     LLDB_REGISTER_METHOD(lldb::SBType &,
2328                          SBType, operator=,(const lldb::SBType &));
2329     LLDB_REGISTER_METHOD_CONST(bool, SBType, IsValid, ());
2330     LLDB_REGISTER_METHOD(uint64_t, SBType, GetByteSize, ());
2331     LLDB_REGISTER_METHOD(bool, SBType, IsPointerType, ());
2332     LLDB_REGISTER_METHOD(bool, SBType, IsArrayType, ());
2333     LLDB_REGISTER_METHOD(bool, SBType, IsVectorType, ());
2334     LLDB_REGISTER_METHOD(bool, SBType, IsReferenceType, ());
2335     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetPointerType, ());
2336     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetPointeeType, ());
2337     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetReferenceType, ());
2338     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetTypedefedType, ());
2339     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetDereferencedType, ());
2340     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetArrayElementType, ());
2341     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetArrayType, (uint64_t));
2342     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetVectorElementType, ());
2343     LLDB_REGISTER_METHOD(bool, SBType, IsFunctionType, ());
2344     LLDB_REGISTER_METHOD(bool, SBType, IsPolymorphicClass, ());
2345     LLDB_REGISTER_METHOD(bool, SBType, IsTypedefType, ());
2346     LLDB_REGISTER_METHOD(bool, SBType, IsAnonymousType, ());
2347     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetFunctionReturnType, ());
2348     LLDB_REGISTER_METHOD(lldb::SBTypeList, SBType, GetFunctionArgumentTypes,
2349                          ());
2350     LLDB_REGISTER_METHOD(uint32_t, SBType, GetNumberOfMemberFunctions, ());
2351     LLDB_REGISTER_METHOD(lldb::SBTypeMemberFunction, SBType,
2352                          GetMemberFunctionAtIndex, (uint32_t));
2353     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetUnqualifiedType, ());
2354     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetCanonicalType, ());
2355     LLDB_REGISTER_METHOD(lldb::BasicType, SBType, GetBasicType, ());
2356     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetBasicType, (lldb::BasicType));
2357     LLDB_REGISTER_METHOD(uint32_t, SBType, GetNumberOfDirectBaseClasses, ());
2358     LLDB_REGISTER_METHOD(uint32_t, SBType, GetNumberOfVirtualBaseClasses, ());
2359     LLDB_REGISTER_METHOD(uint32_t, SBType, GetNumberOfFields, ());
2360     LLDB_REGISTER_METHOD(bool, SBType, GetDescription,
2361                          (lldb::SBStream &, lldb::DescriptionLevel));
2362     LLDB_REGISTER_METHOD(lldb::SBTypeMember, SBType, GetDirectBaseClassAtIndex,
2363                          (uint32_t));
2364     LLDB_REGISTER_METHOD(lldb::SBTypeMember, SBType, GetVirtualBaseClassAtIndex,
2365                          (uint32_t));
2366     LLDB_REGISTER_METHOD(lldb::SBTypeEnumMemberList, SBType, GetEnumMembers,
2367                          ());
2368     LLDB_REGISTER_METHOD(lldb::SBTypeMember, SBType, GetFieldAtIndex,
2369                          (uint32_t));
2370     LLDB_REGISTER_METHOD(bool, SBType, IsTypeComplete, ());
2371     LLDB_REGISTER_METHOD(uint32_t, SBType, GetTypeFlags, ());
2372     LLDB_REGISTER_METHOD(const char *, SBType, GetName, ());
2373     LLDB_REGISTER_METHOD(const char *, SBType, GetDisplayTypeName, ());
2374     LLDB_REGISTER_METHOD(lldb::TypeClass, SBType, GetTypeClass, ());
2375     LLDB_REGISTER_METHOD(uint32_t, SBType, GetNumberOfTemplateArguments, ());
2376     LLDB_REGISTER_METHOD(lldb::SBType, SBType, GetTemplateArgumentType,
2377                          (uint32_t));
2378     LLDB_REGISTER_METHOD(lldb::TemplateArgumentKind, SBType,
2379                          GetTemplateArgumentKind, (uint32_t));
2380     LLDB_REGISTER_CONSTRUCTOR(SBTypeList, ());
2381     LLDB_REGISTER_CONSTRUCTOR(SBTypeList, (const lldb::SBTypeList &));
2382     LLDB_REGISTER_METHOD(bool, SBTypeList, IsValid, ());
2383     LLDB_REGISTER_METHOD(lldb::SBTypeList &,
2384                          SBTypeList, operator=,(const lldb::SBTypeList &));
2385     LLDB_REGISTER_METHOD(void, SBTypeList, Append, (lldb::SBType));
2386     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeList, GetTypeAtIndex, (uint32_t));
2387     LLDB_REGISTER_METHOD(uint32_t, SBTypeList, GetSize, ());
2388     LLDB_REGISTER_CONSTRUCTOR(SBTypeMember, ());
2389     LLDB_REGISTER_CONSTRUCTOR(SBTypeMember, (const lldb::SBTypeMember &));
2390     LLDB_REGISTER_METHOD(lldb::SBTypeMember &,
2391                          SBTypeMember, operator=,(const lldb::SBTypeMember &));
2392     LLDB_REGISTER_METHOD_CONST(bool, SBTypeMember, IsValid, ());
2393     LLDB_REGISTER_METHOD(const char *, SBTypeMember, GetName, ());
2394     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeMember, GetType, ());
2395     LLDB_REGISTER_METHOD(uint64_t, SBTypeMember, GetOffsetInBytes, ());
2396     LLDB_REGISTER_METHOD(uint64_t, SBTypeMember, GetOffsetInBits, ());
2397     LLDB_REGISTER_METHOD(bool, SBTypeMember, IsBitfield, ());
2398     LLDB_REGISTER_METHOD(uint32_t, SBTypeMember, GetBitfieldSizeInBits, ());
2399     LLDB_REGISTER_METHOD(bool, SBTypeMember, GetDescription,
2400                          (lldb::SBStream &, lldb::DescriptionLevel));
2401     LLDB_REGISTER_CONSTRUCTOR(SBTypeMemberFunction, ());
2402     LLDB_REGISTER_CONSTRUCTOR(SBTypeMemberFunction,
2403                               (const lldb::SBTypeMemberFunction &));
2404     LLDB_REGISTER_METHOD(
2405         lldb::SBTypeMemberFunction &,
2406         SBTypeMemberFunction, operator=,(const lldb::SBTypeMemberFunction &));
2407     LLDB_REGISTER_METHOD_CONST(bool, SBTypeMemberFunction, IsValid, ());
2408     LLDB_REGISTER_METHOD(const char *, SBTypeMemberFunction, GetName, ());
2409     LLDB_REGISTER_METHOD(const char *, SBTypeMemberFunction, GetDemangledName,
2410                          ());
2411     LLDB_REGISTER_METHOD(const char *, SBTypeMemberFunction, GetMangledName,
2412                          ());
2413     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeMemberFunction, GetType, ());
2414     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeMemberFunction, GetReturnType, ());
2415     LLDB_REGISTER_METHOD(uint32_t, SBTypeMemberFunction, GetNumberOfArguments,
2416                          ());
2417     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeMemberFunction,
2418                          GetArgumentTypeAtIndex, (uint32_t));
2419     LLDB_REGISTER_METHOD(lldb::MemberFunctionKind, SBTypeMemberFunction,
2420                          GetKind, ());
2421     LLDB_REGISTER_METHOD(bool, SBTypeMemberFunction, GetDescription,
2422                          (lldb::SBStream &, lldb::DescriptionLevel));
2423   }
2424   {
2425     LLDB_REGISTER_CONSTRUCTOR(SBTypeCategory, ());
2426     LLDB_REGISTER_CONSTRUCTOR(SBTypeCategory, (const lldb::SBTypeCategory &));
2427     LLDB_REGISTER_METHOD_CONST(bool, SBTypeCategory, IsValid, ());
2428     LLDB_REGISTER_METHOD(bool, SBTypeCategory, GetEnabled, ());
2429     LLDB_REGISTER_METHOD(void, SBTypeCategory, SetEnabled, (bool));
2430     LLDB_REGISTER_METHOD(const char *, SBTypeCategory, GetName, ());
2431     LLDB_REGISTER_METHOD(lldb::LanguageType, SBTypeCategory, GetLanguageAtIndex,
2432                          (uint32_t));
2433     LLDB_REGISTER_METHOD(uint32_t, SBTypeCategory, GetNumLanguages, ());
2434     LLDB_REGISTER_METHOD(void, SBTypeCategory, AddLanguage,
2435                          (lldb::LanguageType));
2436     LLDB_REGISTER_METHOD(uint32_t, SBTypeCategory, GetNumFormats, ());
2437     LLDB_REGISTER_METHOD(uint32_t, SBTypeCategory, GetNumSummaries, ());
2438     LLDB_REGISTER_METHOD(uint32_t, SBTypeCategory, GetNumFilters, ());
2439     LLDB_REGISTER_METHOD(uint32_t, SBTypeCategory, GetNumSynthetics, ());
2440     LLDB_REGISTER_METHOD(lldb::SBTypeNameSpecifier, SBTypeCategory,
2441                          GetTypeNameSpecifierForFilterAtIndex, (uint32_t));
2442     LLDB_REGISTER_METHOD(lldb::SBTypeNameSpecifier, SBTypeCategory,
2443                          GetTypeNameSpecifierForFormatAtIndex, (uint32_t));
2444     LLDB_REGISTER_METHOD(lldb::SBTypeNameSpecifier, SBTypeCategory,
2445                          GetTypeNameSpecifierForSummaryAtIndex, (uint32_t));
2446     LLDB_REGISTER_METHOD(lldb::SBTypeNameSpecifier, SBTypeCategory,
2447                          GetTypeNameSpecifierForSyntheticAtIndex, (uint32_t));
2448     LLDB_REGISTER_METHOD(lldb::SBTypeFilter, SBTypeCategory, GetFilterForType,
2449                          (lldb::SBTypeNameSpecifier));
2450     LLDB_REGISTER_METHOD(lldb::SBTypeFormat, SBTypeCategory, GetFormatForType,
2451                          (lldb::SBTypeNameSpecifier));
2452     LLDB_REGISTER_METHOD(lldb::SBTypeSummary, SBTypeCategory, GetSummaryForType,
2453                          (lldb::SBTypeNameSpecifier));
2454     LLDB_REGISTER_METHOD(lldb::SBTypeSynthetic, SBTypeCategory,
2455                          GetSyntheticForType, (lldb::SBTypeNameSpecifier));
2456     LLDB_REGISTER_METHOD(lldb::SBTypeFilter, SBTypeCategory, GetFilterAtIndex,
2457                          (uint32_t));
2458     LLDB_REGISTER_METHOD(lldb::SBTypeFormat, SBTypeCategory, GetFormatAtIndex,
2459                          (uint32_t));
2460     LLDB_REGISTER_METHOD(lldb::SBTypeSummary, SBTypeCategory, GetSummaryAtIndex,
2461                          (uint32_t));
2462     LLDB_REGISTER_METHOD(lldb::SBTypeSynthetic, SBTypeCategory,
2463                          GetSyntheticAtIndex, (uint32_t));
2464     LLDB_REGISTER_METHOD(bool, SBTypeCategory, AddTypeFormat,
2465                          (lldb::SBTypeNameSpecifier, lldb::SBTypeFormat));
2466     LLDB_REGISTER_METHOD(bool, SBTypeCategory, DeleteTypeFormat,
2467                          (lldb::SBTypeNameSpecifier));
2468     LLDB_REGISTER_METHOD(bool, SBTypeCategory, AddTypeSummary,
2469                          (lldb::SBTypeNameSpecifier, lldb::SBTypeSummary));
2470     LLDB_REGISTER_METHOD(bool, SBTypeCategory, DeleteTypeSummary,
2471                          (lldb::SBTypeNameSpecifier));
2472     LLDB_REGISTER_METHOD(bool, SBTypeCategory, AddTypeFilter,
2473                          (lldb::SBTypeNameSpecifier, lldb::SBTypeFilter));
2474     LLDB_REGISTER_METHOD(bool, SBTypeCategory, DeleteTypeFilter,
2475                          (lldb::SBTypeNameSpecifier));
2476     LLDB_REGISTER_METHOD(bool, SBTypeCategory, AddTypeSynthetic,
2477                          (lldb::SBTypeNameSpecifier, lldb::SBTypeSynthetic));
2478     LLDB_REGISTER_METHOD(bool, SBTypeCategory, DeleteTypeSynthetic,
2479                          (lldb::SBTypeNameSpecifier));
2480     LLDB_REGISTER_METHOD(bool, SBTypeCategory, GetDescription,
2481                          (lldb::SBStream &, lldb::DescriptionLevel));
2482     LLDB_REGISTER_METHOD(
2483         lldb::SBTypeCategory &,
2484         SBTypeCategory, operator=,(const lldb::SBTypeCategory &));
2485     LLDB_REGISTER_METHOD(bool,
2486                          SBTypeCategory, operator==,(lldb::SBTypeCategory &));
2487     LLDB_REGISTER_METHOD(bool,
2488                          SBTypeCategory, operator!=,(lldb::SBTypeCategory &));
2489   }
2490   {
2491     LLDB_REGISTER_CONSTRUCTOR(SBTypeEnumMember, ());
2492     LLDB_REGISTER_CONSTRUCTOR(SBTypeEnumMember,
2493                               (const lldb::SBTypeEnumMember &));
2494     LLDB_REGISTER_METHOD(
2495         lldb::SBTypeEnumMember &,
2496         SBTypeEnumMember, operator=,(const lldb::SBTypeEnumMember &));
2497     LLDB_REGISTER_METHOD_CONST(bool, SBTypeEnumMember, IsValid, ());
2498     LLDB_REGISTER_METHOD(const char *, SBTypeEnumMember, GetName, ());
2499     LLDB_REGISTER_METHOD(int64_t, SBTypeEnumMember, GetValueAsSigned, ());
2500     LLDB_REGISTER_METHOD(uint64_t, SBTypeEnumMember, GetValueAsUnsigned, ());
2501     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeEnumMember, GetType, ());
2502     LLDB_REGISTER_CONSTRUCTOR(SBTypeEnumMemberList, ());
2503     LLDB_REGISTER_CONSTRUCTOR(SBTypeEnumMemberList,
2504                               (const lldb::SBTypeEnumMemberList &));
2505     LLDB_REGISTER_METHOD(bool, SBTypeEnumMemberList, IsValid, ());
2506     LLDB_REGISTER_METHOD(
2507         lldb::SBTypeEnumMemberList &,
2508         SBTypeEnumMemberList, operator=,(const lldb::SBTypeEnumMemberList &));
2509     LLDB_REGISTER_METHOD(void, SBTypeEnumMemberList, Append,
2510                          (lldb::SBTypeEnumMember));
2511     LLDB_REGISTER_METHOD(lldb::SBTypeEnumMember, SBTypeEnumMemberList,
2512                          GetTypeEnumMemberAtIndex, (uint32_t));
2513     LLDB_REGISTER_METHOD(uint32_t, SBTypeEnumMemberList, GetSize, ());
2514     LLDB_REGISTER_METHOD(bool, SBTypeEnumMember, GetDescription,
2515                          (lldb::SBStream &, lldb::DescriptionLevel));
2516   }
2517   {
2518     LLDB_REGISTER_CONSTRUCTOR(SBTypeFilter, ());
2519     LLDB_REGISTER_CONSTRUCTOR(SBTypeFilter, (uint32_t));
2520     LLDB_REGISTER_CONSTRUCTOR(SBTypeFilter, (const lldb::SBTypeFilter &));
2521     LLDB_REGISTER_METHOD_CONST(bool, SBTypeFilter, IsValid, ());
2522     LLDB_REGISTER_METHOD(uint32_t, SBTypeFilter, GetOptions, ());
2523     LLDB_REGISTER_METHOD(void, SBTypeFilter, SetOptions, (uint32_t));
2524     LLDB_REGISTER_METHOD(bool, SBTypeFilter, GetDescription,
2525                          (lldb::SBStream &, lldb::DescriptionLevel));
2526     LLDB_REGISTER_METHOD(void, SBTypeFilter, Clear, ());
2527     LLDB_REGISTER_METHOD(uint32_t, SBTypeFilter, GetNumberOfExpressionPaths,
2528                          ());
2529     LLDB_REGISTER_METHOD(const char *, SBTypeFilter, GetExpressionPathAtIndex,
2530                          (uint32_t));
2531     LLDB_REGISTER_METHOD(bool, SBTypeFilter, ReplaceExpressionPathAtIndex,
2532                          (uint32_t, const char *));
2533     LLDB_REGISTER_METHOD(void, SBTypeFilter, AppendExpressionPath,
2534                          (const char *));
2535     LLDB_REGISTER_METHOD(lldb::SBTypeFilter &,
2536                          SBTypeFilter, operator=,(const lldb::SBTypeFilter &));
2537     LLDB_REGISTER_METHOD(bool, SBTypeFilter, operator==,(lldb::SBTypeFilter &));
2538     LLDB_REGISTER_METHOD(bool, SBTypeFilter, IsEqualTo, (lldb::SBTypeFilter &));
2539     LLDB_REGISTER_METHOD(bool, SBTypeFilter, operator!=,(lldb::SBTypeFilter &));
2540   }
2541   {
2542     LLDB_REGISTER_CONSTRUCTOR(SBTypeFormat, ());
2543     LLDB_REGISTER_CONSTRUCTOR(SBTypeFormat, (lldb::Format, uint32_t));
2544     LLDB_REGISTER_CONSTRUCTOR(SBTypeFormat, (const char *, uint32_t));
2545     LLDB_REGISTER_CONSTRUCTOR(SBTypeFormat, (const lldb::SBTypeFormat &));
2546     LLDB_REGISTER_METHOD_CONST(bool, SBTypeFormat, IsValid, ());
2547     LLDB_REGISTER_METHOD(lldb::Format, SBTypeFormat, GetFormat, ());
2548     LLDB_REGISTER_METHOD(const char *, SBTypeFormat, GetTypeName, ());
2549     LLDB_REGISTER_METHOD(uint32_t, SBTypeFormat, GetOptions, ());
2550     LLDB_REGISTER_METHOD(void, SBTypeFormat, SetFormat, (lldb::Format));
2551     LLDB_REGISTER_METHOD(void, SBTypeFormat, SetTypeName, (const char *));
2552     LLDB_REGISTER_METHOD(void, SBTypeFormat, SetOptions, (uint32_t));
2553     LLDB_REGISTER_METHOD(bool, SBTypeFormat, GetDescription,
2554                          (lldb::SBStream &, lldb::DescriptionLevel));
2555     LLDB_REGISTER_METHOD(lldb::SBTypeFormat &,
2556                          SBTypeFormat, operator=,(const lldb::SBTypeFormat &));
2557     LLDB_REGISTER_METHOD(bool, SBTypeFormat, operator==,(lldb::SBTypeFormat &));
2558     LLDB_REGISTER_METHOD(bool, SBTypeFormat, IsEqualTo, (lldb::SBTypeFormat &));
2559     LLDB_REGISTER_METHOD(bool, SBTypeFormat, operator!=,(lldb::SBTypeFormat &));
2560   }
2561   {
2562     LLDB_REGISTER_CONSTRUCTOR(SBTypeNameSpecifier, ());
2563     LLDB_REGISTER_CONSTRUCTOR(SBTypeNameSpecifier, (const char *, bool));
2564     LLDB_REGISTER_CONSTRUCTOR(SBTypeNameSpecifier, (lldb::SBType));
2565     LLDB_REGISTER_CONSTRUCTOR(SBTypeNameSpecifier,
2566                               (const lldb::SBTypeNameSpecifier &));
2567     LLDB_REGISTER_METHOD_CONST(bool, SBTypeNameSpecifier, IsValid, ());
2568     LLDB_REGISTER_METHOD(const char *, SBTypeNameSpecifier, GetName, ());
2569     LLDB_REGISTER_METHOD(lldb::SBType, SBTypeNameSpecifier, GetType, ());
2570     LLDB_REGISTER_METHOD(bool, SBTypeNameSpecifier, IsRegex, ());
2571     LLDB_REGISTER_METHOD(bool, SBTypeNameSpecifier, GetDescription,
2572                          (lldb::SBStream &, lldb::DescriptionLevel));
2573     LLDB_REGISTER_METHOD(
2574         lldb::SBTypeNameSpecifier &,
2575         SBTypeNameSpecifier, operator=,(const lldb::SBTypeNameSpecifier &));
2576     LLDB_REGISTER_METHOD(
2577         bool, SBTypeNameSpecifier, operator==,(lldb::SBTypeNameSpecifier &));
2578     LLDB_REGISTER_METHOD(bool, SBTypeNameSpecifier, IsEqualTo,
2579                          (lldb::SBTypeNameSpecifier &));
2580     LLDB_REGISTER_METHOD(
2581         bool, SBTypeNameSpecifier, operator!=,(lldb::SBTypeNameSpecifier &));
2582   }
2583   {
2584     LLDB_REGISTER_CONSTRUCTOR(SBTypeSummaryOptions, ());
2585     LLDB_REGISTER_CONSTRUCTOR(SBTypeSummaryOptions,
2586                               (const lldb::SBTypeSummaryOptions &));
2587     LLDB_REGISTER_METHOD(bool, SBTypeSummaryOptions, IsValid, ());
2588     LLDB_REGISTER_METHOD(lldb::LanguageType, SBTypeSummaryOptions, GetLanguage,
2589                          ());
2590     LLDB_REGISTER_METHOD(lldb::TypeSummaryCapping, SBTypeSummaryOptions,
2591                          GetCapping, ());
2592     LLDB_REGISTER_METHOD(void, SBTypeSummaryOptions, SetLanguage,
2593                          (lldb::LanguageType));
2594     LLDB_REGISTER_METHOD(void, SBTypeSummaryOptions, SetCapping,
2595                          (lldb::TypeSummaryCapping));
2596     LLDB_REGISTER_CONSTRUCTOR(SBTypeSummaryOptions,
2597                               (const lldb_private::TypeSummaryOptions *));
2598     LLDB_REGISTER_CONSTRUCTOR(SBTypeSummary, ());
2599     LLDB_REGISTER_STATIC_METHOD(lldb::SBTypeSummary, SBTypeSummary,
2600                                 CreateWithSummaryString,
2601                                 (const char *, uint32_t));
2602     LLDB_REGISTER_STATIC_METHOD(lldb::SBTypeSummary, SBTypeSummary,
2603                                 CreateWithFunctionName,
2604                                 (const char *, uint32_t));
2605     LLDB_REGISTER_STATIC_METHOD(lldb::SBTypeSummary, SBTypeSummary,
2606                                 CreateWithScriptCode, (const char *, uint32_t));
2607     LLDB_REGISTER_CONSTRUCTOR(SBTypeSummary, (const lldb::SBTypeSummary &));
2608     LLDB_REGISTER_METHOD_CONST(bool, SBTypeSummary, IsValid, ());
2609     LLDB_REGISTER_METHOD(bool, SBTypeSummary, IsFunctionCode, ());
2610     LLDB_REGISTER_METHOD(bool, SBTypeSummary, IsFunctionName, ());
2611     LLDB_REGISTER_METHOD(bool, SBTypeSummary, IsSummaryString, ());
2612     LLDB_REGISTER_METHOD(const char *, SBTypeSummary, GetData, ());
2613     LLDB_REGISTER_METHOD(uint32_t, SBTypeSummary, GetOptions, ());
2614     LLDB_REGISTER_METHOD(void, SBTypeSummary, SetOptions, (uint32_t));
2615     LLDB_REGISTER_METHOD(void, SBTypeSummary, SetSummaryString, (const char *));
2616     LLDB_REGISTER_METHOD(void, SBTypeSummary, SetFunctionName, (const char *));
2617     LLDB_REGISTER_METHOD(void, SBTypeSummary, SetFunctionCode, (const char *));
2618     LLDB_REGISTER_METHOD(bool, SBTypeSummary, GetDescription,
2619                          (lldb::SBStream &, lldb::DescriptionLevel));
2620     LLDB_REGISTER_METHOD(bool, SBTypeSummary, DoesPrintValue, (lldb::SBValue));
2621     LLDB_REGISTER_METHOD(
2622         lldb::SBTypeSummary &,
2623         SBTypeSummary, operator=,(const lldb::SBTypeSummary &));
2624     LLDB_REGISTER_METHOD(bool,
2625                          SBTypeSummary, operator==,(lldb::SBTypeSummary &));
2626     LLDB_REGISTER_METHOD(bool, SBTypeSummary, IsEqualTo,
2627                          (lldb::SBTypeSummary &));
2628     LLDB_REGISTER_METHOD(bool,
2629                          SBTypeSummary, operator!=,(lldb::SBTypeSummary &));
2630   }
2631   {
2632     LLDB_REGISTER_CONSTRUCTOR(SBTypeSynthetic, ());
2633     LLDB_REGISTER_STATIC_METHOD(lldb::SBTypeSynthetic, SBTypeSynthetic,
2634                                 CreateWithClassName, (const char *, uint32_t));
2635     LLDB_REGISTER_STATIC_METHOD(lldb::SBTypeSynthetic, SBTypeSynthetic,
2636                                 CreateWithScriptCode, (const char *, uint32_t));
2637     LLDB_REGISTER_CONSTRUCTOR(SBTypeSynthetic, (const lldb::SBTypeSynthetic &));
2638     LLDB_REGISTER_METHOD_CONST(bool, SBTypeSynthetic, IsValid, ());
2639     LLDB_REGISTER_METHOD(bool, SBTypeSynthetic, IsClassCode, ());
2640     LLDB_REGISTER_METHOD(bool, SBTypeSynthetic, IsClassName, ());
2641     LLDB_REGISTER_METHOD(const char *, SBTypeSynthetic, GetData, ());
2642     LLDB_REGISTER_METHOD(void, SBTypeSynthetic, SetClassName, (const char *));
2643     LLDB_REGISTER_METHOD(void, SBTypeSynthetic, SetClassCode, (const char *));
2644     LLDB_REGISTER_METHOD(uint32_t, SBTypeSynthetic, GetOptions, ());
2645     LLDB_REGISTER_METHOD(void, SBTypeSynthetic, SetOptions, (uint32_t));
2646     LLDB_REGISTER_METHOD(bool, SBTypeSynthetic, GetDescription,
2647                          (lldb::SBStream &, lldb::DescriptionLevel));
2648     LLDB_REGISTER_METHOD(
2649         lldb::SBTypeSynthetic &,
2650         SBTypeSynthetic, operator=,(const lldb::SBTypeSynthetic &));
2651     LLDB_REGISTER_METHOD(bool,
2652                          SBTypeSynthetic, operator==,(lldb::SBTypeSynthetic &));
2653     LLDB_REGISTER_METHOD(bool, SBTypeSynthetic, IsEqualTo,
2654                          (lldb::SBTypeSynthetic &));
2655     LLDB_REGISTER_METHOD(bool,
2656                          SBTypeSynthetic, operator!=,(lldb::SBTypeSynthetic &));
2657   }
2658   {
2659     LLDB_REGISTER_CONSTRUCTOR(SBUnixSignals, ());
2660     LLDB_REGISTER_CONSTRUCTOR(SBUnixSignals, (const lldb::SBUnixSignals &));
2661     LLDB_REGISTER_METHOD(
2662         const lldb::SBUnixSignals &,
2663         SBUnixSignals, operator=,(const lldb::SBUnixSignals &));
2664     LLDB_REGISTER_METHOD(void, SBUnixSignals, Clear, ());
2665     LLDB_REGISTER_METHOD_CONST(bool, SBUnixSignals, IsValid, ());
2666     LLDB_REGISTER_METHOD_CONST(const char *, SBUnixSignals, GetSignalAsCString,
2667                                (int32_t));
2668     LLDB_REGISTER_METHOD_CONST(int32_t, SBUnixSignals, GetSignalNumberFromName,
2669                                (const char *));
2670     LLDB_REGISTER_METHOD_CONST(bool, SBUnixSignals, GetShouldSuppress,
2671                                (int32_t));
2672     LLDB_REGISTER_METHOD(bool, SBUnixSignals, SetShouldSuppress,
2673                          (int32_t, bool));
2674     LLDB_REGISTER_METHOD_CONST(bool, SBUnixSignals, GetShouldStop, (int32_t));
2675     LLDB_REGISTER_METHOD(bool, SBUnixSignals, SetShouldStop, (int32_t, bool));
2676     LLDB_REGISTER_METHOD_CONST(bool, SBUnixSignals, GetShouldNotify, (int32_t));
2677     LLDB_REGISTER_METHOD(bool, SBUnixSignals, SetShouldNotify, (int32_t, bool));
2678     LLDB_REGISTER_METHOD_CONST(int32_t, SBUnixSignals, GetNumSignals, ());
2679     LLDB_REGISTER_METHOD_CONST(int32_t, SBUnixSignals, GetSignalAtIndex,
2680                                (int32_t));
2681   }
2682   {
2683     LLDB_REGISTER_CONSTRUCTOR(SBValue, ());
2684     LLDB_REGISTER_CONSTRUCTOR(SBValue, (const lldb::ValueObjectSP &));
2685     LLDB_REGISTER_CONSTRUCTOR(SBValue, (const lldb::SBValue &));
2686     LLDB_REGISTER_METHOD(lldb::SBValue &,
2687                          SBValue, operator=,(const lldb::SBValue &));
2688     LLDB_REGISTER_METHOD(bool, SBValue, IsValid, ());
2689     LLDB_REGISTER_METHOD(void, SBValue, Clear, ());
2690     LLDB_REGISTER_METHOD(lldb::SBError, SBValue, GetError, ());
2691     LLDB_REGISTER_METHOD(lldb::user_id_t, SBValue, GetID, ());
2692     LLDB_REGISTER_METHOD(const char *, SBValue, GetName, ());
2693     LLDB_REGISTER_METHOD(const char *, SBValue, GetTypeName, ());
2694     LLDB_REGISTER_METHOD(const char *, SBValue, GetDisplayTypeName, ());
2695     LLDB_REGISTER_METHOD(size_t, SBValue, GetByteSize, ());
2696     LLDB_REGISTER_METHOD(bool, SBValue, IsInScope, ());
2697     LLDB_REGISTER_METHOD(const char *, SBValue, GetValue, ());
2698     LLDB_REGISTER_METHOD(lldb::ValueType, SBValue, GetValueType, ());
2699     LLDB_REGISTER_METHOD(const char *, SBValue, GetObjectDescription, ());
2700     LLDB_REGISTER_METHOD(const char *, SBValue, GetTypeValidatorResult, ());
2701     LLDB_REGISTER_METHOD(lldb::SBType, SBValue, GetType, ());
2702     LLDB_REGISTER_METHOD(bool, SBValue, GetValueDidChange, ());
2703     LLDB_REGISTER_METHOD(const char *, SBValue, GetSummary, ());
2704     LLDB_REGISTER_METHOD(const char *, SBValue, GetSummary,
2705                          (lldb::SBStream &, lldb::SBTypeSummaryOptions &));
2706     LLDB_REGISTER_METHOD(const char *, SBValue, GetLocation, ());
2707     LLDB_REGISTER_METHOD(bool, SBValue, SetValueFromCString, (const char *));
2708     LLDB_REGISTER_METHOD(bool, SBValue, SetValueFromCString,
2709                          (const char *, lldb::SBError &));
2710     LLDB_REGISTER_METHOD(lldb::SBTypeFormat, SBValue, GetTypeFormat, ());
2711     LLDB_REGISTER_METHOD(lldb::SBTypeSummary, SBValue, GetTypeSummary, ());
2712     LLDB_REGISTER_METHOD(lldb::SBTypeFilter, SBValue, GetTypeFilter, ());
2713     LLDB_REGISTER_METHOD(lldb::SBTypeSynthetic, SBValue, GetTypeSynthetic, ());
2714     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, CreateChildAtOffset,
2715                          (const char *, uint32_t, lldb::SBType));
2716     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, Cast, (lldb::SBType));
2717     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, CreateValueFromExpression,
2718                          (const char *, const char *));
2719     LLDB_REGISTER_METHOD(
2720         lldb::SBValue, SBValue, CreateValueFromExpression,
2721         (const char *, const char *, lldb::SBExpressionOptions &));
2722     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, CreateValueFromAddress,
2723                          (const char *, lldb::addr_t, lldb::SBType));
2724     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, CreateValueFromData,
2725                          (const char *, lldb::SBData, lldb::SBType));
2726     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetChildAtIndex, (uint32_t));
2727     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetChildAtIndex,
2728                          (uint32_t, lldb::DynamicValueType, bool));
2729     LLDB_REGISTER_METHOD(uint32_t, SBValue, GetIndexOfChildWithName,
2730                          (const char *));
2731     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetChildMemberWithName,
2732                          (const char *));
2733     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetChildMemberWithName,
2734                          (const char *, lldb::DynamicValueType));
2735     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetDynamicValue,
2736                          (lldb::DynamicValueType));
2737     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetStaticValue, ());
2738     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetNonSyntheticValue, ());
2739     LLDB_REGISTER_METHOD(lldb::DynamicValueType, SBValue, GetPreferDynamicValue,
2740                          ());
2741     LLDB_REGISTER_METHOD(void, SBValue, SetPreferDynamicValue,
2742                          (lldb::DynamicValueType));
2743     LLDB_REGISTER_METHOD(bool, SBValue, GetPreferSyntheticValue, ());
2744     LLDB_REGISTER_METHOD(void, SBValue, SetPreferSyntheticValue, (bool));
2745     LLDB_REGISTER_METHOD(bool, SBValue, IsDynamic, ());
2746     LLDB_REGISTER_METHOD(bool, SBValue, IsSynthetic, ());
2747     LLDB_REGISTER_METHOD(bool, SBValue, IsSyntheticChildrenGenerated, ());
2748     LLDB_REGISTER_METHOD(void, SBValue, SetSyntheticChildrenGenerated, (bool));
2749     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, GetValueForExpressionPath,
2750                          (const char *));
2751     LLDB_REGISTER_METHOD(int64_t, SBValue, GetValueAsSigned,
2752                          (lldb::SBError &, int64_t));
2753     LLDB_REGISTER_METHOD(uint64_t, SBValue, GetValueAsUnsigned,
2754                          (lldb::SBError &, uint64_t));
2755     LLDB_REGISTER_METHOD(int64_t, SBValue, GetValueAsSigned, (int64_t));
2756     LLDB_REGISTER_METHOD(uint64_t, SBValue, GetValueAsUnsigned, (uint64_t));
2757     LLDB_REGISTER_METHOD(bool, SBValue, MightHaveChildren, ());
2758     LLDB_REGISTER_METHOD(bool, SBValue, IsRuntimeSupportValue, ());
2759     LLDB_REGISTER_METHOD(uint32_t, SBValue, GetNumChildren, ());
2760     LLDB_REGISTER_METHOD(uint32_t, SBValue, GetNumChildren, (uint32_t));
2761     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, Dereference, ());
2762     LLDB_REGISTER_METHOD(bool, SBValue, TypeIsPointerType, ());
2763     LLDB_REGISTER_METHOD(void *, SBValue, GetOpaqueType, ());
2764     LLDB_REGISTER_METHOD(lldb::SBTarget, SBValue, GetTarget, ());
2765     LLDB_REGISTER_METHOD(lldb::SBProcess, SBValue, GetProcess, ());
2766     LLDB_REGISTER_METHOD(lldb::SBThread, SBValue, GetThread, ());
2767     LLDB_REGISTER_METHOD(lldb::SBFrame, SBValue, GetFrame, ());
2768     LLDB_REGISTER_METHOD_CONST(lldb::ValueObjectSP, SBValue, GetSP, ());
2769     LLDB_REGISTER_METHOD(bool, SBValue, GetExpressionPath, (lldb::SBStream &));
2770     LLDB_REGISTER_METHOD(bool, SBValue, GetExpressionPath,
2771                          (lldb::SBStream &, bool));
2772     LLDB_REGISTER_METHOD_CONST(lldb::SBValue, SBValue, EvaluateExpression,
2773                                (const char *));
2774     LLDB_REGISTER_METHOD_CONST(
2775         lldb::SBValue, SBValue, EvaluateExpression,
2776         (const char *, const lldb::SBExpressionOptions &));
2777     LLDB_REGISTER_METHOD_CONST(
2778         lldb::SBValue, SBValue, EvaluateExpression,
2779         (const char *, const lldb::SBExpressionOptions &, const char *));
2780     LLDB_REGISTER_METHOD(bool, SBValue, GetDescription, (lldb::SBStream &));
2781     LLDB_REGISTER_METHOD(lldb::Format, SBValue, GetFormat, ());
2782     LLDB_REGISTER_METHOD(void, SBValue, SetFormat, (lldb::Format));
2783     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, AddressOf, ());
2784     LLDB_REGISTER_METHOD(lldb::addr_t, SBValue, GetLoadAddress, ());
2785     LLDB_REGISTER_METHOD(lldb::SBAddress, SBValue, GetAddress, ());
2786     LLDB_REGISTER_METHOD(lldb::SBData, SBValue, GetPointeeData,
2787                          (uint32_t, uint32_t));
2788     LLDB_REGISTER_METHOD(lldb::SBData, SBValue, GetData, ());
2789     LLDB_REGISTER_METHOD(bool, SBValue, SetData,
2790                          (lldb::SBData &, lldb::SBError &));
2791     LLDB_REGISTER_METHOD(lldb::SBDeclaration, SBValue, GetDeclaration, ());
2792     LLDB_REGISTER_METHOD(lldb::SBWatchpoint, SBValue, Watch,
2793                          (bool, bool, bool, lldb::SBError &));
2794     LLDB_REGISTER_METHOD(lldb::SBWatchpoint, SBValue, Watch,
2795                          (bool, bool, bool));
2796     LLDB_REGISTER_METHOD(lldb::SBWatchpoint, SBValue, WatchPointee,
2797                          (bool, bool, bool, lldb::SBError &));
2798     LLDB_REGISTER_METHOD(lldb::SBValue, SBValue, Persist, ());
2799   }
2800   {
2801     LLDB_REGISTER_CONSTRUCTOR(SBValueList, ());
2802     LLDB_REGISTER_CONSTRUCTOR(SBValueList, (const lldb::SBValueList &));
2803     LLDB_REGISTER_METHOD_CONST(bool, SBValueList, IsValid, ());
2804     LLDB_REGISTER_METHOD(void, SBValueList, Clear, ());
2805     LLDB_REGISTER_METHOD(const lldb::SBValueList &,
2806                          SBValueList, operator=,(const lldb::SBValueList &));
2807     LLDB_REGISTER_METHOD(void, SBValueList, Append, (const lldb::SBValue &));
2808     LLDB_REGISTER_METHOD(void, SBValueList, Append,
2809                          (const lldb::SBValueList &));
2810     LLDB_REGISTER_METHOD_CONST(lldb::SBValue, SBValueList, GetValueAtIndex,
2811                                (uint32_t));
2812     LLDB_REGISTER_METHOD_CONST(uint32_t, SBValueList, GetSize, ());
2813     LLDB_REGISTER_METHOD(lldb::SBValue, SBValueList, FindValueObjectByUID,
2814                          (lldb::user_id_t));
2815     LLDB_REGISTER_METHOD_CONST(lldb::SBValue, SBValueList, GetFirstValueByName,
2816                                (const char *));
2817   }
2818   {
2819     LLDB_REGISTER_CONSTRUCTOR(SBVariablesOptions, ());
2820     LLDB_REGISTER_CONSTRUCTOR(SBVariablesOptions,
2821                               (const lldb::SBVariablesOptions &));
2822     LLDB_REGISTER_METHOD(
2823         lldb::SBVariablesOptions &,
2824         SBVariablesOptions, operator=,(const lldb::SBVariablesOptions &));
2825     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions, IsValid, ());
2826     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions, GetIncludeArguments,
2827                                ());
2828     LLDB_REGISTER_METHOD(void, SBVariablesOptions, SetIncludeArguments, (bool));
2829     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions,
2830                                GetIncludeRecognizedArguments,
2831                                (const lldb::SBTarget &));
2832     LLDB_REGISTER_METHOD(void, SBVariablesOptions,
2833                          SetIncludeRecognizedArguments, (bool));
2834     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions, GetIncludeLocals, ());
2835     LLDB_REGISTER_METHOD(void, SBVariablesOptions, SetIncludeLocals, (bool));
2836     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions, GetIncludeStatics, ());
2837     LLDB_REGISTER_METHOD(void, SBVariablesOptions, SetIncludeStatics, (bool));
2838     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions, GetInScopeOnly, ());
2839     LLDB_REGISTER_METHOD(void, SBVariablesOptions, SetInScopeOnly, (bool));
2840     LLDB_REGISTER_METHOD_CONST(bool, SBVariablesOptions,
2841                                GetIncludeRuntimeSupportValues, ());
2842     LLDB_REGISTER_METHOD(void, SBVariablesOptions,
2843                          SetIncludeRuntimeSupportValues, (bool));
2844     LLDB_REGISTER_METHOD_CONST(lldb::DynamicValueType, SBVariablesOptions,
2845                                GetUseDynamic, ());
2846     LLDB_REGISTER_METHOD(void, SBVariablesOptions, SetUseDynamic,
2847                          (lldb::DynamicValueType));
2848   }
2849   {
2850     LLDB_REGISTER_CONSTRUCTOR(SBWatchpoint, ());
2851     LLDB_REGISTER_CONSTRUCTOR(SBWatchpoint, (const lldb::WatchpointSP &));
2852     LLDB_REGISTER_CONSTRUCTOR(SBWatchpoint, (const lldb::SBWatchpoint &));
2853     LLDB_REGISTER_METHOD(const lldb::SBWatchpoint &,
2854                          SBWatchpoint, operator=,(const lldb::SBWatchpoint &));
2855     LLDB_REGISTER_METHOD(lldb::watch_id_t, SBWatchpoint, GetID, ());
2856     LLDB_REGISTER_METHOD_CONST(bool, SBWatchpoint, IsValid, ());
2857     LLDB_REGISTER_METHOD(lldb::SBError, SBWatchpoint, GetError, ());
2858     LLDB_REGISTER_METHOD(int32_t, SBWatchpoint, GetHardwareIndex, ());
2859     LLDB_REGISTER_METHOD(lldb::addr_t, SBWatchpoint, GetWatchAddress, ());
2860     LLDB_REGISTER_METHOD(size_t, SBWatchpoint, GetWatchSize, ());
2861     LLDB_REGISTER_METHOD(void, SBWatchpoint, SetEnabled, (bool));
2862     LLDB_REGISTER_METHOD(bool, SBWatchpoint, IsEnabled, ());
2863     LLDB_REGISTER_METHOD(uint32_t, SBWatchpoint, GetHitCount, ());
2864     LLDB_REGISTER_METHOD(uint32_t, SBWatchpoint, GetIgnoreCount, ());
2865     LLDB_REGISTER_METHOD(void, SBWatchpoint, SetIgnoreCount, (uint32_t));
2866     LLDB_REGISTER_METHOD(const char *, SBWatchpoint, GetCondition, ());
2867     LLDB_REGISTER_METHOD(void, SBWatchpoint, SetCondition, (const char *));
2868     LLDB_REGISTER_METHOD(bool, SBWatchpoint, GetDescription,
2869                          (lldb::SBStream &, lldb::DescriptionLevel));
2870     LLDB_REGISTER_METHOD(void, SBWatchpoint, Clear, ());
2871     LLDB_REGISTER_METHOD_CONST(lldb::WatchpointSP, SBWatchpoint, GetSP, ());
2872     LLDB_REGISTER_METHOD(void, SBWatchpoint, SetSP,
2873                          (const lldb::WatchpointSP &));
2874     LLDB_REGISTER_STATIC_METHOD(bool, SBWatchpoint, EventIsWatchpointEvent,
2875                                 (const lldb::SBEvent &));
2876     LLDB_REGISTER_STATIC_METHOD(lldb::WatchpointEventType, SBWatchpoint,
2877                                 GetWatchpointEventTypeFromEvent,
2878                                 (const lldb::SBEvent &));
2879     LLDB_REGISTER_STATIC_METHOD(lldb::SBWatchpoint, SBWatchpoint,
2880                                 GetWatchpointFromEvent,
2881                                 (const lldb::SBEvent &));
2882   }
2883 }
2884 
2885 const char *SBReproducer::Capture(const char *path) {
2886   static std::string error;
2887   if (auto e =
2888           Reproducer::Initialize(ReproducerMode::Capture, FileSpec(path))) {
2889     error = llvm::toString(std::move(e));
2890     return error.c_str();
2891   }
2892   return nullptr;
2893 }
2894 
2895 const char *SBReproducer::Replay(const char *path) {
2896   static std::string error;
2897   if (auto e = Reproducer::Initialize(ReproducerMode::Replay, FileSpec(path))) {
2898     error = llvm::toString(std::move(e));
2899     return error.c_str();
2900   }
2901 
2902   repro::Loader *loader = repro::Reproducer::Instance().GetLoader();
2903   if (!loader) {
2904     error = "unable to get replay loader.";
2905     return error.c_str();
2906   }
2907 
2908   FileSpec file = loader->GetFile<SBInfo>();
2909   if (!file) {
2910     error = "unable to get replay data from reproducer.";
2911     return error.c_str();
2912   }
2913 
2914   SBRegistry registry;
2915   registry.Replay(file);
2916 
2917   return nullptr;
2918 }
2919 
2920 char lldb_private::repro::SBProvider::ID = 0;
2921 const char *SBInfo::name = "sbapi";
2922 const char *SBInfo::file = "sbapi.bin";
2923