private static TypeDefinition GetNewTypeContext(TypeDefinition typeContext, TypeDefinition definition) { if (typeContext == null) { typeContext = definition; } else { if (!definition.IsBaseTypeOf(typeContext)) { typeContext = definition; } } return typeContext; }
private bool TryInheritancePrune(string fullName, int depth, List<string> breadCrumbs, bool inVirtual, TypeDefinition definition, TypeDefinition inheritedTypeContext) { if (inVirtual && !definition.IsBaseTypeOf(inheritedTypeContext)) { WriteWalkerDebug("Can't reach here with inheritance", depth); breadCrumbs.Remove(fullName); return true; } return false; }