From 4139e71afa213240e03114913f6ef695d1066dcf Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Thu, 29 Jul 2010 19:42:59 +0000 Subject: [PATCH] Fix IsTypeInInheritanceTree for classes differing only in numbers of type parameters. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@6318 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/Implementations/DefaultClass.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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;