def type_description_from_node(gi_node):
ctype_name, gi_name, array_nesting = unnest_type (gi_node)<EOL>cur_ns = get_namespace(gi_node)<EOL>if ctype_name is not None:<EOL><INDENT>type_tokens = __type_tokens_from_cdecl (ctype_name)<EOL><DEDENT>else:<EOL><INDENT>type_tokens = __type_tokens_from_gitype (cur_ns, gi_name)<EOL><DEDENT>namespaced = '<STR_LIT>' % (cur_ns, gi_name)<EOL>if namespaced in ALL_GI_TYPES:<EOL><INDENT>gi_name = namespaced<EOL><DEDENT>return SymbolTypeDesc(type_tokens, gi_name, ctype_name, array_nesting)<EOL>
Parse a typed node, returns a usable description