From c1f6d06a16b4ad99acbee53b49ffc3e7b8e95b6e Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Sat, 3 Apr 2010 18:33:39 +0800 Subject: [PATCH] [TYPEDEF] Fixes for function defs in typedefs and Support for typedef aaa *bbb Found while parsing numerous libraries. --- giscanner/transformer.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/giscanner/transformer.py b/giscanner/transformer.py index 6179c2b..1aa7568 100644 --- a/giscanner/transformer.py +++ b/giscanner/transformer.py @@ -417,6 +417,8 @@ class Transformer(object): if (ctype == CTYPE_POINTER and symbol.base_type.base_type.type == CTYPE_FUNCTION): node = self._create_typedef_callback(symbol) + if (ctype == CTYPE_FUNCTION): + node = self._create_typedef_callback(symbol) elif (ctype == CTYPE_POINTER and symbol.base_type.base_type.type == CTYPE_STRUCT): node = self._create_typedef_struct(symbol, disguised=True) @@ -433,6 +435,13 @@ class Transformer(object): name = self.remove_prefix(symbol.ident) if symbol.base_type.name: target = self.remove_prefix(symbol.base_type.name) + elif (ctype == CTYPE_POINTER and + symbol.base_type.base_type.name): + target = self.remove_prefix( + symbol.base_type.base_type.name) + '*' + elif (ctype == CTYPE_POINTER and + symbol.base_type.base_type.type == CTYPE_VOID): + target = 'any' else: target = 'none' if name in type_names: -- 2.39.2