@staticmethod<EOL><INDENT>def __decl_types(decl):<DEDENT>
types = []<EOL>bases = list(decl.__class__.__bases__)<EOL>if '<STR_LIT>' in decl.__class__.__module__:<EOL><INDENT>types.append(decl.__class__)<EOL><DEDENT>while bases:<EOL><INDENT>base = bases.pop()<EOL>if base is declaration.declaration_t:<EOL><INDENT>continue<EOL><DEDENT>if base is byte_info.byte_info:<EOL><INDENT>continue<EOL><DEDENT>if base is elaborated_info.elaborated_info:<EOL><INDENT>continue<EOL><DEDENT>if '<STR_LIT>' not in base.__module__:<EOL><INDENT>continue<EOL><DEDENT>types.append(base)<EOL>bases.extend(base.__bases__)<EOL><DEDENT>return types<EOL>
implementation details