示例#1
0
        /// <summary>
        /// Reads specified range of lines (or less) from the source unit.
        /// Line numbers starts with 1.
        /// </summary>
        public string[] GetCodeLines(int start, int count)
        {
            Contract.Requires(start > 0, "start");
            Contract.Requires(count > 0, "count");

            List <string> result = new List <string>(count);

            using (SourceUnitReader reader = GetReader()) {
                reader.SeekLine(start);
                while (count > 0)
                {
                    string line = reader.ReadLine();
                    if (line == null)
                    {
                        break;
                    }
                    result.Add(line);
                    count--;
                }
            }

            return(result.ToArray());
        }
 public abstract void Initialize(object state, SourceUnitReader sourceReader, SourceLocation initialLocation);
示例#3
0
 public abstract void Initialize(object state, SourceUnitReader sourceReader, SourceLocation initialLocation);
示例#4
0
 public string GetCode()
 {
     using (SourceUnitReader reader = GetReader()) {
         return(reader.ReadToEnd());
     }
 }
 public void Initialize(object state, SourceUnitReader sourceReader, SourceLocation initialLocation)
 {
     _categorizer.Initialize(state, sourceReader, initialLocation);
 }
 public void Initialize(object state, SourceUnitReader sourceReader, SourceLocation initialLocation) {
     _categorizer.Initialize(state, sourceReader, initialLocation);
 }