AST symbol index
Description
Parse R source files to extract function definitions and calls.
Usage
1symbols(project_dir,
2 cache_dir = file.path(tools::R_user_dir("saber", "cache"), "symbols"))
Arguments
project_dir: Path to the project directory.cache_dir: Directory for symbol cache files.
Value
A list with components:
- defs: data.frame(name, file, line, exported)
- calls: data.frame(caller, callee, file, line)
Examples
1# Create a minimal project with R source files
2d <- file.path(tempdir(), "demopkg")
3dir.create(file.path(d, "R"), recursive = TRUE, showWarnings = FALSE)
4writeLines("add <- function(x, y) x + y", file.path(d, "R", "add.R"))
5writeLines("double <- function(x) add(x, x)", file.path(d, "R", "double.R"))
6
7idx <- symbols(d, cache_dir = tempdir())
8idx$defs # function definitions
9idx$calls # call relationships (double calls add)