diff --git a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj index f44b4fc0ae..39507f9ed5 100644 --- a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj +++ b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj @@ -118,6 +118,7 @@ + diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs index 4f06411a7a..b0050fcdcf 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs @@ -14,7 +14,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE } public CodeElements PartialClasses { - get { return new CodeElementsList(); } + get { return new PartialClasses(this); } } public static CodeClass2 CreateFromBaseType(IProjectContent projectContent, IReturnType baseType) diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/PartialClasses.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/PartialClasses.cs new file mode 100644 index 0000000000..dbc7365522 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/PartialClasses.cs @@ -0,0 +1,16 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using ICSharpCode.SharpDevelop.Dom; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class PartialClasses : CodeElementsList + { + public PartialClasses(CodeClass2 codeClass) + { + AddCodeElement(codeClass); + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs index 777664fb5e..5a3a3a0905 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs @@ -236,5 +236,19 @@ namespace PackageManagement.Tests.EnvDTE Assert.AreEqual("MyNamespace.Test", codeNamespace.FullName); } + + [Test] + public void PartialClasses_ClassIsNotPartial_ReturnsClass() + { + CreateProjectContent(); + CreatePublicClass("MyNamespace.MyClass"); + CreateClass(); + + CodeElements partialClasses = codeClass.PartialClasses; + CodeClass firstClass = partialClasses.FirstCodeClass2OrDefault(); + + Assert.AreEqual(1, partialClasses.Count); + Assert.AreEqual(codeClass, firstClass); + } } }