clojure.lang.LineNumberingTextReader.Read C# (CSharp) Method

Read() public method

public Read ( ) : int
return int
        public override int Read()
        {
            int ret = base.Read();

            _prevLineStart = _atLineStart;

            if (ret == -1)
            {
                _atLineStart = true;
                return ret;
            }

            ++_index;
            _atLineStart = false;
            ++_columnNumber;

            if (ret == '\r')
            {
                if (Peek() == '\n')
                {
                    ret = BaseReader.Read();
                    ++_index;
                }
                else
                {
                    NoteLineAdvance();
                }
            }

            if ( ret == '\n' )
                NoteLineAdvance();

            return ret;
        }

Usage Example

Esempio n. 1
0
 static void ConsumeWhitespaces(LineNumberingTextReader lnReader)
 {
     int ch = lnReader.Read();
     while (LispReader.isWhitespace(ch))
         ch = lnReader.Read();
     LispReader.Unread(lnReader, ch);
 }