SBTarget.i revision 5978746d34abc32bc4b0ee6236995942150aebf1
1//===-- SWIG Interface for SBTarget -----------------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10namespace lldb {
11
12class SBLaunchInfo
13{
14public:
15    SBLaunchInfo (const char **argv);
16
17    uint32_t
18    GetUserID();
19
20    uint32_t
21    GetGroupID();
22
23    bool
24    UserIDIsValid ();
25
26    bool
27    GroupIDIsValid ();
28
29    void
30    SetUserID (uint32_t uid);
31
32    void
33    SetGroupID (uint32_t gid);
34
35    uint32_t
36    GetNumArguments ();
37
38    const char *
39    GetArgumentAtIndex (uint32_t idx);
40
41    void
42    SetArguments (const char **argv, bool append);
43
44    uint32_t
45    GetNumEnvironmentEntries ();
46
47    const char *
48    GetEnvironmentEntryAtIndex (uint32_t idx);
49
50    void
51    SetEnvironmentEntries (const char **envp, bool append);
52
53    void
54    Clear ();
55
56    const char *
57    GetWorkingDirectory () const;
58
59    void
60    SetWorkingDirectory (const char *working_dir);
61
62    uint32_t
63    GetLaunchFlags ();
64
65    void
66    SetLaunchFlags (uint32_t flags);
67
68    const char *
69    GetProcessPluginName ();
70
71    void
72    SetProcessPluginName (const char *plugin_name);
73
74    const char *
75    GetShell ();
76
77    void
78    SetShell (const char * path);
79
80    uint32_t
81    GetResumeCount ();
82
83    void
84    SetResumeCount (uint32_t c);
85
86    bool
87    AddCloseFileAction (int fd);
88
89    bool
90    AddDuplicateFileAction (int fd, int dup_fd);
91
92    bool
93    AddOpenFileAction (int fd, const char *path, bool read, bool write);
94
95    bool
96    AddSuppressFileAction (int fd, bool read, bool write);
97};
98
99class SBAttachInfo
100{
101public:
102    SBAttachInfo ();
103
104    SBAttachInfo (lldb::pid_t pid);
105
106    SBAttachInfo (const char *path, bool wait_for);
107
108    SBAttachInfo (const lldb::SBAttachInfo &rhs);
109
110    lldb::pid_t
111    GetProcessID ();
112
113    void
114    SetProcessID (lldb::pid_t pid);
115
116    void
117    SetExecutable (const char *path);
118
119    void
120    SetExecutable (lldb::SBFileSpec exe_file);
121
122    bool
123    GetWaitForLaunch ();
124
125    void
126    SetWaitForLaunch (bool b);
127
128    bool
129    GetIgnoreExisting ();
130
131    void
132    SetIgnoreExisting (bool b);
133
134    uint32_t
135    GetResumeCount ();
136
137    void
138    SetResumeCount (uint32_t c);
139
140    const char *
141    GetProcessPluginName ();
142
143    void
144    SetProcessPluginName (const char *plugin_name);
145
146    uint32_t
147    GetUserID();
148
149    uint32_t
150    GetGroupID();
151
152    bool
153    UserIDIsValid ();
154
155    bool
156    GroupIDIsValid ();
157
158    void
159    SetUserID (uint32_t uid);
160
161    void
162    SetGroupID (uint32_t gid);
163
164    uint32_t
165    GetEffectiveUserID();
166
167    uint32_t
168    GetEffectiveGroupID();
169
170    bool
171    EffectiveUserIDIsValid ();
172
173    bool
174    EffectiveGroupIDIsValid ();
175
176    void
177    SetEffectiveUserID (uint32_t uid);
178
179    void
180    SetEffectiveGroupID (uint32_t gid);
181
182    lldb::pid_t
183    GetParentProcessID ();
184
185    void
186    SetParentProcessID (lldb::pid_t pid);
187
188    bool
189    ParentProcessIDIsValid();
190};
191
192
193%feature("docstring",
194"Represents the target program running under the debugger.
195
196SBTarget supports module, breakpoint, and watchpoint iterations. For example,
197
198    for m in target.module_iter():
199        print m
200
201produces:
202
203(x86_64) /Volumes/data/lldb/svn/trunk/test/python_api/lldbutil/iter/a.out
204(x86_64) /usr/lib/dyld
205(x86_64) /usr/lib/libstdc++.6.dylib
206(x86_64) /usr/lib/libSystem.B.dylib
207(x86_64) /usr/lib/system/libmathCommon.A.dylib
208(x86_64) /usr/lib/libSystem.B.dylib(__commpage)
209
210and,
211
212    for b in target.breakpoint_iter():
213        print b
214
215produces:
216
217SBBreakpoint: id = 1, file ='main.cpp', line = 66, locations = 1
218SBBreakpoint: id = 2, file ='main.cpp', line = 85, locations = 1
219
220and,
221
222    for wp_loc in target.watchpoint_iter():
223        print wp_loc
224
225produces:
226
227Watchpoint 1: addr = 0x1034ca048 size = 4 state = enabled type = rw
228    declare @ '/Volumes/data/lldb/svn/trunk/test/python_api/watchpoint/main.c:12'
229    hw_index = 0  hit_count = 2     ignore_count = 0"
230) SBTarget;
231class SBTarget
232{
233public:
234    //------------------------------------------------------------------
235    // Broadcaster bits.
236    //------------------------------------------------------------------
237    enum
238    {
239        eBroadcastBitBreakpointChanged  = (1 << 0),
240        eBroadcastBitModulesLoaded      = (1 << 1),
241        eBroadcastBitModulesUnloaded    = (1 << 2),
242        eBroadcastBitWatchpointChanged  = (1 << 3)
243    };
244
245    //------------------------------------------------------------------
246    // Constructors
247    //------------------------------------------------------------------
248    SBTarget ();
249
250    SBTarget (const lldb::SBTarget& rhs);
251
252    //------------------------------------------------------------------
253    // Destructor
254    //------------------------------------------------------------------
255    ~SBTarget();
256
257    static const char *
258    GetBroadcasterClassName ();
259
260    bool
261    IsValid() const;
262
263    lldb::SBProcess
264    GetProcess ();
265
266    %feature("docstring", "
267    //------------------------------------------------------------------
268    /// Launch a new process.
269    ///
270    /// Launch a new process by spawning a new process using the
271    /// target object's executable module's file as the file to launch.
272    /// Arguments are given in \a argv, and the environment variables
273    /// are in \a envp. Standard input and output files can be
274    /// optionally re-directed to \a stdin_path, \a stdout_path, and
275    /// \a stderr_path.
276    ///
277    /// @param[in] listener
278    ///     An optional listener that will receive all process events.
279    ///     If \a listener is valid then \a listener will listen to all
280    ///     process events. If not valid, then this target's debugger
281    ///     (SBTarget::GetDebugger()) will listen to all process events.
282    ///
283    /// @param[in] argv
284    ///     The argument array.
285    ///
286    /// @param[in] envp
287    ///     The environment array.
288    ///
289    /// @param[in] launch_flags
290    ///     Flags to modify the launch (@see lldb::LaunchFlags)
291    ///
292    /// @param[in] stdin_path
293    ///     The path to use when re-directing the STDIN of the new
294    ///     process. If all stdXX_path arguments are NULL, a pseudo
295    ///     terminal will be used.
296    ///
297    /// @param[in] stdout_path
298    ///     The path to use when re-directing the STDOUT of the new
299    ///     process. If all stdXX_path arguments are NULL, a pseudo
300    ///     terminal will be used.
301    ///
302    /// @param[in] stderr_path
303    ///     The path to use when re-directing the STDERR of the new
304    ///     process. If all stdXX_path arguments are NULL, a pseudo
305    ///     terminal will be used.
306    ///
307    /// @param[in] working_directory
308    ///     The working directory to have the child process run in
309    ///
310    /// @param[in] launch_flags
311    ///     Some launch options specified by logical OR'ing
312    ///     lldb::LaunchFlags enumeration values together.
313    ///
314    /// @param[in] stop_at_endtry
315    ///     If false do not stop the inferior at the entry point.
316    ///
317    /// @param[out]
318    ///     An error object. Contains the reason if there is some failure.
319    ///
320    /// @return
321    ///      A process object for the newly created process.
322    //------------------------------------------------------------------
323
324    For example,
325
326        process = target.Launch(self.dbg.GetListener(), None, None,
327                                None, '/tmp/stdout.txt', None,
328                                None, 0, False, error)
329
330    launches a new process by passing nothing for both the args and the envs
331    and redirect the standard output of the inferior to the /tmp/stdout.txt
332    file. It does not specify a working directory so that the debug server
333    will use its idea of what the current working directory is for the
334    inferior. Also, we ask the debugger not to stop the inferior at the
335    entry point. If no breakpoint is specified for the inferior, it should
336    run to completion if no user interaction is required.
337    ") Launch;
338    lldb::SBProcess
339    Launch (SBListener &listener,
340            char const **argv,
341            char const **envp,
342            const char *stdin_path,
343            const char *stdout_path,
344            const char *stderr_path,
345            const char *working_directory,
346            uint32_t launch_flags,   // See LaunchFlags
347            bool stop_at_entry,
348            lldb::SBError& error);
349
350    %feature("docstring", "
351    //------------------------------------------------------------------
352    /// Launch a new process with sensible defaults.
353    ///
354    /// @param[in] argv
355    ///     The argument array.
356    ///
357    /// @param[in] envp
358    ///     The environment array.
359    ///
360    /// @param[in] working_directory
361    ///     The working directory to have the child process run in
362    ///
363    /// Default: listener
364    ///     Set to the target's debugger (SBTarget::GetDebugger())
365    ///
366    /// Default: launch_flags
367    ///     Empty launch flags
368    ///
369    /// Default: stdin_path
370    /// Default: stdout_path
371    /// Default: stderr_path
372    ///     A pseudo terminal will be used.
373    ///
374    /// @return
375    ///      A process object for the newly created process.
376    //------------------------------------------------------------------
377
378    For example,
379
380        process = target.LaunchSimple(['X', 'Y', 'Z'], None, os.getcwd())
381
382    launches a new process by passing 'X', 'Y', 'Z' as the args to the
383    executable.
384    ") LaunchSimple;
385    lldb::SBProcess
386    LaunchSimple (const char **argv,
387                  const char **envp,
388                  const char *working_directory);
389
390    lldb::SBProcess
391    Launch (lldb::SBLaunchInfo &launch_info, lldb::SBError& error);
392
393    lldb::SBProcess
394    Attach (lldb::SBAttachInfo &attach_info, lldb::SBError& error);
395
396
397    %feature("docstring", "
398    //------------------------------------------------------------------
399    /// Attach to process with pid.
400    ///
401    /// @param[in] listener
402    ///     An optional listener that will receive all process events.
403    ///     If \a listener is valid then \a listener will listen to all
404    ///     process events. If not valid, then this target's debugger
405    ///     (SBTarget::GetDebugger()) will listen to all process events.
406    ///
407    /// @param[in] pid
408    ///     The process ID to attach to.
409    ///
410    /// @param[out]
411    ///     An error explaining what went wrong if attach fails.
412    ///
413    /// @return
414    ///      A process object for the attached process.
415    //------------------------------------------------------------------
416    ") AttachToProcessWithID;
417    lldb::SBProcess
418    AttachToProcessWithID (SBListener &listener,
419                           lldb::pid_t pid,
420                           lldb::SBError& error);
421
422    %feature("docstring", "
423    //------------------------------------------------------------------
424    /// Attach to process with name.
425    ///
426    /// @param[in] listener
427    ///     An optional listener that will receive all process events.
428    ///     If \a listener is valid then \a listener will listen to all
429    ///     process events. If not valid, then this target's debugger
430    ///     (SBTarget::GetDebugger()) will listen to all process events.
431    ///
432    /// @param[in] name
433    ///     Basename of process to attach to.
434    ///
435    /// @param[in] wait_for
436    ///     If true wait for a new instance of 'name' to be launched.
437    ///
438    /// @param[out]
439    ///     An error explaining what went wrong if attach fails.
440    ///
441    /// @return
442    ///      A process object for the attached process.
443    //------------------------------------------------------------------
444    ") AttachToProcessWithName;
445    lldb::SBProcess
446    AttachToProcessWithName (SBListener &listener,
447                             const char *name,
448                             bool wait_for,
449                             lldb::SBError& error);
450
451    %feature("docstring", "
452    //------------------------------------------------------------------
453    /// Connect to a remote debug server with url.
454    ///
455    /// @param[in] listener
456    ///     An optional listener that will receive all process events.
457    ///     If \a listener is valid then \a listener will listen to all
458    ///     process events. If not valid, then this target's debugger
459    ///     (SBTarget::GetDebugger()) will listen to all process events.
460    ///
461    /// @param[in] url
462    ///     The url to connect to, e.g., 'connect://localhost:12345'.
463    ///
464    /// @param[in] plugin_name
465    ///     The plugin name to be used; can be NULL.
466    ///
467    /// @param[out]
468    ///     An error explaining what went wrong if the connect fails.
469    ///
470    /// @return
471    ///      A process object for the connected process.
472    //------------------------------------------------------------------
473    ") ConnectRemote;
474    lldb::SBProcess
475    ConnectRemote (SBListener &listener,
476                   const char *url,
477                   const char *plugin_name,
478                   SBError& error);
479
480    lldb::SBFileSpec
481    GetExecutable ();
482
483    bool
484    AddModule (lldb::SBModule &module);
485
486    lldb::SBModule
487    AddModule (const char *path,
488               const char *triple,
489               const char *uuid);
490
491    lldb::SBModule
492    AddModule (const char *path,
493               const char *triple,
494               const char *uuid_cstr,
495               const char *symfile);
496
497    uint32_t
498    GetNumModules () const;
499
500    lldb::SBModule
501    GetModuleAtIndex (uint32_t idx);
502
503    bool
504    RemoveModule (lldb::SBModule module);
505
506    lldb::SBDebugger
507    GetDebugger() const;
508
509    lldb::SBModule
510    FindModule (const lldb::SBFileSpec &file_spec);
511
512    lldb::ByteOrder
513    GetByteOrder ();
514
515    uint32_t
516    GetAddressByteSize();
517
518    const char *
519    GetTriple ();
520
521    lldb::SBError
522    SetSectionLoadAddress (lldb::SBSection section,
523                           lldb::addr_t section_base_addr);
524
525    lldb::SBError
526    ClearSectionLoadAddress (lldb::SBSection section);
527
528    lldb::SBError
529    SetModuleLoadAddress (lldb::SBModule module,
530                          int64_t sections_offset);
531
532    lldb::SBError
533    ClearModuleLoadAddress (lldb::SBModule module);
534
535    %feature("docstring", "
536    //------------------------------------------------------------------
537    /// Find functions by name.
538    ///
539    /// @param[in] name
540    ///     The name of the function we are looking for.
541    ///
542    /// @param[in] name_type_mask
543    ///     A logical OR of one or more FunctionNameType enum bits that
544    ///     indicate what kind of names should be used when doing the
545    ///     lookup. Bits include fully qualified names, base names,
546    ///     C++ methods, or ObjC selectors.
547    ///     See FunctionNameType for more details.
548    ///
549    /// @return
550    ///     A lldb::SBSymbolContextList that gets filled in with all of
551    ///     the symbol contexts for all the matches.
552    //------------------------------------------------------------------
553    ") FindFunctions;
554    lldb::SBSymbolContextList
555    FindFunctions (const char *name,
556                   uint32_t name_type_mask = lldb::eFunctionNameTypeAny);
557
558    lldb::SBType
559    FindFirstType (const char* type);
560
561    lldb::SBTypeList
562    FindTypes (const char* type);
563
564    lldb::SBType
565    GetBasicType(lldb::BasicType type);
566
567    lldb::SBSourceManager
568    GetSourceManager ();
569
570    %feature("docstring", "
571    //------------------------------------------------------------------
572    /// Find global and static variables by name.
573    ///
574    /// @param[in] name
575    ///     The name of the global or static variable we are looking
576    ///     for.
577    ///
578    /// @param[in] max_matches
579    ///     Allow the number of matches to be limited to \a max_matches.
580    ///
581    /// @return
582    ///     A list of matched variables in an SBValueList.
583    //------------------------------------------------------------------
584    ") FindGlobalVariables;
585    lldb::SBValueList
586    FindGlobalVariables (const char *name,
587                         uint32_t max_matches);
588
589     %feature("docstring", "
590    //------------------------------------------------------------------
591    /// Find the first global (or static) variable by name.
592    ///
593    /// @param[in] name
594    ///     The name of the global or static variable we are looking
595    ///     for.
596    ///
597    /// @return
598    ///     An SBValue that gets filled in with the found variable (if any).
599    //------------------------------------------------------------------
600    ") FindFirstGlobalVariable;
601    lldb::SBValue
602    FindFirstGlobalVariable (const char* name);
603
604    void
605    Clear ();
606
607    lldb::SBAddress
608    ResolveLoadAddress (lldb::addr_t vm_addr);
609
610    SBSymbolContext
611    ResolveSymbolContextForAddress (const SBAddress& addr,
612                                    uint32_t resolve_scope);
613
614    lldb::SBBreakpoint
615    BreakpointCreateByLocation (const char *file, uint32_t line);
616
617    lldb::SBBreakpoint
618    BreakpointCreateByLocation (const lldb::SBFileSpec &file_spec, uint32_t line);
619
620    lldb::SBBreakpoint
621    BreakpointCreateByName (const char *symbol_name, const char *module_name = NULL);
622
623    lldb::SBBreakpoint
624    BreakpointCreateByName (const char *symbol_name,
625                            uint32_t func_name_type,           // Logical OR one or more FunctionNameType enum bits
626                            const SBFileSpecList &module_list,
627                            const SBFileSpecList &comp_unit_list);
628
629    lldb::SBBreakpoint
630    BreakpointCreateByNames (const char *symbol_name[],
631                             uint32_t num_names,
632                             uint32_t name_type_mask,           // Logical OR one or more FunctionNameType enum bits
633                             const SBFileSpecList &module_list,
634                             const SBFileSpecList &comp_unit_list);
635
636    lldb::SBBreakpoint
637    BreakpointCreateByRegex (const char *symbol_name_regex, const char *module_name = NULL);
638
639    lldb::SBBreakpoint
640    BreakpointCreateBySourceRegex (const char *source_regex, const lldb::SBFileSpec &source_file, const char *module_name = NULL);
641
642    lldb::SBBreakpoint
643    BreakpointCreateForException  (lldb::LanguageType language,
644                                   bool catch_bp,
645                                   bool throw_bp);
646
647    lldb::SBBreakpoint
648    BreakpointCreateByAddress (addr_t address);
649
650    uint32_t
651    GetNumBreakpoints () const;
652
653    lldb::SBBreakpoint
654    GetBreakpointAtIndex (uint32_t idx) const;
655
656    bool
657    BreakpointDelete (break_id_t break_id);
658
659    lldb::SBBreakpoint
660    FindBreakpointByID (break_id_t break_id);
661
662    bool
663    EnableAllBreakpoints ();
664
665    bool
666    DisableAllBreakpoints ();
667
668    bool
669    DeleteAllBreakpoints ();
670
671    uint32_t
672    GetNumWatchpoints () const;
673
674    lldb::SBWatchpoint
675    GetWatchpointAtIndex (uint32_t idx) const;
676
677    bool
678    DeleteWatchpoint (lldb::watch_id_t watch_id);
679
680    lldb::SBWatchpoint
681    FindWatchpointByID (lldb::watch_id_t watch_id);
682
683    bool
684    EnableAllWatchpoints ();
685
686    bool
687    DisableAllWatchpoints ();
688
689    bool
690    DeleteAllWatchpoints ();
691
692    lldb::SBWatchpoint
693    WatchAddress (lldb::addr_t addr,
694                  size_t size,
695                  bool read,
696                  bool write,
697                  SBError &error);
698
699
700    lldb::SBBroadcaster
701    GetBroadcaster () const;
702
703    lldb::SBInstructionList
704    ReadInstructions (lldb::SBAddress base_addr, uint32_t count);
705
706    lldb::SBInstructionList
707    ReadInstructions (lldb::SBAddress base_addr, uint32_t count, const char *flavor_string);
708
709    lldb::SBInstructionList
710    GetInstructions (lldb::SBAddress base_addr, const void *buf, size_t size);
711
712    lldb::SBInstructionList
713    GetInstructionsWithFlavor (lldb::SBAddress base_addr, const char *flavor_string, const void *buf, size_t size);
714
715    lldb::SBSymbolContextList
716    FindSymbols (const char *name, lldb::SymbolType type = eSymbolTypeAny);
717
718    bool
719    GetDescription (lldb::SBStream &description, lldb::DescriptionLevel description_level);
720
721    lldb::addr_t
722    GetStackRedZoneSize();
723
724    lldb::SBValue
725    EvaluateExpression (const char *expr, const lldb::SBExpressionOptions &options);
726    %pythoncode %{
727        class modules_access(object):
728            '''A helper object that will lazily hand out lldb.SBModule objects for a target when supplied an index, or by full or partial path.'''
729            def __init__(self, sbtarget):
730                self.sbtarget = sbtarget
731
732            def __len__(self):
733                if self.sbtarget:
734                    return int(self.sbtarget.GetNumModules())
735                return 0
736
737            def __getitem__(self, key):
738                num_modules = self.sbtarget.GetNumModules()
739                if type(key) is int:
740                    if key < num_modules:
741                        return self.sbtarget.GetModuleAtIndex(key)
742                elif type(key) is str:
743                    if key.find('/') == -1:
744                        for idx in range(num_modules):
745                            module = self.sbtarget.GetModuleAtIndex(idx)
746                            if module.file.basename == key:
747                                return module
748                    else:
749                        for idx in range(num_modules):
750                            module = self.sbtarget.GetModuleAtIndex(idx)
751                            if module.file.fullpath == key:
752                                return module
753                    # See if the string is a UUID
754                    try:
755                        the_uuid = uuid.UUID(key)
756                        if the_uuid:
757                            for idx in range(num_modules):
758                                module = self.sbtarget.GetModuleAtIndex(idx)
759                                if module.uuid == the_uuid:
760                                    return module
761                    except:
762                        return None
763                elif type(key) is uuid.UUID:
764                    for idx in range(num_modules):
765                        module = self.sbtarget.GetModuleAtIndex(idx)
766                        if module.uuid == key:
767                            return module
768                elif type(key) is re.SRE_Pattern:
769                    matching_modules = []
770                    for idx in range(num_modules):
771                        module = self.sbtarget.GetModuleAtIndex(idx)
772                        re_match = key.search(module.path.fullpath)
773                        if re_match:
774                            matching_modules.append(module)
775                    return matching_modules
776                else:
777                    print "error: unsupported item type: %s" % type(key)
778                return None
779
780        def get_modules_access_object(self):
781            '''An accessor function that returns a modules_access() object which allows lazy module access from a lldb.SBTarget object.'''
782            return self.modules_access (self)
783
784        def get_modules_array(self):
785            '''An accessor function that returns a list() that contains all modules in a lldb.SBTarget object.'''
786            modules = []
787            for idx in range(self.GetNumModules()):
788                modules.append(self.GetModuleAtIndex(idx))
789            return modules
790
791        __swig_getmethods__["modules"] = get_modules_array
792        if _newclass: modules = property(get_modules_array, None, doc='''A read only property that returns a list() of lldb.SBModule objects contained in this target. This list is a list all modules that the target currently is tracking (the main executable and all dependent shared libraries).''')
793
794        __swig_getmethods__["module"] = get_modules_access_object
795        if _newclass: module = property(get_modules_access_object, None, doc=r'''A read only property that returns an object that implements python operator overloading with the square brackets().\n    target.module[<int>] allows array access to any modules.\n    target.module[<str>] allows access to modules by basename, full path, or uuid string value.\n    target.module[uuid.UUID()] allows module access by UUID.\n    target.module[re] allows module access using a regular expression that matches the module full path.''')
796
797        __swig_getmethods__["process"] = GetProcess
798        if _newclass: process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that this target owns.''')
799
800        __swig_getmethods__["executable"] = GetExecutable
801        if _newclass: executable = property(GetExecutable, None, doc='''A read only property that returns an lldb object that represents the main executable module (lldb.SBModule) for this target.''')
802
803        __swig_getmethods__["debugger"] = GetDebugger
804        if _newclass: debugger = property(GetDebugger, None, doc='''A read only property that returns an lldb object that represents the debugger (lldb.SBDebugger) that owns this target.''')
805
806        __swig_getmethods__["num_breakpoints"] = GetNumBreakpoints
807        if _newclass: num_breakpoints = property(GetNumBreakpoints, None, doc='''A read only property that returns the number of breakpoints that this target has as an integer.''')
808
809        __swig_getmethods__["num_watchpoints"] = GetNumWatchpoints
810        if _newclass: num_watchpoints = property(GetNumWatchpoints, None, doc='''A read only property that returns the number of watchpoints that this target has as an integer.''')
811
812        __swig_getmethods__["broadcaster"] = GetBroadcaster
813        if _newclass: broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this target.''')
814
815        __swig_getmethods__["byte_order"] = GetByteOrder
816        if _newclass: byte_order = property(GetByteOrder, None, doc='''A read only property that returns an lldb enumeration value (lldb.eByteOrderLittle, lldb.eByteOrderBig, lldb.eByteOrderInvalid) that represents the byte order for this target.''')
817
818        __swig_getmethods__["addr_size"] = GetAddressByteSize
819        if _newclass: addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this target.''')
820
821        __swig_getmethods__["triple"] = GetTriple
822        if _newclass: triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this target as a string.''')
823    %}
824
825};
826
827} // namespace lldb
828