def METHOD_NAME(self, declaration, filename, lineno):
    """Internal method that calls `handle_declaration`.  This method
    also adds any new type definitions to the lexer's list of valid type
    names, which affects the parsing of subsequent declarations.
    """
    if declaration.storage == "typedef":
        declarator = declaration.declarator
        if not declarator:
            # XXX TEMPORARY while struct etc not filled
            return
        while declarator.pointer:
            declarator = declarator.pointer
        self.lexer.type_names.add(declarator.identifier)
    self.handle_declaration(declaration, filename, lineno)