diff --git a/src/EditorFeatures/CSharpTest/DocumentationComments/DocumentationCommentTests.cs b/src/EditorFeatures/CSharpTest/DocumentationComments/DocumentationCommentTests.cs index c03108654b299..e5515ce20e2c8 100644 --- a/src/EditorFeatures/CSharpTest/DocumentationComments/DocumentationCommentTests.cs +++ b/src/EditorFeatures/CSharpTest/DocumentationComments/DocumentationCommentTests.cs @@ -706,6 +706,48 @@ public void TypingCharacter_NotInsideCtor() VerifyTypingCharacter(code, expected); } + [WorkItem(59081, "https://github.com/dotnet/roslyn/issues/59081")] + [WpfFact, Trait(Traits.Feature, Traits.Features.DocumentationComments)] + public void TypingCharacter_NotInTopLevel() + { + var code = @" +using System; + +//$$ +Console.WriteLine(); +"; + + var expected = @" +using System; + +///$$ +Console.WriteLine(); +"; + + VerifyTypingCharacter(code, expected); + } + + [WorkItem(59081, "https://github.com/dotnet/roslyn/issues/59081")] + [WpfFact, Trait(Traits.Feature, Traits.Features.DocumentationComments)] + public void TypingCharacter_NotInNamespace() + { + var code = @" +using System; + +//$$ +namespace NS { } +"; + + var expected = @" +using System; + +///$$ +namespace NS { } +"; + + VerifyTypingCharacter(code, expected); + } + [WpfFact, Trait(Traits.Feature, Traits.Features.DocumentationComments)] public void PressingEnter_InsertComment_Class1() { diff --git a/src/Features/CSharp/Portable/DocumentationComments/CSharpDocumentationCommentSnippetService.cs b/src/Features/CSharp/Portable/DocumentationComments/CSharpDocumentationCommentSnippetService.cs index 80490248ed78b..478c975007d3d 100644 --- a/src/Features/CSharp/Portable/DocumentationComments/CSharpDocumentationCommentSnippetService.cs +++ b/src/Features/CSharp/Portable/DocumentationComments/CSharpDocumentationCommentSnippetService.cs @@ -94,9 +94,6 @@ protected override int GetPrecedingDocumentationCommentCount(MemberDeclarationSy return count; } - protected override bool IsMemberDeclaration(MemberDeclarationSyntax member) - => true; - protected override List GetDocumentationCommentStubLines(MemberDeclarationSyntax member) { var list = new List diff --git a/src/Features/Core/Portable/DocumentationComments/AbstractDocumentationCommentSnippetService.cs b/src/Features/Core/Portable/DocumentationComments/AbstractDocumentationCommentSnippetService.cs index 65d4fc8dd6a12..cca2980bbcff9 100644 --- a/src/Features/Core/Portable/DocumentationComments/AbstractDocumentationCommentSnippetService.cs +++ b/src/Features/Core/Portable/DocumentationComments/AbstractDocumentationCommentSnippetService.cs @@ -21,7 +21,6 @@ internal abstract class AbstractDocumentationCommentSnippetService GetDocumentationCommentStubLines(TMemberNode member); protected abstract SyntaxToken GetTokenToRight(SyntaxTree syntaxTree, int position, CancellationToken cancellationToken); @@ -151,7 +150,7 @@ public bool IsValidTargetMember(SyntaxTree syntaxTree, SourceText text, int posi { var targetMember = documentationComment.ParentTrivia.Token.GetAncestor(); - if (targetMember == null || !IsMemberDeclaration(targetMember)) + if (targetMember == null || !SupportsDocumentationComments(targetMember)) { return null; } diff --git a/src/Features/VisualBasic/Portable/DocumentationComments/VisualBasicDocumentationCommentSnippetService.vb b/src/Features/VisualBasic/Portable/DocumentationComments/VisualBasicDocumentationCommentSnippetService.vb index 9fb38c283f28a..3785554dfbc0f 100644 --- a/src/Features/VisualBasic/Portable/DocumentationComments/VisualBasicDocumentationCommentSnippetService.vb +++ b/src/Features/VisualBasic/Portable/DocumentationComments/VisualBasicDocumentationCommentSnippetService.vb @@ -109,10 +109,6 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.DocumentationComments Return count End Function - Protected Overrides Function IsMemberDeclaration(member As DeclarationStatementSyntax) As Boolean - Return member.IsMemberDeclaration() - End Function - Protected Overrides Function GetDocumentationCommentStubLines(member As DeclarationStatementSyntax) As List(Of String) Dim list = New List(Of String) From { "''' ",