Eiffel Descendant Classes PreviousNext

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


Copyright © 2021, Eric Bezault
mailto:ericb@gobosoft.com
http://www.gobosoft.com
Last Updated: 31 December 2021
HomeTocPreviousNext