This hash table is used by the routines that display documentation, is intended for internal use only, and its format may change.
The documentation is stored both in a hash table in memory, and in a database file. Combined, the two look like a single hash table, but the phase variable controls whether entries stored in it persist to the next session.
The key may be anything, and if the value is a string, then that string is taken to be the name of the thing, (which can be used for when printing the thing). The search for documentation continues with the name.
The key may be anything, and if the value is a symbol, then the symbol is one whose value is the thing, (which can be used for when printing the thing), and the search for documentation continues with the symbol.
The key may be a string: if the value is a database, then the documentation is to be found there. If the value is a list of type SEQ then it's the documentation itself.
The key may be a sequence such as (quote +,X,Y) which is used to access the documentation installed when the method for adding an instance of class X to an instance of class Y was defined. In this case the value is the list presented at that time, i.e., a list of the form {Z, (x,y) -> ... , documentation ... }.
The function getDocumentationTag is used to chase through this hash table to the final key.
See also :=.