Microsoft.Language.Xml.Scanner.ScanSurrogatePair C# (CSharp) Method

ScanSurrogatePair() private method

''' 0 - not a surrogate, 2 - is valid surrogate ''' 1 is an error '''
private ScanSurrogatePair ( char c1, int Here ) : XmlCharResult
c1 char
Here int
return XmlCharResult
        private XmlCharResult ScanSurrogatePair(char c1, int Here)
        {
            Debug.Assert(Here >= 0);
            Debug.Assert(CanGetCharAtOffset(Here));
            Debug.Assert(PeekAheadChar(Here) == c1);
            if (char.IsHighSurrogate(c1) && CanGetCharAtOffset(Here + 1))
            {
                var c2 = PeekAheadChar(Here + 1);
                if (char.IsLowSurrogate(c2))
                {
                    return new XmlCharResult(c1, c2);
                }
            }

            return default(XmlCharResult);
        }
Scanner