From f2cc0562e09af102dc97732686476fead8a1a365 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Mon, 5 Apr 2010 11:03:58 +0800 Subject: [PATCH] [TYPEDEF] transformer.py - revert last bad fix --- giscanner/transformer.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/giscanner/transformer.py b/giscanner/transformer.py index ed6e7e6..1b4abc1 100644 --- a/giscanner/transformer.py +++ b/giscanner/transformer.py @@ -33,7 +33,7 @@ from .odict import odict from .sourcescanner import ( SourceSymbol, ctype_name, CTYPE_POINTER, CTYPE_BASIC_TYPE, CTYPE_UNION, CTYPE_ARRAY, CTYPE_TYPEDEF, - CTYPE_VOID, CTYPE_ENUM, CTYPE_FUNCTION, CTYPE_STRUCT, + CTYPE_VOID, CTYPE_ENUM, CTYPE_FUNCTION, CTYPE_STRUCT, CTYPE_INVALID, CSYMBOL_TYPE_FUNCTION, CSYMBOL_TYPE_TYPEDEF, CSYMBOL_TYPE_STRUCT, CSYMBOL_TYPE_ENUM, CSYMBOL_TYPE_UNION, CSYMBOL_TYPE_OBJECT, CSYMBOL_TYPE_MEMBER, CSYMBOL_TYPE_ELLIPSIS, CSYMBOL_TYPE_CONST, @@ -350,14 +350,21 @@ class Transformer(object): value = 'void' elif source_type.type == CTYPE_BASIC_TYPE: value = source_type.name - if source_type.base_type: - value += ' ' + self._create_source_type(source_type.base_type) + # skip adding invalid types. + if not source_type.base_type: + return value + value_add = self._create_source_type(source_type.base_type) + if len(value_add): + value += ' ' + value_add elif source_type.type == CTYPE_TYPEDEF: value = source_type.name elif source_type.type == CTYPE_ARRAY: return self._create_source_type(source_type.base_type) elif source_type.type == CTYPE_POINTER: value = self._create_source_type(source_type.base_type) + '*' + elif source_type.type == CTYPE_INVALID: + #this happens if const is after the type.. + value = '' else: value = 'any' return value -- 2.39.2