Next: Deeply_Nested_Generics, Previous: Declarations_In_Blocks, Up: Predefined Rules
Deep_Inheritance_Hierarchies
Flags a tagged derived type declaration or an interface type declaration if its depth (in its inheritance hierarchy) exceeds the value specified by the N rule parameter.
The inheritance depth of a tagged type or interface type is defined as 0 for a type with no parent and no progenitor, and otherwise as 1 + max of the depths of the immediate parent and immediate progenitors.
This rule does not flag private extension declarations. In the case of a private extension, the corresponding full declaration is checked.
This rule has the following (mandatory) parameter for the +R option: