Esempio n. 1
0
        BlockStructureData?CreateBlockStructureData(CodeBracesRange info, ITextSnapshot snapshot)
        {
            var blockKind = GetBlockKind(info.Flags);

            if (blockKind == BlockStructureKind.None)
            {
                return(null);
            }

            if (info.Right.End > snapshot.Length)
            {
                return(null);
            }
            if (info.Left.End > info.Right.Start)
            {
                return(null);
            }
            var top    = new SnapshotSpan(snapshot, info.Left.Start, info.Left.Length);
            var bottom = new SnapshotSpan(snapshot, info.Right.Start, info.Right.Length);

            return(new BlockStructureData(top, bottom, blockKind));
        }
Esempio n. 2
0
 void Add(CodeBracesRange curr)
 {
     list.Add(curr);
     listStack.Push(list.ToArray());
     infos.Add(new SpanData <CodeBracesRange[]>(new Span(curr.Left.Start, 0), listStack.Peek()));
 }