inst/doc/report.R

## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----setup, include = FALSE---------------------------------------------------
library(winch)

## -----------------------------------------------------------------------------
foo <- function() {
  bar()
}

bar <- function() {
  baz()
}

baz <- function() {
  sys.calls()
}

tail(foo(), 3)

## -----------------------------------------------------------------------------
library(winch)

foo <- function() {
  winch_call(bar)
}

bar <- function() {
  winch_call(baz)
}

tail(foo(), 5)

## -----------------------------------------------------------------------------
baz <- function() {
  funs <- winch:::sys_functions()
  lapply(funs, body)
}

tail(foo(), 5)

## ----eval = winch::winch_available()------------------------------------------
baz <- function() {
  winch_trace_back()
}

trace <- foo()
nrow(trace)
head(trace, 25)
table(trace$pathname)

## ----eval = FALSE-------------------------------------------------------------
#  baz <- function() {
#    rlang::trace_back()
#  }
#  
#  foo()

## ----eval = FALSE-------------------------------------------------------------
#  baz <- function() {
#    trace <- rlang::trace_back()
#    winch_add_trace_back(trace)
#  }
#  
#  foo()

## ----eval = FALSE-------------------------------------------------------------
#  options(rlang_trace_use_winch = TRUE)
#  
#  baz <- function() {
#    rlang::trace_back()
#  }
#  
#  foo()

## ----error, eval = FALSE------------------------------------------------------
#  options(
#    error = rlang::entrace,
#    rlang_backtrace_on_error = "full",
#    rlang_trace_use_winch = TRUE
#  )
#  
#  vctrs::vec_as_location(quote, 2)

Try the winch package in your browser

Any scripts or data that you put into this service are public.

winch documentation built on April 20, 2023, 9:14 a.m.