
Retrieves global variables of an expression and their associated packages
Source:R/protected_api-globals.R
getGlobalsAndPackages.RdRetrieves global variables of an expression and their associated packages
Usage
getGlobalsAndPackages(
expr,
envir = parent.frame(),
tweak = tweakExpression,
globals = TRUE,
locals = getOption("future.globals.globalsOf.locals", TRUE),
resolve = getOption("future.globals.resolve"),
persistent = FALSE,
maxSize = getOption("future.globals.maxSize", +Inf),
onReference = getOption("future.globals.onReference", "ignore"),
...
)Arguments
- expr
An R expression whose globals should be found.
- envir
The environment from which globals should be searched.
- tweak
(optional) A function that takes an expression and returned a modified one.
- globals
(optional) a logical, a character vector, a named list, or a Globals object. If TRUE, globals are identified by code inspection based on
exprandtweaksearching from environmentenvir. If FALSE, no globals are used. If a character vector, then globals are identified by lookup based their namesglobalssearching from environmentenvir. If a named list or a Globals object, the globals are used as is.- resolve
If TRUE, any future that is a global variables (or part of one) is resolved and replaced by a "constant" future.
- persistent
If TRUE, non-existing globals (= identified in expression but not found in memory) are always silently ignored and assumed to be existing in the evaluation environment. If FALSE, non-existing globals are by default ignored, but may also trigger an informative error if option future.globals.onMissing in
"error"(should only be used for troubleshooting).- maxSize
The maximum allowed total size (in bytes) of globals—for the purpose of preventing too large exports / transfers happening by mistake. If the total size of the global objects are greater than this limit, an informative error message is produced. If
maxSize = +Inf, then this assertion is skipped. (Default:+Inf).- ...
Not used.
Value
A named list with elements expr (the tweaked expression), globals (a named list of class FutureGlobals) and packages (a character string).