def decompose_type(tp):
if isinstance(tp, cpptypes.compound_t):<EOL><INDENT>return [tp] + decompose_type(tp.base)<EOL><DEDENT>elif isinstance(tp, typedef.typedef_t):<EOL><INDENT>return decompose_type(tp.decl_type)<EOL><DEDENT>elif isinstance(tp, cpptypes.declarated_t) andisinstance(tp.declaration, typedef.typedef_t):<EOL><INDENT>return decompose_type(tp.declaration.decl_type)<EOL><DEDENT>return [tp]<EOL>
Implementation detail