These functions are for working with source files.
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 class 'srcfile': print((x, ...)) ## S3 method for class 'srcfile': summary((object, ...)) ## S3 method for class 'srcfile': open((con, line, ...)) ## S3 method for class 'srcfile': close((con, ...)) ## S3 method for class 'srcref': print((x, useSource = TRUE, ...)) ## S3 method for class 'srcref': summary((object, useSource = FALSE, ...)) ## S3 method for class 'srcref': as.character((x, useSource = TRUE, ...) .isOpen(srcfile))
- The name of a file.
- The character encoding to assume for the file.
- The encoding with which to make strings: see the
- 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
srcfilecopyknown to come from a file system file?
- first, last, line
- Line numbers.
- A vector of four, six or eight values giving a source location; see ‘Details’.
- x, object, con
- An object of the appropriate class.
- Whether to read the
srcfileto obtain the text of a
- Additional arguments to the methods; these will be ignored.
These functions and classes handle source code references.
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.
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.
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.
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
close for classes
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
as.character for class
as.character method will read the associated source file to obtain the text corresponding to the reference. 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.
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
useSource = FALSE. If a
srcref object is printed with
useSource = FALSE, the
<srcref: ...> record will be printed.
getSrcLines returns a character vector of source code lines.
getSrcFilename for extracting information from a source reference.
Documentation reproduced from R 3.0.2. License: GPL-2.