Source
List<Class> get inheritanceChain {
if (_inheritanceChain == null) {
_inheritanceChain = [];
_inheritanceChain.add(this);
_inheritanceChain
.addAll(mixinsRaw.reversed.map((e) => (e.returnElement as Class)));
/// Caching should make this recursion a little less painful.
for (Class c in superChainRaw.map((e) => (e.returnElement as Class))) {
_inheritanceChain.addAll(c.inheritanceChain);
}
}
return _inheritanceChain.toList(growable: false);
}