checkFF
Check Foreign Function Calls
Description
Performs checks on calls to compiled code from R code. Currently only checks whether the interface functions such as .C
and .Fortran
are called with a "NativeSymbolInfo"
first argument or with argument PACKAGE
specified, which is highly recommended to avoid name clashes in foreign function calls.
Usage
checkFF(package, dir, file, lib.loc = NULL, registration = FALSE, check_DUP = FALSE, verbose = getOption("verbose"))
Arguments
package | a character string naming an installed package. If given, the installed R code of the package is checked. |
dir | a character string specifying the path to a package's root source directory. This should contain the subdirectory ‘R’ (for R code). Only used if |
file | the name of a file containing R code to be checked. Used if neither |
lib.loc | a character vector of directory names of R libraries, or |
registration | a logical. If |
check_DUP | a logical. If |
verbose | a logical. If |
Details
Note that we can only check if the name
argument is a symbol or a character string, not what class of object the symbol resolves to at run-time.
If the package has a namespace which contains a useDynLib
directive, calls in top-level functions in the package are not reported as their symbols will be preferentially looked up in the DLL named in the first useDynLib
directive.
This checks that calls with PACKAGE
specified are to the same package, and reports separately those which are in base packages and those which are in other packages (and if those packages are specified in the ‘DESCRIPTION’ file).
Value
An object of class "checkFF"
.
There are format
and print
methods to display the information contained in such objects.
See Also
Examples
# order is pretty much random checkFF(package = "stats", verbose = TRUE)
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.