未验证 提交 8a78316c 编写于 作者: J Jason Malinowski 提交者: GitHub

Merge pull request #30576 from Scott-Caldwell/29703-Fix-property-accessor-QuickInfo-XML-comments

Display documentation from associated property/event when showing QuickInfo for get/set and add/remove
...@@ -6172,5 +6172,109 @@ void N() ...@@ -6172,5 +6172,109 @@ void N()
}", }",
MainDescription("void M<T>() where T : unmanaged")); MainDescription("void M<T>() where T : unmanaged"));
} }
[WorkItem(29703, "https://github.com/dotnet/roslyn/issues/29703")]
[Fact, Trait(Traits.Feature, Traits.Features.QuickInfo)]
public async Task TestGetAccessorDocumentation()
{
await TestAsync(
@"
class X
{
/// <summary>Summary for property Goo</summary>
int Goo { g$$et; set; }
}",
Documentation("Summary for property Goo"));
}
[WorkItem(29703, "https://github.com/dotnet/roslyn/issues/29703")]
[Fact, Trait(Traits.Feature, Traits.Features.QuickInfo)]
public async Task TestSetAccessorDocumentation()
{
await TestAsync(
@"
class X
{
/// <summary>Summary for property Goo</summary>
int Goo { get; s$$et; }
}",
Documentation("Summary for property Goo"));
}
[WorkItem(29703, "https://github.com/dotnet/roslyn/issues/29703")]
[Fact, Trait(Traits.Feature, Traits.Features.QuickInfo)]
public async Task TestEventAddDocumentation1()
{
await TestAsync(
@"
using System;
class X
{
/// <summary>Summary for event Goo</summary>
event EventHandler<EventArgs> Goo
{
a$$dd => throw null;
remove => throw null;
}
}",
Documentation("Summary for event Goo"));
}
[WorkItem(29703, "https://github.com/dotnet/roslyn/issues/29703")]
[Fact, Trait(Traits.Feature, Traits.Features.QuickInfo)]
public async Task TestEventAddDocumentation2()
{
await TestAsync(
@"
using System;
class X
{
/// <summary>Summary for event Goo</summary>
event EventHandler<EventArgs> Goo;
void M() => Goo +$$= null;
}",
Documentation("Summary for event Goo"));
}
[WorkItem(29703, "https://github.com/dotnet/roslyn/issues/29703")]
[Fact, Trait(Traits.Feature, Traits.Features.QuickInfo)]
public async Task TestEventRemoveDocumentation1()
{
await TestAsync(
@"
using System;
class X
{
/// <summary>Summary for event Goo</summary>
event EventHandler<EventArgs> Goo
{
add => throw null;
r$$emove => throw null;
}
}",
Documentation("Summary for event Goo"));
}
[WorkItem(29703, "https://github.com/dotnet/roslyn/issues/29703")]
[Fact, Trait(Traits.Feature, Traits.Features.QuickInfo)]
public async Task TestEventRemoveDocumentation2()
{
await TestAsync(
@"
using System;
class X
{
/// <summary>Summary for event Goo</summary>
event EventHandler<EventArgs> Goo;
void M() => Goo -$$= null;
}",
Documentation("Summary for event Goo"));
}
} }
} }
...@@ -2369,5 +2369,39 @@ Class C3 ...@@ -2369,5 +2369,39 @@ Class C3
End Class", End Class",
MainDescription("Function C2.ViewData() As C1")) MainDescription("Function C2.ViewData() As C1"))
End Function End Function
<WorkItem(29703, "https://github.com/dotnet/roslyn/issues/29703")>
<Fact, Trait(Traits.Feature, Traits.Features.QuickInfo)>
Public Async Function TestGetAccessorDocumentation() As Task
Await TestAsync("
Class C
''' <summary>Summary for property Goo</summary>
Property Goo As Integer
G$$et
Return 0
End Get
Set(value As Integer)
End Set
End Property
End Class",
Documentation("Summary for property Goo"))
End Function
<WorkItem(29703, "https://github.com/dotnet/roslyn/issues/29703")>
<Fact, Trait(Traits.Feature, Traits.Features.QuickInfo)>
Public Async Function TestSetAccessorDocumentation() As Task
Await TestAsync("
Class C
''' <summary>Summary for property Goo</summary>
Property Goo As Integer
Get
Return 0
End Get
S$$et(value As Integer)
End Set
End Property
End Class",
Documentation("Summary for property Goo"))
End Function
End Class End Class
End Namespace End Namespace
...@@ -246,7 +246,7 @@ private static string GetMethodDocumentation(IMethodSymbol method) ...@@ -246,7 +246,7 @@ private static string GetMethodDocumentation(IMethodSymbol method)
case MethodKind.EventRemove: case MethodKind.EventRemove:
case MethodKind.PropertyGet: case MethodKind.PropertyGet:
case MethodKind.PropertySet: case MethodKind.PropertySet:
return method.ContainingSymbol.GetDocumentationComment().SummaryText; return method.AssociatedSymbol.GetDocumentationComment().SummaryText;
default: default:
return method.GetDocumentationComment().SummaryText; return method.GetDocumentationComment().SummaryText;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册