AST symbol index
Description
Parse R source files to extract function definitions and calls.
Usage
symbols(project_dir,
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
# Create a minimal project with R source files
d <- file.path(tempdir(), "demopkg")
dir.create(file.path(d, "R"), recursive = TRUE, showWarnings = FALSE)
writeLines("add <- function(x, y) x + y", file.path(d, "R", "add.R"))
writeLines("double <- function(x) add(x, x)", file.path(d, "R", "double.R"))
idx <- symbols(d, cache_dir = tempdir())
idx$defs # function definitions
idx$calls # call relationships (double calls add)