Eiffel Descendant Classes |

Eiffel classes can inherit from other classes (through single or multiple inheritance). Classes which inherit directly or indirectly from a given class are said to be the descendant classes of this class.

gedoc can be used to get the list of descendants of a class or of a set of classes.

Note that there are two kinds of inheritance: conforming inheritance (introduced by the keyword inherit) and non-conforming inheritance (introduced by inherit {NONE}). The format described below only covers conforming inheritance.

## Descendants of a single class

Here is how to get the list of all descendant classes of a single class `FOO`:

    	gedoc --format=descendants --class=FOO project.ecf

where `project.ecf` is an ECF file describing an Eiffel project containing class `FOO`.

The command-line option `--no-benchmark` can be used to avoid displaying information about the Eiffel code analysis before the actual list of descendant classes:

    	gedoc --format=descendants --class=FOO --no-benchmark project.ecf

## Descendants of two or more classes

Sometimes it is useful to figure out what are the classes which are descendants of two or more classes. For example when we have:

    	class BAR [G -> {COMPARABLE, NUMERIC}]

the only valid actual generic parameters are classes which are descendants of both `COMPARABLE` and `NUMERIC`. In order to get the list of these classes, just type:

    	gedoc --format=descendants --class=COMPARABLE --class=NUMERIC --no-benchmark project.ecf