% File src/library/methods/man/TraceClasses.Rd % Part of the R package, https://www.R-project.org % Copyright 1995-2007 R Core Team % Distributed under GPL 2 or later \name{TraceClasses} \docType{class} \alias{traceable-class} \alias{functionWithTrace-class} \alias{MethodDefinitionWithTrace-class} \alias{MethodWithNextWithTrace-class} \alias{genericFunctionWithTrace-class} \alias{groupGenericFunctionWithTrace-class} \alias{derivedDefaultMethodWithTrace-class} \alias{nonstandardGenericWithTrace-class} %% methods generated by .InitTrace \alias{show,MethodDefinitionWithTrace-method} \alias{show,MethodWithNextWithTrace-method} \alias{show,genericFunctionWithTrace-method} \alias{show,sourceEnvironment-method} %% private \alias{.untracedFunction} \alias{.makeTracedFunction} \alias{.doTracePrint} \alias{.InitTraceFunctions} \title{Classes Used Internally to Control Tracing } \description{ The classes described here are used by the R function \code{\link{trace}} to create versions of functions and methods including browser calls, etc., and also to \code{\link{untrace}} the same objects.} \section{Objects from the Class}{ Objects will be created from these classes by calls to \code{trace}. (There is an \code{\link{initialize}} method for class \code{"traceable"}, but you are unlikely to need it directly.) } \usage{ ### Objects from the following classes are generated ### by calling trace() on an object from the corresponding ### class without the "WithTrace" in the name. "functionWithTrace" "MethodDefinitionWithTrace" "MethodWithNextWithTrace" "genericFunctionWithTrace" "groupGenericFunctionWithTrace" ### the following is a virtual class extended by each of the ### classes above "traceable" } \section{Slots}{ \describe{ \item{\code{.Data}:}{The data part, which will be \code{"function"} for class \code{"functionWithTrace"}, and similarly for the other classes.} \item{\code{original}:}{Object of the original class; e.g., \code{"function"} for class \code{"functionWithTrace"}. } } } \section{Extends}{ Each of the classes extends the corresponding untraced class, from the data part; e.g., \code{"functionWithTrace"} extends \code{"function"}. Each of the specific classes extends \code{"traceable"}, directly, and class \code{"VIRTUAL"}, by class \code{"traceable"}. } \section{Methods}{ The point of the specific classes is that objects generated from them, by function \code{trace()}, remain callable or dispatchable, in addition to their new trace information. } \seealso{ function \code{\link{trace}} } \keyword{classes}