Retrieves global variables of an expression and their associated packages
getGlobalsAndPackages(expr, envir = parent.frame(),
tweak = tweakExpression, globals = TRUE,
resolve = getOption("future.globals.resolve", FALSE),
persistent = FALSE, maxSize = getOption("future.globals.maxSize", 500
* 1024^2), ...)
An R expression whose globals should be found.
The environment from which globals should be searched.
(optional) A function that takes an expression and returned a modified one.
(optional) a logical, a character vector, a named list, or a Globals object. If TRUE, globals are identified by code inspection based on expr
and tweak
searching from environment envir
. If FALSE, no globals are used. If a character vector, then globals are identified by lookup based their names globals
searching from environment envir
. If a named list or a Globals object, the globals are used as is.
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 == "error"
.
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: 500 MiB).
Not used.
A named list with elements expr
(the tweaked expression), globals
(a named list) and packages
(a character string).
Internally, globalsOf()
is used to identify globals and associated packages from the expression.