symbols

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)