format_error_call {rlang} | R Documentation |
format_error_call()
simplifies its input to a simple call (see
section below) and formats the result as code (using cli if
available). Use this function to generate the "in" part
of an error message from a stack frame call.
If passed an environment, the corresponding sys.call()
is taken
as call, unless there is a local flag (see local_error_call()
).
format_error_call(call)
call |
The execution environment of a currently
running function, e.g. |
Either a string formatted as code or NULL
if a simple
call could not be generated.
The arguments of function calls are stripped.
Complex function calls containing inlined objects return
NULL
.
Calls to if
preserve the condition since it might be
informative. Branches are dropped.
Calls to operators and other special syntax are formatted using their names rather than the potentially confusing function form.
# Arguments are stripped
writeLines(format_error_call(quote(foo(bar, baz))))
# Returns `NULL` with complex calls such as those that contain
# inlined functions
format_error_call(call2(list))
# Operators are formatted using their names rather than in
# function call form
writeLines(format_error_call(quote(1 + 2)))