EnumDeclarationStructureProvider.vb 1.3 KB
Newer Older
1 2
' Copyright (c) Microsoft.  All Rights Reserved.  Licensed under the Apache License, Version 2.0.  See License.txt in the project root for license information.

3
Imports System.Collections.Immutable
4
Imports System.Threading
5
Imports Microsoft.CodeAnalysis.Structure
6 7
Imports Microsoft.CodeAnalysis.VisualBasic.Syntax

8
Namespace Microsoft.CodeAnalysis.VisualBasic.Structure
C
CyrusNajmabadi 已提交
9
    Friend Class EnumDeclarationStructureProvider
10
        Inherits AbstractSyntaxNodeStructureProvider(Of EnumStatementSyntax)
11

12 13 14
        Protected Overrides Sub CollectBlockSpans(enumDeclaration As EnumStatementSyntax,
                                                  spans As ImmutableArray(Of BlockSpan).Builder,
                                                  cancellationToken As CancellationToken)
15
            CollectCommentsRegions(enumDeclaration, spans)
16

17 18
            Dim block = TryCast(enumDeclaration.Parent, EnumBlockSyntax)
            If Not block?.EndEnumStatement.IsMissing Then
19 20 21
                spans.Add(CreateRegionFromBlock(
                    block, bannerNode:=enumDeclaration, autoCollapse:=True,
                    type:=BlockTypes.Enum, isCollapsible:=True))
22

23
                CollectCommentsRegions(block.EndEnumStatement, spans)
24 25 26
            End If
        End Sub
    End Class
27
End Namespace