I've always used "%Extends" for this purpose:
Write $classmethod(subclass,"%Extends",superclass)Both methods scan the entire inheritance tree, but in the case of multiple inheritance, "%IsA" only finds primary superclasses, whereas "%Extends" finds all superclasses.
For example, consider the following class:
Class Ens.BusinessService Extends (Ens.Host, Ens.Util.IOLogger)
And the corresponding output:
ENSEMBLE>zw $classmethod("Ens.BusinessService","%IsA","Ens.Util.IOLogger")
0
ENSEMBLE>zw $classmethod("Ens.BusinessService","%Extends","Ens.Util.IOLogger")
1More information about the difference between the two methods is discussed here.
- Log in to post comments