def find_all_declarations(<EOL>declarations,<EOL>decl_type=None,<EOL>name=None,<EOL>parent=None,<EOL>recursive=True,<EOL>fullname=None):
if recursive:<EOL><INDENT>decls = make_flatten(declarations)<EOL><DEDENT>else:<EOL><INDENT>decls = declarations<EOL><DEDENT>return list(<EOL>filter(<EOL>algorithm.match_declaration_t(<EOL>decl_type=decl_type,<EOL>name=name,<EOL>fullname=fullname,<EOL>parent=parent),<EOL>decls))<EOL>
Returns a list of all declarations that match criteria, defined by
developer.

For more information about arguments see :class:`match_declaration_t`
class.

:rtype: [ matched declarations ]