blob: fdf017754d0d37c10f8c9226e864f37a286418ed [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
Greg Clayton226cce22013-07-08 22:22:41 +000099 SBModule (const lldb::SBModule &rhs);
100
101 SBModule (const lldb::SBModuleSpec &module_spec);
Johnny Chenf74cb502011-07-18 23:11:07 +0000102
Greg Claytonc9660542012-02-05 02:38:54 +0000103 SBModule (lldb::SBProcess &process,
104 lldb::addr_t header_addr);
105
Johnny Chenf74cb502011-07-18 23:11:07 +0000106 ~SBModule ();
107
108 bool
109 IsValid () const;
110
Jim Ingham5d3bca42011-12-19 20:39:44 +0000111 void
112 Clear();
113
Johnny Chenf74cb502011-07-18 23:11:07 +0000114 %feature("docstring", "
115 //------------------------------------------------------------------
116 /// Get const accessor for the module file specification.
117 ///
118 /// This function returns the file for the module on the host system
119 /// that is running LLDB. This can differ from the path on the
120 /// platform since we might be doing remote debugging.
121 ///
122 /// @return
123 /// A const reference to the file specification object.
124 //------------------------------------------------------------------
125 ") GetFileSpec;
126 lldb::SBFileSpec
127 GetFileSpec () const;
128
129 %feature("docstring", "
130 //------------------------------------------------------------------
131 /// Get accessor for the module platform file specification.
132 ///
133 /// Platform file refers to the path of the module as it is known on
134 /// the remote system on which it is being debugged. For local
135 /// debugging this is always the same as Module::GetFileSpec(). But
136 /// remote debugging might mention a file '/usr/lib/liba.dylib'
137 /// which might be locally downloaded and cached. In this case the
138 /// platform file could be something like:
139 /// '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
140 /// The file could also be cached in a local developer kit directory.
141 ///
142 /// @return
143 /// A const reference to the file specification object.
144 //------------------------------------------------------------------
145 ") GetPlatformFileSpec;
146 lldb::SBFileSpec
147 GetPlatformFileSpec () const;
148
149 bool
150 SetPlatformFileSpec (const lldb::SBFileSpec &platform_file);
151
152 %feature("docstring", "Returns the UUID of the module as a Python string."
153 ) GetUUIDString;
154 const char *
155 GetUUIDString () const;
156
Greg Claytoncac9c5f2011-09-24 00:52:29 +0000157 lldb::SBSection
158 FindSection (const char *sect_name);
159
160 lldb::SBAddress
161 ResolveFileAddress (lldb::addr_t vm_addr);
Johnny Chenf74cb502011-07-18 23:11:07 +0000162
163 lldb::SBSymbolContext
164 ResolveSymbolContextForAddress (const lldb::SBAddress& addr,
165 uint32_t resolve_scope);
166
167 bool
168 GetDescription (lldb::SBStream &description);
169
Johnny Chen1b72f092012-03-16 21:55:42 +0000170 uint32_t
171 GetNumCompileUnits();
172
173 lldb::SBCompileUnit
174 GetCompileUnitAtIndex (uint32_t);
175
Johnny Chenf74cb502011-07-18 23:11:07 +0000176 size_t
177 GetNumSymbols ();
178
179 lldb::SBSymbol
180 GetSymbolAtIndex (size_t idx);
181
Greg Claytone14e1922012-12-04 02:22:16 +0000182 lldb::SBSymbol
183 FindSymbol (const char *name,
184 lldb::SymbolType type = eSymbolTypeAny);
185
186 lldb::SBSymbolContextList
187 FindSymbols (const char *name,
188 lldb::SymbolType type = eSymbolTypeAny);
189
190
Greg Claytoncac9c5f2011-09-24 00:52:29 +0000191 size_t
192 GetNumSections ();
193
194 lldb::SBSection
195 GetSectionAtIndex (size_t idx);
196
197
Johnny Chenf74cb502011-07-18 23:11:07 +0000198 %feature("docstring", "
199 //------------------------------------------------------------------
200 /// Find functions by name.
201 ///
202 /// @param[in] name
203 /// The name of the function we are looking for.
204 ///
205 /// @param[in] name_type_mask
206 /// A logical OR of one or more FunctionNameType enum bits that
207 /// indicate what kind of names should be used when doing the
208 /// lookup. Bits include fully qualified names, base names,
209 /// C++ methods, or ObjC selectors.
210 /// See FunctionNameType for more details.
211 ///
Greg Clayton5569e642012-02-06 01:44:54 +0000212 /// @return
Johnny Chenf74cb502011-07-18 23:11:07 +0000213 /// A symbol context list that gets filled in with all of the
214 /// matches.
Johnny Chenf74cb502011-07-18 23:11:07 +0000215 //------------------------------------------------------------------
216 ") FindFunctions;
Greg Clayton5569e642012-02-06 01:44:54 +0000217 lldb::SBSymbolContextList
Johnny Chenf74cb502011-07-18 23:11:07 +0000218 FindFunctions (const char *name,
Greg Clayton5569e642012-02-06 01:44:54 +0000219 uint32_t name_type_mask = lldb::eFunctionNameTypeAny);
Enrico Granata6f3533f2011-07-29 19:53:35 +0000220
221 lldb::SBType
222 FindFirstType (const char* name);
223
224 lldb::SBTypeList
225 FindTypes (const char* type);
226
Greg Claytonb43165b2012-12-05 21:24:42 +0000227 lldb::SBType
228 GetBasicType(lldb::BasicType type);
Johnny Chenf74cb502011-07-18 23:11:07 +0000229
230 %feature("docstring", "
231 //------------------------------------------------------------------
Greg Claytonf02500c2013-06-18 22:51:05 +0000232 /// Get all types matching \a type_mask from debug info in this
233 /// module.
234 ///
235 /// @param[in] type_mask
236 /// A bitfield that consists of one or more bits logically OR'ed
237 /// together from the lldb::TypeClass enumeration. This allows
238 /// you to request only structure types, or only class, struct
239 /// and union types. Passing in lldb::eTypeClassAny will return
240 /// all types found in the debug information for this module.
241 ///
242 /// @return
243 /// A list of types in this module that match \a type_mask
244 //------------------------------------------------------------------
245 ") GetTypes;
246 lldb::SBTypeList
247 GetTypes (uint32_t type_mask = lldb::eTypeClassAny);
248
249 %feature("docstring", "
250 //------------------------------------------------------------------
Johnny Chenf74cb502011-07-18 23:11:07 +0000251 /// Find global and static variables by name.
252 ///
253 /// @param[in] target
254 /// A valid SBTarget instance representing the debuggee.
255 ///
256 /// @param[in] name
257 /// The name of the global or static variable we are looking
258 /// for.
259 ///
260 /// @param[in] max_matches
261 /// Allow the number of matches to be limited to \a max_matches.
262 ///
263 /// @return
264 /// A list of matched variables in an SBValueList.
265 //------------------------------------------------------------------
266 ") FindGlobalVariables;
267 lldb::SBValueList
268 FindGlobalVariables (lldb::SBTarget &target,
269 const char *name,
270 uint32_t max_matches);
Greg Clayton13d19502012-01-29 06:07:39 +0000271
Enrico Granatabcd80b42013-01-16 18:53:52 +0000272 %feature("docstring", "
273 //------------------------------------------------------------------
274 /// Find the first global (or static) variable by name.
275 ///
276 /// @param[in] target
277 /// A valid SBTarget instance representing the debuggee.
278 ///
279 /// @param[in] name
280 /// The name of the global or static variable we are looking
281 /// for.
282 ///
283 /// @return
284 /// An SBValue that gets filled in with the found variable (if any).
285 //------------------------------------------------------------------
286 ") FindFirstGlobalVariable;
287 lldb::SBValue
288 FindFirstGlobalVariable (lldb::SBTarget &target, const char *name);
289
Greg Clayton13d19502012-01-29 06:07:39 +0000290 lldb::ByteOrder
291 GetByteOrder ();
292
293 uint32_t
294 GetAddressByteSize();
295
296 const char *
297 GetTriple ();
Greg Claytonc2ff9312012-02-22 19:41:02 +0000298
299 uint32_t
300 GetVersion (uint32_t *versions,
301 uint32_t num_versions);
Greg Clayton13d19502012-01-29 06:07:39 +0000302
Enrico Granatac3387332013-05-03 01:29:27 +0000303 bool
304 operator == (const lldb::SBModule &rhs) const;
305
306 bool
307 operator != (const lldb::SBModule &rhs) const;
308
Greg Clayton13d19502012-01-29 06:07:39 +0000309 %pythoncode %{
Greg Clayton6b2bd932012-02-01 08:09:32 +0000310 class symbols_access(object):
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000311 re_compile_type = type(re.compile('.'))
Greg Clayton66a907a2013-03-07 03:25:11 +0000312 '''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 +0000313 def __init__(self, sbmodule):
314 self.sbmodule = sbmodule
315
316 def __len__(self):
317 if self.sbmodule:
Filipe Cabecinhas1a96ef82012-05-11 20:39:42 +0000318 return int(self.sbmodule.GetNumSymbols())
Greg Clayton6b2bd932012-02-01 08:09:32 +0000319 return 0
320
321 def __getitem__(self, key):
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000322 count = len(self)
Greg Clayton6b2bd932012-02-01 08:09:32 +0000323 if type(key) is int:
324 if key < count:
325 return self.sbmodule.GetSymbolAtIndex(key)
326 elif type(key) is str:
327 matches = []
Greg Claytone14e1922012-12-04 02:22:16 +0000328 sc_list = self.sbmodule.FindSymbols(key)
329 for sc in sc_list:
330 symbol = sc.symbol
331 if symbol:
Greg Clayton6b2bd932012-02-01 08:09:32 +0000332 matches.append(symbol)
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000333 return matches
334 elif isinstance(key, self.re_compile_type):
Greg Clayton6b2bd932012-02-01 08:09:32 +0000335 matches = []
336 for idx in range(count):
337 symbol = self.sbmodule.GetSymbolAtIndex(idx)
338 added = False
339 name = symbol.name
340 if name:
341 re_match = key.search(name)
342 if re_match:
343 matches.append(symbol)
344 added = True
345 if not added:
346 mangled = symbol.mangled
347 if mangled:
348 re_match = key.search(mangled)
349 if re_match:
350 matches.append(symbol)
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000351 return matches
Greg Clayton6b2bd932012-02-01 08:09:32 +0000352 else:
353 print "error: unsupported item type: %s" % type(key)
354 return None
355
356 def get_symbols_access_object(self):
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000357 '''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 +0000358 return self.symbols_access (self)
359
Greg Clayton66a907a2013-03-07 03:25:11 +0000360 def get_compile_units_access_object (self):
361 '''An accessor function that returns a compile_units_access() object which allows lazy compile unit access from a lldb.SBModule object.'''
362 return self.compile_units_access (self)
363
Greg Clayton6b2bd932012-02-01 08:09:32 +0000364 def get_symbols_array(self):
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000365 '''An accessor function that returns a list() that contains all symbols in a lldb.SBModule object.'''
Greg Clayton6b2bd932012-02-01 08:09:32 +0000366 symbols = []
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000367 for idx in range(self.num_symbols):
Greg Clayton6b2bd932012-02-01 08:09:32 +0000368 symbols.append(self.GetSymbolAtIndex(idx))
369 return symbols
370
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000371 class sections_access(object):
372 re_compile_type = type(re.compile('.'))
Greg Clayton66a907a2013-03-07 03:25:11 +0000373 '''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 +0000374 def __init__(self, sbmodule):
375 self.sbmodule = sbmodule
376
377 def __len__(self):
378 if self.sbmodule:
Filipe Cabecinhas1a96ef82012-05-11 20:39:42 +0000379 return int(self.sbmodule.GetNumSections())
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000380 return 0
381
382 def __getitem__(self, key):
383 count = len(self)
384 if type(key) is int:
385 if key < count:
386 return self.sbmodule.GetSectionAtIndex(key)
387 elif type(key) is str:
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000388 for idx in range(count):
389 section = self.sbmodule.GetSectionAtIndex(idx)
390 if section.name == key:
Greg Clayton819134a2012-02-04 02:58:17 +0000391 return section
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000392 elif isinstance(key, self.re_compile_type):
393 matches = []
394 for idx in range(count):
395 section = self.sbmodule.GetSectionAtIndex(idx)
396 name = section.name
397 if name:
398 re_match = key.search(name)
399 if re_match:
400 matches.append(section)
401 return matches
402 else:
403 print "error: unsupported item type: %s" % type(key)
404 return None
Greg Clayton66a907a2013-03-07 03:25:11 +0000405
406 class compile_units_access(object):
407 re_compile_type = type(re.compile('.'))
408 '''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.'''
409 def __init__(self, sbmodule):
410 self.sbmodule = sbmodule
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000411
Greg Clayton66a907a2013-03-07 03:25:11 +0000412 def __len__(self):
413 if self.sbmodule:
414 return int(self.sbmodule.GetNumCompileUnits())
415 return 0
416
417 def __getitem__(self, key):
418 count = len(self)
419 if type(key) is int:
420 if key < count:
421 return self.sbmodule.GetCompileUnitAtIndex(key)
422 elif type(key) is str:
423 is_full_path = key[0] == '/'
424 for idx in range(count):
425 comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx)
426 if is_full_path:
427 if comp_unit.file.fullpath == key:
428 return comp_unit
429 else:
430 if comp_unit.file.basename == key:
431 return comp_unit
432 elif isinstance(key, self.re_compile_type):
433 matches = []
434 for idx in range(count):
435 comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx)
436 fullpath = comp_unit.file.fullpath
437 if fullpath:
438 re_match = key.search(fullpath)
439 if re_match:
440 matches.append(comp_unit)
441 return matches
442 else:
443 print "error: unsupported item type: %s" % type(key)
444 return None
445
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000446 def get_sections_access_object(self):
447 '''An accessor function that returns a sections_access() object which allows lazy section array access.'''
448 return self.sections_access (self)
449
450 def get_sections_array(self):
451 '''An accessor function that returns an array object that contains all sections in this module object.'''
Greg Clayton006c1d12013-02-25 21:53:07 +0000452 if not hasattr(self, 'sections_array'):
453 self.sections_array = []
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000454 for idx in range(self.num_sections):
Greg Clayton006c1d12013-02-25 21:53:07 +0000455 self.sections_array.append(self.GetSectionAtIndex(idx))
456 return self.sections_array
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000457
Greg Clayton66a907a2013-03-07 03:25:11 +0000458 def get_compile_units_array(self):
459 '''An accessor function that returns an array object that contains all compile_units in this module object.'''
460 if not hasattr(self, 'compile_units_array'):
461 self.compile_units_array = []
462 for idx in range(self.GetNumCompileUnits()):
463 self.compile_units_array.append(self.GetCompileUnitAtIndex(idx))
464 return self.compile_units_array
465
Greg Clayton6b2bd932012-02-01 08:09:32 +0000466 __swig_getmethods__["symbols"] = get_symbols_array
Greg Clayton5ef31a92012-06-29 22:00:42 +0000467 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 +0000468
469 __swig_getmethods__["symbol"] = get_symbols_access_object
Greg Clayton5ef31a92012-06-29 22:00:42 +0000470 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 +0000471
472 __swig_getmethods__["sections"] = get_sections_array
Greg Clayton5ef31a92012-06-29 22:00:42 +0000473 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 +0000474
475 __swig_getmethods__["compile_units"] = get_compile_units_array
476 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.''')
477
Greg Claytonb62bb8c2012-02-03 03:22:53 +0000478 __swig_getmethods__["section"] = get_sections_access_object
Greg Clayton5ef31a92012-06-29 22:00:42 +0000479 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 +0000480
Greg Clayton66a907a2013-03-07 03:25:11 +0000481 __swig_getmethods__["compile_unit"] = get_compile_units_access_object
482 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.''')
483
Greg Clayton6b2bd932012-02-01 08:09:32 +0000484 def get_uuid(self):
485 return uuid.UUID (self.GetUUIDString())
486
487 __swig_getmethods__["uuid"] = get_uuid
Greg Clayton5ef31a92012-06-29 22:00:42 +0000488 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 +0000489
Greg Clayton13d19502012-01-29 06:07:39 +0000490 __swig_getmethods__["file"] = GetFileSpec
Greg Clayton5ef31a92012-06-29 22:00:42 +0000491 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 +0000492
493 __swig_getmethods__["platform_file"] = GetPlatformFileSpec
Greg Clayton5ef31a92012-06-29 22:00:42 +0000494 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 +0000495
Greg Clayton13d19502012-01-29 06:07:39 +0000496 __swig_getmethods__["byte_order"] = GetByteOrder
Greg Clayton5ef31a92012-06-29 22:00:42 +0000497 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 +0000498
499 __swig_getmethods__["addr_size"] = GetAddressByteSize
Greg Clayton5ef31a92012-06-29 22:00:42 +0000500 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 +0000501
502 __swig_getmethods__["triple"] = GetTriple
Greg Clayton5ef31a92012-06-29 22:00:42 +0000503 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 +0000504
505 __swig_getmethods__["num_symbols"] = GetNumSymbols
Greg Clayton5ef31a92012-06-29 22:00:42 +0000506 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 +0000507
508 __swig_getmethods__["num_sections"] = GetNumSections
Greg Clayton5ef31a92012-06-29 22:00:42 +0000509 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 +0000510
511 %}
512
Johnny Chenf74cb502011-07-18 23:11:07 +0000513};
514
515} // namespace lldb