示例#1
0
        /// <summary>
        /// Creates a new <c>SourceLocation</c> with the specified column and line.
        /// </summary>
        /// <param name="column">Column index (must not exceed 2,048)</param>
        /// <param name="line">Line index (must not exceed 2,097,152)</param>
        public SourceLocation(int column, int line)
        {
            if (column < 0 || column > MaxColumn)
            {
                throw ExceptionBuilder.ArgumentOutOfRange("column", column, 0, MaxColumn);
            }

            if (line < 0 || line > MaxLine)
            {
                throw ExceptionBuilder.ArgumentOutOfRange("line", line, 0, MaxLine);
            }

            _pos  = column;
            _pos |= line << 11;
        }