Rev 47197 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
# File src/library/base/R/formals.R# Part of the R package, http://www.R-project.org## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## A copy of the GNU General Public License is available at# http://www.r-project.org/Licenses/formals <- function(fun = sys.function(sys.parent())) {if(is.character(fun))fun <- get(fun, mode = "function", envir = parent.frame()).Internal(formals(fun))}body <- function(fun = sys.function(sys.parent())) {if(is.character(fun))fun <- get(fun, mode = "function", envir = parent.frame()).Internal(body(fun))}alist <- function (...) as.list(sys.call())[-1L]`body<-` <- function (fun, envir = environment(fun), value) {if (is.expression(value)) {if (length(value) > 1L)warning("using the first element of 'value' of type expression")value <- value[[1L]]}as.function(c(as.list(formals(fun)), list(value)), envir)}`formals<-` <- function (fun, envir = environment(fun), value){bd <- body(fun)as.function(c(value,if(is.null(bd) || is.list(bd)) list(bd) else bd),envir)}