Skip to content

Commit 360fda7

Browse files
Prune also functions local to other functions
1 parent f682ede commit 360fda7

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

R/utils-prune_pkg_code.R

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,24 @@ prune_fcns <- function(expr) {
2020
expr
2121
}
2222

23-
#' @importFrom globals walkAST
24-
prune_pkg_code <- function(env = topenv(parent.frame())) {
25-
names <- names(env)
26-
for (name in names) {
27-
if (exists(name, mode = "function", envir = env, inherits = FALSE)) {
28-
fcn <- get(name, mode = "function", envir = env, inherits = FALSE)
29-
body0 <- body(fcn)
30-
body <- walkAST(body0, call = prune_fcns)
31-
if (!identical(body, body0)) {
32-
body(fcn) <- body
33-
assign(name, fcn, envir = env, inherits = FALSE)
34-
}
23+
prune_fcn <- function(name, envir) {
24+
if (exists(name, mode = "function", envir = envir, inherits = FALSE)) {
25+
fcn <- get(name, mode = "function", envir = envir, inherits = FALSE)
26+
body0 <- body(fcn)
27+
body <- walkAST(body0, call = prune_fcns)
28+
if (!identical(body, body0)) {
29+
body(fcn) <- body
30+
assign(name, fcn, envir = envir, inherits = FALSE)
31+
return(TRUE)
3532
}
3633
}
34+
FALSE
35+
}
36+
37+
#' @importFrom globals walkAST
38+
prune_pkg_code <- function(env = topenv(parent.frame())) {
39+
res <- lapply(names(env), FUN = prune_fcn, envir = env)
40+
41+
env <- environment(plan)
42+
res <- lapply(names(env), FUN = prune_fcn, envir = env)
3743
}

0 commit comments

Comments
 (0)