Esempio n. 1
0
 public static SnapshotSpan Convert(this CSharpSpan span, ITextSnapshot snapshot) {
   Contract.Requires(snapshot != null);
   var startIndex = snapshot.GetPositionFromLineColumn(span.Start.Line, span.Start.Character);
   var endIndex = snapshot.GetPositionFromLineColumn(span.End.Line, span.End.Character);
   // still need to do range check: have seen this be too long
   var len = endIndex - startIndex;
   var maxLen = snapshot.Length - startIndex;
   var usableLength = len > maxLen ? maxLen : len; // min(len,maxLen)
   return new SnapshotSpan(snapshot, startIndex, usableLength);
 }
Esempio n. 2
0
        public static SnapshotSpan Convert(this CSharpSpan span, ITextSnapshot snapshot)
        {
            Contract.Requires(snapshot != null);
            var startIndex = snapshot.GetPositionFromLineColumn(span.Start.Line, span.Start.Character);
            var endIndex   = snapshot.GetPositionFromLineColumn(span.End.Line, span.End.Character);
            // still need to do range check: have seen this be too long
            var len          = endIndex - startIndex;
            var maxLen       = snapshot.Length - startIndex;
            var usableLength = len > maxLen ? maxLen : len; // min(len,maxLen)

            return(new SnapshotSpan(snapshot, startIndex, usableLength));
        }