[Rd] R CMD check does not remove all S4 methods defined in examples
Martin Morgan
mtmorgan at fhcrc.org
Tue May 16 01:40:49 CEST 2006
Methods for generics created in '\example{}' sections of Rd files are
not entirely removed at the end of the example. This is because the
methods package caches these (in the environment returned by
getGeneric("initialize"), for the example below) as well as storing
their definition in the global environment.
The following would be derived from example code in pkg/man/eg1.Rd and
pkg/man/eg2.Rd. 'initialize' created for the first example persists in
the second, leading eventually (during R CMD check) to
> a <- new("A")
Shouldn't be here
Error in initialize(value, ...) : initialize method returned an object of class "NULL" instead of the required class "A"
[standard code and comments from pkg-Ex.R removed]
### * eg1
flush(stderr()); flush(stdout())
setClass("A", representation(x="numeric"))
setMethod("initialize", "A",
function(.Object, ...) cat("Shouldn't be here\n"))
cleanEx(); ..nameEx <- "eg2"
### * eg2
flush(stderr()); flush(stdout())
setClass("A", representation(x="numeric"))
a <- new("A")
More information about the R-devel
mailing list