SYNOPSIS #include string * inherit_list() string * inherit_list(object|lwobject ob) string * inherit_list(object|lwobject ob, int flags) DESCRIPTION Returns the names of all files inherited by , including s own filename. If is omitted, it defaults to the current object. The value of determines the structure of the output. = INHLIST_FLAT (0, default): The result is an array of filenames, starting the with the filename of itself, followed by the names of all inherited objects in breadth order. = INHLIST_TREE (1): The result is an array starting the with the filename of itself, followed by the all directly inherited objects. If one of the inherited objects has no inherits by itself, then its name will be stored directly in the array. If one inherited object has inherits by itself, a subvector will be created and stored in the result vector. The subvector(s) have the same structure as the main result vector. = INHLIST_TAG_VIRTUAL (2): All names in the result are prefixed with a tag: " " (two spaces) for normal inherits, "v " for virtual inherits. All flags can be combined with binary-|, just _FLAT and _TREE are mutually exclusive. If objects, including , had been undergone a replace_program(), the returned filenames will reflect the actual active program. The returned names always begin with '/' (absolute path), except when the parser runs in COMPAT mode. EXAMPLES Given this inheritance structure: / c - d a \ b the efun will give the following results: inherit_list(a) -> ({ "a", "c", "b", "d" }) inherit_list(c) -> ({ "c", "d" }) inherit_list(a, 1) -> ({ "a", ({ "c", "d" }), "b" }) HISTORY Before 3.2.8, the returned names never started with a '/'. LDMud 3.2.9/3.3.111 added the tree representation. LDMud 3.2.9/3.3.125 added the tagging of virtual inherits. SEE ALSO debug_info(E), include_list(E)