blob: aa2571c1090ae6dd6231fe6cc82b5969b5f89260 [file] [log] [blame]
Johnny Chenf74cb502011-07-18 23:11:07 +00001//===-- SWIG Interface for SBModule -----------------------------*- 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
12%feature("docstring",
13"Represents an executable image and its associated object and symbol files.
14
15The module is designed to be able to select a single slice of an
16executable image as it would appear on disk and during program
17execution.
18
19You can retrieve SBModule from SBSymbolContext, which in turn is available
20from SBFrame.
21
22SBModule supports symbol iteration, for example,
23
24 for symbol in module:
25 name = symbol.GetName()
26 saddr = symbol.GetStartAddress()
27 eaddr = symbol.GetEndAddress()
28
29and rich comparion methods which allow the API program to use,
30
31 if thisModule == thatModule:
32 print 'This module is the same as that module'
33
Johnny Chen5b94dc22011-09-24 04:51:43 +000034to test module equality. A module also contains object file sections, namely
Johnny Chenc44e20c2011-09-30 00:42:49 +000035SBSection. SBModule supports section iteration through section_iter(), for
36example,
37
38 print 'Number of sections: %d' % module.GetNumSections()
39 for sec in module.section_iter():
40 print sec
41
42And to iterate the symbols within a SBSection, use symbol_in_section_iter(),
43
44 # Iterates the text section and prints each symbols within each sub-section.
45 for subsec in text_sec:
46 print INDENT + repr(subsec)
47 for sym in exe_module.symbol_in_section_iter(subsec):
48 print INDENT2 + repr(sym)
49 print INDENT2 + 'symbol type: %s' % symbol_type_to_str(sym.GetType())
50
Johnny Chenb49b7b52011-10-01 01:19:45 +000051produces this following output:
Johnny Chenc44e20c2011-09-30 00:42:49 +000052
53 [0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text
54 id = {0x00000004}, name = 'mask_access(MaskAction, unsigned int)', range = [0x00000001000017c0-0x0000000100001870)
55 symbol type: code
56 id = {0x00000008}, name = 'thread_func(void*)', range = [0x0000000100001870-0x00000001000019b0)
57 symbol type: code
58 id = {0x0000000c}, name = 'main', range = [0x00000001000019b0-0x0000000100001d5c)
59 symbol type: code
60 id = {0x00000023}, name = 'start', address = 0x0000000100001780
61 symbol type: code
62 [0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs
63 id = {0x00000024}, name = '__stack_chk_fail', range = [0x0000000100001d5c-0x0000000100001d62)
64 symbol type: trampoline
65 id = {0x00000028}, name = 'exit', range = [0x0000000100001d62-0x0000000100001d68)
66 symbol type: trampoline
67 id = {0x00000029}, name = 'fflush', range = [0x0000000100001d68-0x0000000100001d6e)
68 symbol type: trampoline
69 id = {0x0000002a}, name = 'fgets', range = [0x0000000100001d6e-0x0000000100001d74)
70 symbol type: trampoline
71 id = {0x0000002b}, name = 'printf', range = [0x0000000100001d74-0x0000000100001d7a)
72 symbol type: trampoline
73 id = {0x0000002c}, name = 'pthread_create', range = [0x0000000100001d7a-0x0000000100001d80)
74 symbol type: trampoline
75 id = {0x0000002d}, name = 'pthread_join', range = [0x0000000100001d80-0x0000000100001d86)
76 symbol type: trampoline
77 id = {0x0000002e}, name = 'pthread_mutex_lock', range = [0x0000000100001d86-0x0000000100001d8c)
78 symbol type: trampoline
79 id = {0x0000002f}, name = 'pthread_mutex_unlock', range = [0x0000000100001d8c-0x0000000100001d92)
80 symbol type: trampoline
81 id = {0x00000030}, name = 'rand', range = [0x0000000100001d92-0x0000000100001d98)
82 symbol type: trampoline
83 id = {0x00000031}, name = 'strtoul', range = [0x0000000100001d98-0x0000000100001d9e)
84 symbol type: trampoline
85 id = {0x00000032}, name = 'usleep', range = [0x0000000100001d9e-0x0000000100001da4)
86 symbol type: trampoline
87 [0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper
88 [0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring
89 [0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info
90 [0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame
91"
Johnny Chenf74cb502011-07-18 23:11:07 +000092) SBModule;
93class SBModule
94{
95public:
96
97 SBModule ();
98
99 SBModule (const SBModule &rhs);
100
Greg Claytonc9660542012-02-05 02:38:54 +0000101 SBModule (lldb::SBProcess &process,
102 lldb::addr_t header_addr);
103
Johnny Chenf74cb502011-07-18 23:11:07 +0000104 ~SBModule ();
105
106 bool
107 IsValid () const;
108
Jim Ingham5d3bca42011-12-19 20:39:44 +0000109 void
110 Clear();
111
Johnny Chenf74cb502011-07-18 23:11:07 +0000112 %feature("docstring", "
113 //------------------------------------------------------------------
114 /// Get const accessor for the module file specification.
115 ///
116 /// This function returns the file for the module on the host system
117 /// that is running LLDB. This can differ from the path on the
118 /// platform since we might be doing remote debugging.
119 ///
120 /// @return
121 /// A const reference to the file specification object.
122 //------------------------------------------------------------------
123 ") GetFileSpec;
124 lldb::SBFileSpec
125 GetFileSpec () const;
126
127 %feature("docstring", "
128 //------------------------------------------------------------------
129 /// Get accessor for the module platform file specification.
130 ///
131 /// Platform file refers to the path of the module as it is known on
132 /// the remote system on which it is being debugged. For local
133 /// debugging this is always the same as Module::GetFileSpec(). But
134 /// remote debugging might mention a file '/usr/lib/liba.dylib'
135 /// which might be locally downloaded and cached. In this case the
136 /// platform file could be something like:
137 /// '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
138 /// The file could also be cached in a local developer kit directory.
139 ///
140 /// @return
141 /// A const reference to the file specification object.
142 //------------------------------------------------------------------
143 ") GetPlatformFileSpec;
144 lldb::SBFileSpec
145 GetPlatformFileSpec () const;
146
147 bool
148 SetPlatformFileSpec (const lldb::SBFileSpec &platform_file);
149
150 %feature("docstring", "Returns the UUID of the module as a Python string."
151 ) GetUUIDString;
152 const char *
153 GetUUIDString () const;
154
Greg Claytoncac9c5f2011-09-24 00:52:29 +0000155 lldb::SBSection
156 FindSection (const char *sect_name);
157
158 lldb::SBAddress
159 ResolveFileAddress (lldb::addr_t vm_addr);
Johnny Chenf74cb502011-07-18 23:11:07 +0000160
161 lldb::SBSymbolContext
162 ResolveSymbolContextForAddress (const lldb::SBAddress& addr,
163 uint32_t resolve_scope);
164
165 bool
166 GetDescription (lldb::SBStream &description);
167
Johnny Chen1b72f092012-03-16 21:55:42 +0000168 uint32_t
169 GetNumCompileUnits();
170
171 lldb::SBCompileUnit
172 GetCompileUnitAtIndex (uint32_t);
173
Johnny Chenf74cb502011-07-18 23:11:07 +0000174 size_t
175 GetNumSymbols ();
176
177 lldb::SBSymbol
178 GetSymbolAtIndex (size_t idx);
179
Greg Claytone14e1922012-12-04 02:22:16 +0000180 lldb::SBSymbol
181 FindSymbol (const char *name,
182 lldb::SymbolType type = eSymbolTypeAny);
183
184 lldb::SBSymbolContextList
185 FindSymbols (const char *name,
186 lldb::SymbolType type = eSymbolTypeAny);
187
188
Greg Claytoncac9c5f2011-09-24 00:52:29 +0000189 size_t
190 GetNumSections ();
191
192 lldb::SBSection
193 GetSectionAtIndex (size_t idx);
194
195
Johnny Chenf74cb502011-07-18 23:11:07 +0000196 %feature("docstring", "
197 //------------------------------------------------------------------
198 /// Find functions by name.
199 ///
200 /// @param[in] name
201 /// The name of the function we are looking for.
202 ///
203 /// @param[in] name_type_mask
204 /// A logical OR of one or more FunctionNameType enum bits that
205 /// indicate what kind of names should be used when doing the
206 /// lookup. Bits include fully qualified names, base names,
207 /// C++ methods, or ObjC selectors.
208 /// See FunctionNameType for more details.
209 ///
Greg Clayton5569e642012-02-06 01:44:54 +0000210 /// @return
Johnny Chenf74cb502011-07-18 23:11:07 +0000211 /// A symbol context list that gets filled in with all of the
212 /// matches.
Johnny Chenf74cb502011-07-18 23:11:07 +0000213 //------------------------------------------------------------------
214 ") FindFunctions;
Greg Clayton5569e642012-02-06 01:44:54 +0000215 lldb::SBSymbolContextList
Johnny Chenf74cb502011-07-18 23:11:07 +0000216 FindFunctions (const char *name,
Greg Clayton5569e642012-02-06 01:44:54 +0000217 uint32_t name_type_mask = lldb::eFunctionNameTypeAny);
Enrico Granata6f3533f2011-07-29 19:53:35 +0000218
219 lldb::SBType
220 FindFirstType (const char* name);
221
222 lldb::SBTypeList
223 FindTypes (const char* type);
224
Greg Claytonb43165b2012-12-05 21:24:42 +0000225 lldb::SBType
226 GetBasicType(lldb::BasicType type);
Johnny Chenf74cb502011-07-18 23:11:07 +0000227
228 %feature("docstring", "
229 //------------------------------------------------------------------
Greg Claytonf02500c2013-06-18 22:51:05 +0000230 /// Get all types matching \a type_mask from debug info in this
231 /// module.
232 ///
233 /// @param[in] type_mask
234 /// A bitfield that consists of one or more bits logically OR'ed
235 /// together from the lldb::TypeClass enumeration. This allows
236 /// you to request only structure types, or only class, struct
237 /// and union types. Passing in lldb::eTypeClassAny will return
238 /// all types found in the debug information for this module.
239 ///
240 /// @return
241 /// A list of types in this module that match \a type_mask
242 //------------------------------------------------------------------
243 ") GetTypes;
244 lldb::SBTypeList
245 GetTypes (uint32_t type_mask = lldb::eTypeClassAny);
246
247 %feature("docstring", "
248 //------------------------------------------------------------------
Johnny Chenf74cb502011-07-18 23:11:07 +0000249 /// Find global and static variables by name.
250 ///
251 /// @param[in] target
252 /// A valid SBTarget instance representing the debuggee.
253 ///
254 /// @param[in] name
255 /// The name of the global or static variable we are looking
256 /// for.
257 ///
258 /// @param[in] max_matches
259 /// Allow the number of matches to be limited to \a max_matches.
260 ///
261 /// @return
262 /// A list of matched variables in an SBValueList.
263 //------------------------------------------------------------------
264 ") FindGlobalVariables;
265 lldb::SBValueList
266 FindGlobalVariables (lldb::SBTarget &target,
267 const char *name,
268 uint32_t max_matches);
Greg Clayton13d19502012-01-29 06:07:39 +0000269
Enrico Granatabcd80b42013-01-16 18:53:52 +0000270 %feature("docstring", "
271 //------------------------------------------------------------------
272 /// Find the first global (or static) variable by name.
273 ///
274 /// @param[in] target
275 /// A valid SBTarget instance representing the debuggee.
276 ///
277 /// @param[in] name
278 /// The name of the global or static variable we are looking
279 /// for.
280 ///
281 /// @return
282 /// An SBValue that gets filled in with the found variable (if any).
283 //------------------------------------------------------------------
284 ") FindFirstGlobalVariable;
285 lldb::SBValue
286 FindFirstGlobalVariable (lldb::SBTarget &target, const char *name);
287
Greg Clayton13d19502012-01-29 06:07:39 +0000288 lldb::ByteOrder
289 GetByteOrder ();
290
291 uint32_t
292 GetAddressByteSize();
293
294 const char *
295 GetTriple ();
Greg Claytonc2ff9312012-02-22 19:41:02 +0000296
297 uint32_t
298 GetVersion (uint32_t *versions,
299 uint32_t num_versions);
Greg Clayton13d19502012-01-29 06:07:39 +0000300
Enrico Granatac3387332013-05-03 01:29:27 +0000301 bool
302 operator == (const lldb::SBModule &rhs) const;
303
304 bool
305 operator != (const lldb::SBModule &rhs) const;
306
Greg Clayton13d19502012-01-29 06:07:39 +0000307 %pythoncode %{
Greg Clayton6b2bd932012-02-01 08:09:32 +0000308 class symbols_access(object):
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000309 re_compile_type = type(re.compile('.'))
Greg Clayton66a907a2013-03-07 03:25:11 +0000310 '''A helper object that will lazily hand out lldb.SBSymbol objects for a module when supplied an index, name, or regular expression.'''
Greg Clayton6b2bd932012-02-01 08:09:32 +0000311 def __init__(self, sbmodule):
312 self.sbmodule = sbmodule
313
314 def __len__(self):
315 if self.sbmodule:
Filipe Cabecinhas1a96ef82012-05-11 20:39:42 +0000316 return int(self.sbmodule.GetNumSymbols())
Greg Clayton6b2bd932012-02-01 08:09:32 +0000317 return 0
318
319 def __getitem__(self, key):
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000320 count = len(self)
Greg Clayton6b2bd932012-02-01 08:09:32 +0000321 if type(key) is int:
322 if key < count:
323 return self.sbmodule.GetSymbolAtIndex(key)
324 elif type(key) is str:
325 matches = []
Greg Claytone14e1922012-12-04 02:22:16 +0000326 sc_list = self.sbmodule.FindSymbols(key)
327 for sc in sc_list:
328 symbol = sc.symbol
329 if symbol:
Greg Clayton6b2bd932012-02-01 08:09:32 +0000330 matches.append(symbol)
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000331 return matches
332 elif isinstance(key, self.re_compile_type):
Greg Clayton6b2bd932012-02-01 08:09:32 +0000333 matches = []
334 for idx in range(count):
335 symbol = self.sbmodule.GetSymbolAtIndex(idx)
336 added = False
337 name = symbol.name
338 if name:
339 re_match = key.search(name)
340 if re_match:
341 matches.append(symbol)
342 added = True
343 if not added:
344 mangled = symbol.mangled
345 if mangled:
346 re_match = key.search(mangled)
347 if re_match:
348 matches.append(symbol)
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000349 return matches
Greg Clayton6b2bd932012-02-01 08:09:32 +0000350 else:
351 print "error: unsupported item type: %s" % type(key)
352 return None
353
354 def get_symbols_access_object(self):
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000355 '''An accessor function that returns a symbols_access() object which allows lazy symbol access from a lldb.SBModule object.'''
Greg Clayton6b2bd932012-02-01 08:09:32 +0000356 return self.symbols_access (self)
357
Greg Clayton66a907a2013-03-07 03:25:11 +0000358 def get_compile_units_access_object (self):
359 '''An accessor function that returns a compile_units_access() object which allows lazy compile unit access from a lldb.SBModule object.'''
360 return self.compile_units_access (self)
361
Greg Clayton6b2bd932012-02-01 08:09:32 +0000362 def get_symbols_array(self):
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000363 '''An accessor function that returns a list() that contains all symbols in a lldb.SBModule object.'''
Greg Clayton6b2bd932012-02-01 08:09:32 +0000364 symbols = []
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000365 for idx in range(self.num_symbols):
Greg Clayton6b2bd932012-02-01 08:09:32 +0000366 symbols.append(self.GetSymbolAtIndex(idx))
367 return symbols
368
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000369 class sections_access(object):
370 re_compile_type = type(re.compile('.'))
Greg Clayton66a907a2013-03-07 03:25:11 +0000371 '''A helper object that will lazily hand out lldb.SBSection objects for a module when supplied an index, name, or regular expression.'''
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000372 def __init__(self, sbmodule):
373 self.sbmodule = sbmodule
374
375 def __len__(self):
376 if self.sbmodule:
Filipe Cabecinhas1a96ef82012-05-11 20:39:42 +0000377 return int(self.sbmodule.GetNumSections())
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000378 return 0
379
380 def __getitem__(self, key):
381 count = len(self)
382 if type(key) is int:
383 if key < count:
384 return self.sbmodule.GetSectionAtIndex(key)
385 elif type(key) is str:
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000386 for idx in range(count):
387 section = self.sbmodule.GetSectionAtIndex(idx)
388 if section.name == key:
Greg Clayton819134a2012-02-04 02:58:17 +0000389 return section
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000390 elif isinstance(key, self.re_compile_type):
391 matches = []
392 for idx in range(count):
393 section = self.sbmodule.GetSectionAtIndex(idx)
394 name = section.name
395 if name:
396 re_match = key.search(name)
397 if re_match:
398 matches.append(section)
399 return matches
400 else:
401 print "error: unsupported item type: %s" % type(key)
402 return None
Greg Clayton66a907a2013-03-07 03:25:11 +0000403
404 class compile_units_access(object):
405 re_compile_type = type(re.compile('.'))
406 '''A helper object that will lazily hand out lldb.SBCompileUnit objects for a module when supplied an index, full or partial path, or regular expression.'''
407 def __init__(self, sbmodule):
408 self.sbmodule = sbmodule
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000409
Greg Clayton66a907a2013-03-07 03:25:11 +0000410 def __len__(self):
411 if self.sbmodule:
412 return int(self.sbmodule.GetNumCompileUnits())
413 return 0
414
415 def __getitem__(self, key):
416 count = len(self)
417 if type(key) is int:
418 if key < count:
419 return self.sbmodule.GetCompileUnitAtIndex(key)
420 elif type(key) is str:
421 is_full_path = key[0] == '/'
422 for idx in range(count):
423 comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx)
424 if is_full_path:
425 if comp_unit.file.fullpath == key:
426 return comp_unit
427 else:
428 if comp_unit.file.basename == key:
429 return comp_unit
430 elif isinstance(key, self.re_compile_type):
431 matches = []
432 for idx in range(count):
433 comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx)
434 fullpath = comp_unit.file.fullpath
435 if fullpath:
436 re_match = key.search(fullpath)
437 if re_match:
438 matches.append(comp_unit)
439 return matches
440 else:
441 print "error: unsupported item type: %s" % type(key)
442 return None
443
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000444 def get_sections_access_object(self):
445 '''An accessor function that returns a sections_access() object which allows lazy section array access.'''
446 return self.sections_access (self)
447
448 def get_sections_array(self):
449 '''An accessor function that returns an array object that contains all sections in this module object.'''
Greg Clayton006c1d12013-02-25 21:53:07 +0000450 if not hasattr(self, 'sections_array'):
451 self.sections_array = []
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000452 for idx in range(self.num_sections):
Greg Clayton006c1d12013-02-25 21:53:07 +0000453 self.sections_array.append(self.GetSectionAtIndex(idx))
454 return self.sections_array
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000455
Greg Clayton66a907a2013-03-07 03:25:11 +0000456 def get_compile_units_array(self):
457 '''An accessor function that returns an array object that contains all compile_units in this module object.'''
458 if not hasattr(self, 'compile_units_array'):
459 self.compile_units_array = []
460 for idx in range(self.GetNumCompileUnits()):
461 self.compile_units_array.append(self.GetCompileUnitAtIndex(idx))
462 return self.compile_units_array
463
Greg Clayton6b2bd932012-02-01 08:09:32 +0000464 __swig_getmethods__["symbols"] = get_symbols_array
Greg Clayton5ef31a92012-06-29 22:00:42 +0000465 if _newclass: symbols = property(get_symbols_array, None, doc='''A read only property that returns a list() of lldb.SBSymbol objects contained in this module.''')
Greg Clayton6b2bd932012-02-01 08:09:32 +0000466
467 __swig_getmethods__["symbol"] = get_symbols_access_object
Greg Clayton5ef31a92012-06-29 22:00:42 +0000468 if _newclass: symbol = property(get_symbols_access_object, None, doc='''A read only property that can be used to access symbols by index ("symbol = module.symbol[0]"), name ("symbols = module.symbol['main']"), or using a regular expression ("symbols = module.symbol[re.compile(...)]"). The return value is a single lldb.SBSymbol object for array access, and a list() of lldb.SBSymbol objects for name and regular expression access''')
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000469
470 __swig_getmethods__["sections"] = get_sections_array
Greg Clayton5ef31a92012-06-29 22:00:42 +0000471 if _newclass: sections = property(get_sections_array, None, doc='''A read only property that returns a list() of lldb.SBSection objects contained in this module.''')
Greg Clayton66a907a2013-03-07 03:25:11 +0000472
473 __swig_getmethods__["compile_units"] = get_compile_units_array
474 if _newclass: compile_units = property(get_compile_units_array, None, doc='''A read only property that returns a list() of lldb.SBCompileUnit objects contained in this module.''')
475
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000476 __swig_getmethods__["section"] = get_sections_access_object
Greg Clayton5ef31a92012-06-29 22:00:42 +0000477 if _newclass: section = property(get_sections_access_object, None, doc='''A read only property that can be used to access symbols by index ("section = module.section[0]"), name ("sections = module.section[\'main\']"), or using a regular expression ("sections = module.section[re.compile(...)]"). The return value is a single lldb.SBSection object for array access, and a list() of lldb.SBSection objects for name and regular expression access''')
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000478
Greg Clayton66a907a2013-03-07 03:25:11 +0000479 __swig_getmethods__["compile_unit"] = get_compile_units_access_object
480 if _newclass: section = property(get_sections_access_object, None, doc='''A read only property that can be used to access compile units by index ("compile_unit = module.compile_unit[0]"), name ("compile_unit = module.compile_unit[\'main.cpp\']"), or using a regular expression ("compile_unit = module.compile_unit[re.compile(...)]"). The return value is a single lldb.SBCompileUnit object for array access or by full or partial path, and a list() of lldb.SBCompileUnit objects regular expressions.''')
481
Greg Clayton6b2bd932012-02-01 08:09:32 +0000482 def get_uuid(self):
483 return uuid.UUID (self.GetUUIDString())
484
485 __swig_getmethods__["uuid"] = get_uuid
Greg Clayton5ef31a92012-06-29 22:00:42 +0000486 if _newclass: uuid = property(get_uuid, None, doc='''A read only property that returns a standard python uuid.UUID object that represents the UUID of this module.''')
Greg Clayton6b2bd932012-02-01 08:09:32 +0000487
Greg Clayton13d19502012-01-29 06:07:39 +0000488 __swig_getmethods__["file"] = GetFileSpec
Greg Clayton5ef31a92012-06-29 22:00:42 +0000489 if _newclass: file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this object file for this module as it is represented where it is being debugged.''')
Greg Clayton13d19502012-01-29 06:07:39 +0000490
491 __swig_getmethods__["platform_file"] = GetPlatformFileSpec
Greg Clayton5ef31a92012-06-29 22:00:42 +0000492 if _newclass: platform_file = property(GetPlatformFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this object file for this module as it is represented on the current host system.''')
Greg Clayton13d19502012-01-29 06:07:39 +0000493
Greg Clayton13d19502012-01-29 06:07:39 +0000494 __swig_getmethods__["byte_order"] = GetByteOrder
Greg Clayton5ef31a92012-06-29 22:00:42 +0000495 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 module.''')
Greg Clayton13d19502012-01-29 06:07:39 +0000496
497 __swig_getmethods__["addr_size"] = GetAddressByteSize
Greg Clayton5ef31a92012-06-29 22:00:42 +0000498 if _newclass: addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this module.''')
Greg Clayton13d19502012-01-29 06:07:39 +0000499
500 __swig_getmethods__["triple"] = GetTriple
Greg Clayton5ef31a92012-06-29 22:00:42 +0000501 if _newclass: triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this module.''')
Greg Clayton13d19502012-01-29 06:07:39 +0000502
503 __swig_getmethods__["num_symbols"] = GetNumSymbols
Greg Clayton5ef31a92012-06-29 22:00:42 +0000504 if _newclass: num_symbols = property(GetNumSymbols, None, doc='''A read only property that returns number of symbols in the module symbol table as an integer.''')
Greg Clayton13d19502012-01-29 06:07:39 +0000505
506 __swig_getmethods__["num_sections"] = GetNumSections
Greg Clayton5ef31a92012-06-29 22:00:42 +0000507 if _newclass: num_sections = property(GetNumSections, None, doc='''A read only property that returns number of sections in the module as an integer.''')
Greg Clayton13d19502012-01-29 06:07:39 +0000508
509 %}
510
Johnny Chenf74cb502011-07-18 23:11:07 +0000511};
512
513} // namespace lldb