Browse Source

Fix null reference exception when accessing EnvDTE.CodeType.Bases for System.Object.

pull/28/head
Matt Ward 13 years ago
parent
commit
fddc384d45
  1. 4
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeTypeBaseTypes.cs
  2. 11
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs

4
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeTypeBaseTypes.cs

@ -20,7 +20,9 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -20,7 +20,9 @@ namespace ICSharpCode.PackageManagement.EnvDTE
void AddBaseTypes()
{
AddCodeElement(CodeClass2.CreateFromBaseType(projectContent, c.BaseType));
if (c.BaseType != null) {
AddCodeElement(CodeClass2.CreateFromBaseType(projectContent, c.BaseType));
}
}
}
}

11
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs

@ -171,6 +171,17 @@ namespace PackageManagement.Tests.EnvDTE @@ -171,6 +171,17 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("Object", baseClass.Name);
}
[Test]
public void BaseTypes_ClassBaseTypeIsNull_ReturnsNoCodeElements()
{
CreateProjectContent();
CreatePublicClass("System.Object");
CodeElements codeElements = codeClass.Bases;
Assert.AreEqual(0, codeElements.Count);
}
[Test]
public void Members_ClassHasOneMethod_ReturnsOneMethod()
{

Loading…
Cancel
Save