summaryrefslogtreecommitdiff
path: root/giscanner/sourcescanner.py
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner/sourcescanner.py')
-rw-r--r--giscanner/sourcescanner.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/giscanner/sourcescanner.py b/giscanner/sourcescanner.py
index a7226156..f79fe78e 100644
--- a/giscanner/sourcescanner.py
+++ b/giscanner/sourcescanner.py
@@ -31,7 +31,8 @@ from . import _giscanner
CSYMBOL_TYPE_STRUCT,
CSYMBOL_TYPE_UNION,
CSYMBOL_TYPE_ENUM,
- CSYMBOL_TYPE_TYPEDEF) = range(8)
+ CSYMBOL_TYPE_TYPEDEF,
+ CSYMBOL_TYPE_MEMBER) = range(9)
(CTYPE_INVALID,
CTYPE_VOID,
@@ -75,7 +76,8 @@ def symbol_type_name(symbol_type):
CSYMBOL_TYPE_STRUCT: 'struct',
CSYMBOL_TYPE_UNION: 'union',
CSYMBOL_TYPE_ENUM: 'enum',
- CSYMBOL_TYPE_TYPEDEF: 'typedef'
+ CSYMBOL_TYPE_TYPEDEF: 'typedef',
+ CSYMBOL_TYPE_MEMBER: 'member',
}.get(symbol_type)
def ctype_name(ctype):
@@ -94,10 +96,17 @@ def ctype_name(ctype):
class SourceType(object):
+ __members__ = ['type', 'base_type', 'name', 'child_list']
def __init__(self, scanner, stype):
self._scanner = scanner
self._stype = stype
+ def __repr__(self):
+ return '<%s type=%r name=%r>' % (
+ self.__class__.__name__,
+ ctype_name(self.type),
+ self.name)
+
@property
def type(self):
return self._stype.type
@@ -120,10 +129,17 @@ class SourceType(object):
class SourceSymbol(object):
+ __members__ = ['const_int', 'ident', 'type', 'base_type']
def __init__(self, scanner, symbol):
self._scanner = scanner
self._symbol = symbol
+ def __repr__(self):
+ return '<%s type=%r ident=%r>' % (
+ self.__class__.__name__,
+ symbol_type_name(self.type),
+ self.ident)
+
def directives(self):
mapping = {}
for directive in self._scanner.get_directives(self._symbol.ident):
@@ -152,7 +168,7 @@ class SourceScanner(object):
def __init__(self):
self._scanner = _giscanner.SourceScanner()
self._filenames = []
- self._cpp_options = []
+ self._cpp_options = []
# Public API