コード例 #1
0
        internal bool TryGetTokenization(int line, out LineTokenization tokenization)
        {
            if (line < 0)
            {
                throw new ArgumentOutOfRangeException("line", "Must be 0 or greater");
            }
            Utilities.CheckNotNull(_map);

            if (_map[line].Tokens != null)
            {
                tokenization = _map[line];
                return(true);
            }
            else
            {
                tokenization = default(LineTokenization);
                return(false);
            }
        }
コード例 #2
0
        /// <summary>
        /// Looks for the first cached tokenization preceding the given line.
        /// Returns the line we have a tokenization for or minLine - 1 if there is none.
        /// </summary>
        internal int IndexOfPreviousTokenization(int line, int minLine, out LineTokenization tokenization)
        {
            if (line < 0)
            {
                throw new ArgumentOutOfRangeException("line", "Must be 0 or greater");
            }
            Utilities.CheckNotNull(_map);

            line--;
            while (line >= minLine)
            {
                if (_map[line].Tokens != null)
                {
                    tokenization = _map[line];
                    return(line);
                }
                line--;
            }
            tokenization = default(LineTokenization);
            return(minLine - 1);
        }