def create_symbol(self, *args, **kwargs):
if not kwargs.get('<STR_LIT>'):<EOL><INDENT>kwargs['<STR_LIT>'] = self.project.project_name<EOL><DEDENT>sym = self.app.database.create_symbol(*args, **kwargs)<EOL>if sym:<EOL><INDENT>if type(sym) != Symbol:<EOL><INDENT>self._created_symbols[sym.filename].add(sym.unique_name)<EOL><DEDENT><DEDENT>return sym<EOL>
Extensions that discover and create instances of `symbols.Symbol`
should do this through this method, as it will keep an index
of these which can be used when generating a "naive index".

See `database.Database.create_symbol` for more
information.

Args:
    args: see `database.Database.create_symbol`
    kwargs: see `database.Database.create_symbol`

Returns:
    symbols.Symbol: the created symbol, or `None`.