Browse Source

Fix forum-7502: copy documentation when cloning members, fixes missing documentation in tooltips for generic methods/methods in generic classes

ConvertToMSBuild35: do not add .NET 3.5 references again when the project already is .NET 3.5.


git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2992 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 18 years ago
parent
commit
02238ea49c
  1. 5
      src/Main/Base/Project/Src/Project/CompilableProject.cs
  2. 10
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractEntity.cs
  3. 1
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultEvent.cs
  4. 4
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultField.cs
  5. 1
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultMethod.cs
  6. 1
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultProperty.cs

5
src/Main/Base/Project/Src/Project/CompilableProject.cs

@ -388,9 +388,12 @@ namespace ICSharpCode.SharpDevelop.Project @@ -388,9 +388,12 @@ namespace ICSharpCode.SharpDevelop.Project
MSBuildProject.Imports.RemoveImport(winFxImport);
}
if (changeTargetFrameworkToNet35) {
bool isDotNet35 = TargetFrameworkVersion == "v3.5";
SetProperty(null, null, "TargetFrameworkVersion", "v3.5", PropertyStorageLocations.Base, true);
AddDotnet35References();
if (!isDotNet35) {
AddDotnet35References();
}
} else {
foreach (string config in ConfigurationNames) {
foreach (string platform in PlatformNames) {

10
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractEntity.cs

@ -180,6 +180,16 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -180,6 +180,16 @@ namespace ICSharpCode.SharpDevelop.Dom
}
}
protected void CopyDocumentationFrom(IEntity entity)
{
AbstractEntity ae = entity as AbstractEntity;
if (ae != null) {
this.Documentation = ae.documentation; // do not cause pc.GetXmlDocumentation call for documentation copy
} else {
this.Documentation = entity.Documentation;
}
}
public abstract string DocumentationTag {
get;
}

1
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultEvent.cs

@ -35,6 +35,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -35,6 +35,7 @@ namespace ICSharpCode.SharpDevelop.Dom
public override IMember Clone()
{
DefaultEvent de = new DefaultEvent(Name, ReturnType, Modifiers, Region, BodyRegion, DeclaringType);
de.CopyDocumentationFrom(this);
foreach (ExplicitInterfaceImplementation eii in InterfaceImplementations) {
de.InterfaceImplementations.Add(eii.Clone());
}

4
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultField.cs

@ -30,7 +30,9 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -30,7 +30,9 @@ namespace ICSharpCode.SharpDevelop.Dom
public override IMember Clone()
{
return new DefaultField(ReturnType, Name, Modifiers, Region, DeclaringType);
DefaultField field = new DefaultField(ReturnType, Name, Modifiers, Region, DeclaringType);
field.CopyDocumentationFrom(this);
return field;
}
public virtual int CompareTo(IField field)

1
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultMethod.cs

@ -81,6 +81,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -81,6 +81,7 @@ namespace ICSharpCode.SharpDevelop.Dom
DefaultMethod p = new DefaultMethod(Name, ReturnType, Modifiers, Region, BodyRegion, DeclaringType);
p.parameters = DefaultParameter.Clone(this.Parameters);
p.typeParameters = this.typeParameters;
p.CopyDocumentationFrom(this);
p.documentationTag = DocumentationTag;
p.isExtensionMethod = this.isExtensionMethod;
foreach (ExplicitInterfaceImplementation eii in InterfaceImplementations) {

1
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultProperty.cs

@ -71,6 +71,7 @@ namespace ICSharpCode.SharpDevelop.Dom { @@ -71,6 +71,7 @@ namespace ICSharpCode.SharpDevelop.Dom {
{
DefaultProperty p = new DefaultProperty(Name, ReturnType, Modifiers, Region, BodyRegion, DeclaringType);
p.parameters = DefaultParameter.Clone(this.Parameters);
p.CopyDocumentationFrom(this);
p.accessFlags = this.accessFlags;
foreach (ExplicitInterfaceImplementation eii in InterfaceImplementations) {
p.InterfaceImplementations.Add(eii.Clone());

Loading…
Cancel
Save