These functions are for working with source files and more generally
  with “source references” ("srcref"), i.e., references to
  source code.  The resulting data is used for printing and source level
  debugging, and is typically available in interactive R sessions,
  namely when options(keep.source = TRUE).
srcfile(filename, encoding = getOption("encoding"), Enc = "unknown")
srcfilecopy(filename, lines, timestamp = Sys.time(), isFile = FALSE)
srcfilealias(filename, srcfile)
getSrcLines(srcfile, first, last)
srcref(srcfile, lloc)
# S3 method for srcfile
print(x, …)
# S3 method for srcfile
summary(object, …)
# S3 method for srcfile
open(con, line, …)
# S3 method for srcfile
close(con, …)
# S3 method for srcref
print(x, useSource = TRUE, …)
# S3 method for srcref
summary(object, useSource = FALSE, …)
# S3 method for srcref
as.character(x, useSource = TRUE, to = x, …)
.isOpen(srcfile)The name of a file.
The character encoding to assume for the file.
The encoding with which to make strings: see the
    encoding argument of parse.
A character vector of source lines. Other R objects will be coerced to character.
The timestamp to use on a copy of a file.
Is this srcfilecopy known to come from a file system file?
A srcfile object.
Line numbers.
A vector of four, six or eight values giving a source location; see ‘Details’.
An object of the appropriate class.
Whether to read the srcfile to obtain the
    text of a srcref.
An optional second srcref object to mark the end
    of the character range.
Additional arguments to the methods; these will be ignored.
srcfile returns a srcfile object.
srcfilecopy returns a srcfilecopy object.
getSrcLines returns a character vector of source code lines.
srcref returns a srcref object.
These functions and classes handle source code references.
The srcfile function produces an object of class
  srcfile, which contains the name and directory of a source code
  file, along with its timestamp, for use in source level debugging (not
  yet implemented) and source echoing.  The encoding of the file is
  saved; see file for a discussion of encodings, and
  iconvlist for a list of allowable encodings on your platform.
The srcfilecopy function produces an object of the descendant
  class srcfilecopy, which saves the source lines in a character
  vector.  It copies the value of the isFile argument, to help
  debuggers identify whether this text comes from a real file in the
  file system.
The srcfilealias function produces an object of the descendant
  class srcfilealias, which gives an alternate name to another
  srcfile.  This is produced by the parser when a #line directive
  is used.
The getSrcLines function reads the specified lines from
  srcfile.
The srcref function produces an object of class
  srcref, which describes a range of characters in a
  srcfile.
  The lloc value gives the following values:
c(first_line, first_byte, last_line, last_byte, first_column, last_column, first_parsed, last_parsed)
Bytes (elements 2, 4) and
  columns (elements 5, 6) may be different due to multibyte
  characters.  If only four values are given, the columns and bytes
  are assumed to match.  Lines (elements 1, 3) and parsed lines
  (elements 7, 8) may differ if a #line directive is used in
  code:  the former will respect the directive, the latter will just
  count lines.  If only 4 or 6 elements are given, the parsed lines
  will be assumed to match the lines.
Methods are defined for print, summary, open,
  and close for classes srcfile and srcfilecopy.
  The open method opens its internal file connection at
  a particular line; if it was already open, it will be repositioned
  to that line.
Methods are defined for print, summary and
  as.character for class srcref.  The as.character
  method will read the associated source file to obtain the text
  corresponding to the reference.  If the to argument is given,
  it should be a second srcref that follows the first, in the
  same file; they will be treated as one reference to the whole
  range.  The exact behaviour depends on the
  class of the source file.  If the source file inherits from
  class srcfilecopy, the lines are taken from the saved copy
  using the “parsed” line counts.  If not, an attempt
  is made to read the file, and the original line numbers of the
  srcref record (i.e., elements 1 and 3) are used.  If an error
  occurs (e.g., the file no longer exists), text like
  <srcref: "file" chars 1:1 to 2:10> will be returned instead,
  indicating the line:column ranges of the first and last
  character.  The summary method defaults to this type of
  display.
Lists of srcref objects may be attached to expressions as the
  "srcref" attribute.  (The list of srcref objects should be the same
  length as the expression.)  By default, expressions are printed by
  print.default using the associated srcref.  To
  see deparsed code instead, call print with argument
  useSource = FALSE.  If a srcref object
  is printed with useSource = FALSE, the <srcref: …>
  record will be printed.
.isOpen is intended for internal use:  it checks whether the
  connection associated with a srcfile object is open.
getSrcFilename for extracting information from a source
  reference, or removeSource to remove it from a
  (non-primitive) function (aka ‘closure’).
# NOT RUN {
 # has timestamp
src <- srcfile(system.file("DESCRIPTION", package = "base"))
summary(src)
getSrcLines(src, 1, 4)
ref <- srcref(src, c(1, 1, 2, 1000))
ref
print(ref, useSource = FALSE)
# }
Run the code above in your browser using DataLab