Browse Source

EnvDTE.CodeClass2.PartialClasses now returns the underlying class.

pull/28/head
Matt Ward 13 years ago
parent
commit
d5835a1e1f
  1. 1
      src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj
  2. 2
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs
  3. 16
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/PartialClasses.cs
  4. 14
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs

1
src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj

@ -118,6 +118,7 @@ @@ -118,6 +118,7 @@
<Compile Include="Src\EnvDTE\ImplementedInterfacesOnClass.cs" />
<Compile Include="Src\EnvDTE\IReturnTypeExtensions.cs" />
<Compile Include="Src\EnvDTE\NamespaceName.cs" />
<Compile Include="Src\EnvDTE\PartialClasses.cs" />
<Compile Include="Src\EnvDTE\ProjectKind.cs" />
<Compile Include="Src\EnvDTE\Projects.cs" />
<Compile Include="Src\EnvDTE\Reference3.cs" />

2
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs

@ -14,7 +14,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -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)

16
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/PartialClasses.cs

@ -0,0 +1,16 @@ @@ -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);
}
}
}

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

@ -236,5 +236,19 @@ namespace PackageManagement.Tests.EnvDTE @@ -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);
}
}
}

Loading…
Cancel
Save