Esempio n. 1
0
        public static async Task <Document> RemoveRegionAsync(
            this Document document,
            EndRegionDirectiveTriviaSyntax endRegionDirective,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            if (document == null)
            {
                throw new ArgumentNullException(nameof(document));
            }

            if (endRegionDirective == null)
            {
                throw new ArgumentNullException(nameof(endRegionDirective));
            }

            List <DirectiveTriviaSyntax> list = endRegionDirective.GetRelatedDirectives();

            if (list.Count == 2 &&
                list[0].IsKind(SyntaxKind.RegionDirectiveTrivia))
            {
                var regionDirective = (RegionDirectiveTriviaSyntax)list[0];

                return(await RemoveRegionAsync(document, regionDirective, endRegionDirective, cancellationToken).ConfigureAwait(false));
            }

            return(document);
        }
Esempio n. 2
0
        internal static RegionInfo Create(EndRegionDirectiveTriviaSyntax endRegionDirective)
        {
            if (endRegionDirective == null)
            {
                return(Default);
            }

            List <DirectiveTriviaSyntax> list = endRegionDirective.GetRelatedDirectives();

            if (list.Count != 2)
            {
                return(Default);
            }

            if (list[0].Kind() != SyntaxKind.RegionDirectiveTrivia)
            {
                return(Default);
            }

            return(new RegionInfo((RegionDirectiveTriviaSyntax)list[0], endRegionDirective));
        }