Function: SB-INTROSPECT:MAP-ROOT

package type github

Call FUNCTION with all non-immediate objects pointed to by OBJECT. Returns OBJECT.

If SIMPLE is true (default is NIL), elides those pointers that are not notionally part of certain built-in objects, but backpointers to a conceptual parent: eg. elides the pointer from a SYMBOL to the corresponding PACKAGE.

If EXT is true (default is T), includes some pointers that are not actually contained in the object, but found in certain well-known indirect containers: FDEFINITIONs, EQL specializers, classes, and thread-local symbol values in other threads fall into this category.

NOTE: calling MAP-ROOT with a THREAD does not currently map over conservative roots from the thread registers and interrupt contexts.

Experimental: interface subject to change.

Lambda list

(function sb-introspect::object &key sb-introspect::simple sb-introspect::ext)