# File lib/proc_source.rb, line 162
162:   def self.get_lines(filename, start_line = 1)
163:     case filename
164:       when nil
165:         nil
166:       when "(irb)"         # special "(irb)" descriptor?
167:         IRB.conf[:MAIN_CONTEXT].io.line(start_line .. -2)
168:       when /^\(eval.+\)$/  # special "(eval...)" descriptor?
169:         EVAL_LINES__[filename][start_line .. -2]
170:       else                 # regular file
171:         # Ruby already parsed this file? (see disclaimer above)
172:         if defined?(SCRIPT_LINES__) && SCRIPT_LINES__[filename]
173:           SCRIPT_LINES__[filename][(start_line - 1) .. -1]
174:         # If the file exists we're going to try reading it in
175:         elsif File.exist?(filename)
176:           begin
177:             File.readlines(filename)[(start_line - 1) .. -1]
178:           rescue
179:             nil
180:           end
181:         end
182:     end
183:   end