Browse Source

When there are duplicate classes, treat both parts as implicitly partial. Fixes SD2-1217: Duplicate class name support in ProjectContent.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2688 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
e48a9bf413
  1. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Test/BooBinding.Tests.csproj
  2. 21
      src/AddIns/BackendBindings/Boo/BooBinding/Test/Class1.cs
  3. 21
      src/AddIns/BackendBindings/Boo/BooBinding/Test/MyNewClass.cs
  4. 10
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs

2
src/AddIns/BackendBindings/Boo/BooBinding/Test/BooBinding.Tests.csproj

@ -46,6 +46,8 @@
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="MyNewClass.cs" />
<Compile Include="ResolverTests.cs" /> <Compile Include="ResolverTests.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

21
src/AddIns/BackendBindings/Boo/BooBinding/Test/Class1.cs

@ -0,0 +1,21 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <author name="Daniel Grunwald"/>
// <version>$Revision$</version>
// </file>
using System;
namespace Grunwald.BooBinding.Tests
{
/// <summary>
/// Description of Class1.
/// </summary>
public class Class1
{
public Class1()
{
}
}
}

21
src/AddIns/BackendBindings/Boo/BooBinding/Test/MyNewClass.cs

@ -0,0 +1,21 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <author name="Daniel Grunwald"/>
// <version>$Revision$</version>
// </file>
using System;
namespace Grunwald.BooBinding.Tests
{
/// <summary>
/// Description of MyNewClass.
/// </summary>
public class MyNewClass
{
public MyNewClass()
{
}
}
}

10
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs

@ -342,7 +342,15 @@ namespace ICSharpCode.SharpDevelop.Dom
} }
//LoggingService.Debug("Added new part!"); //LoggingService.Debug("Added new part!");
return; return;
} else if (addClass.IsPartial || language.ImplicitPartialClasses) { } else {
if (addClass.IsPartial || language.ImplicitPartialClasses) {
LoggingService.Info("Duplicate class " + fullyQualifiedName);
}
// Instead of overwriting a class with another, treat both parts as partial.
// This fixes SD2-1217.
// Merge existing non-partial class with addClass // Merge existing non-partial class with addClass
// Ensure partial modifier is set everywhere: // Ensure partial modifier is set everywhere:

Loading…
Cancel
Save