diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultClass.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultClass.cs index db8ccecdb5..fc86c4aff5 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultClass.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultClass.cs @@ -429,6 +429,10 @@ namespace ICSharpCode.SharpDevelop.Dom public IEnumerable ClassInheritanceTreeClassesOnly { get { + IClass compoundClass = GetCompoundClass(); + if (compoundClass != this) + return compoundClass.ClassInheritanceTreeClassesOnly; + // Notes: // the ClassInheritanceTree must work even if the following things happen: // - cyclic inheritance @@ -568,7 +572,8 @@ namespace ICSharpCode.SharpDevelop.Dom return false; } foreach (IClass baseClass in this.ClassInheritanceTree) { - if (possibleBaseClass.FullyQualifiedName == baseClass.FullyQualifiedName) + if (possibleBaseClass.FullyQualifiedName == baseClass.FullyQualifiedName + && possibleBaseClass.TypeParameters.Count == baseClass.TypeParameters.Count) return true; } return false;