semanticdb-find-translate-path

semanticdb-find-translate-path is an autoloaded Lisp function in `db-find.el'.

(semanticdb-find-translate-path PATH BRUTISH)

Translate PATH into a list of semantic tables.
Path translation involves identifying the PATH input argument
in one of the following ways:
nil - Take the current buffer, and use its include list
buffer - Use that buffer's include list.
filename - Use that file's include list. If the file is not
in a buffer, see of there is a semanticdb table for it. If
not, read that file into a buffer.
tag - Get that tag's buffer of file file. See above.
table - Search that table, and its include list.
find result - Search the results of a previous find.

In addition, once the base path is found, there is the possibility of
each added table adding yet more tables to the path, so this routine
can return a lengthy list.

If argument BRUTISH is non-nil, then instead of using the include
list, use all tables found in the parent project of the table
identified by translating PATH. Such searches use brute force to
scan every available table.

The return value is a list of objects of type `semanticdb-table' or
their children. In the case of passing in a find result, the result
is returned unchanged.

This routine uses `semanticdb-find-table-for-include' to translate
specific include tags into a semanticdb table.

Note: When searching using a non-brutish method, the list of
included files will be cached between runs. Database-references
are used to track which files need to have their include lists
refreshed when things change. See `semanticdb-ref-test'.

Note for overloading: If you opt to overload this function for your
major mode, and your routine takes a long time, be sure to call

(semantic-throw-on-input 'your-symbol-here)

so that it can be called from the idle work handler.