codetools (version 0.2-18)

checkUsage: Check R Code for Possible Problems

Description

Check R code for possible problems.

Usage

checkUsage(fun, name = "", report = cat, all = FALSE, 
           suppressLocal = FALSE, suppressParamAssigns = !all,
           suppressParamUnused = !all, suppressFundefMismatch = FALSE,
           suppressLocalUnused = FALSE, suppressNoLocalFun = !all,
           skipWith = FALSE, suppressUndefined = dfltSuppressUndefined,
           suppressPartialMatchArgs = TRUE) 
checkUsageEnv(env, ...) 
checkUsagePackage(pack, ...)

Arguments

fun

closure.

name

character; name of closure.

env

environment containing closures to check.

pack

character naming package to check.

options to be passed to checkUsage.

report

function to use to report possible problems.

all

logical; report all possible problems if TRUE.

suppressLocal

suppress all local variable warnings.

suppressParamAssigns

suppress warnings about assignments to formal parameters.

suppressParamUnused

suppress warnings about unused formal parameters.

suppressFundefMismatch

suppress warnings about multiple local function definitions with different formal argument lists

suppressLocalUnused

suppress warnings about unused local variables

suppressNoLocalFun

suppress warnings about using local variables as functions with no apparent local function definition

skipWith

logical; if true, do no examine code portion of with expressions.

suppressUndefined

suppress warnings about undefined global functions and variables.

suppressPartialMatchArgs

suppress warnings about partial argument matching

Details

checkUsage checks a single R closure. Options control which possible problems to report. The default settings are moderately verbose. A first pass might use suppressLocal=TRUE to suppress all information related to local variable usage. The suppressXYZ values can either be scalar logicals or character vectors; then they are character vectors they only suppress problem reports for the variables with names in the vector.

checkUsageEnv and checkUsagePackage are convenience functions that apply checkUsage to all closures in an environment or a package. checkUsagePackage requires that the package be loaded. If the package has a name space then the internal name space frame is checked.

Examples

# NOT RUN {
checkUsage(checkUsage)
checkUsagePackage("codetools",all=TRUE)
# }
# NOT RUN {
checkUsagePackage("base",suppressLocal=TRUE)
# }