CXXR (C++ R)
|
Context recording the invocation of a FunctionBase. More...
#include <FunctionContext.hpp>
Public Member Functions | |
FunctionContext (const Expression *the_call, Environment *call_env, const FunctionBase *function) | |
Constructor. | |
const Expression * | call () const |
The call of the Context. | |
Environment * | callEnvironment () const |
The call Environment. | |
const FunctionBase * | function () const |
Function being applied. | |
RObject * | sourceLocation () const |
Source location associated with this Context. | |
Public Member Functions inherited from CXXR::Evaluator::Context | |
Context * | nextOut () const |
Next Context out. | |
Type | type () const |
Type of the Context. |
Static Public Member Functions | |
static FunctionContext * | innermost (Evaluator::Context *start=Evaluator::Context::innermost()) |
Search outwards for a FunctionContext. | |
Static Public Member Functions inherited from CXXR::Evaluator::Context | |
static Context * | innermost () |
The innermost Context. |
Additional Inherited Members | |
Public Types inherited from CXXR::Evaluator::Context | |
enum | Type { BAILOUT = 0, PLAIN, FUNCTION, CLOSURE } |
Context types. More... | |
Protected Member Functions inherited from CXXR::Evaluator::Context | |
void | setType (Type the_type) |
Set the type of the Context. |
Context recording the invocation of a FunctionBase.
This class is the base class of ClosureContext. A FunctionContext object that is not also a ClosureContext records the invocation of a BuiltInFunction.
Note that as in CR, calls to 'special' BuiltInFunction objects (SPECIALSXP) are not recorded; however, unlike CR, calls to other BuiltInFunction objects (BUILTINSXP) are always recorded.
FunctionContext::FunctionContext | ( | const Expression * | the_call, |
Environment * | call_env, | ||
const FunctionBase * | function | ||
) |
Constructor.
the_call | Pointer to the call with which this Context is associated. |
call_env | Pointer to the Environment in which the_call is to be evaluated. |
function | Pointer, possibly null, to the function being applied. |
|
inline |
The call of the Context.
|
inline |
The call Environment.
|
inline |
Function being applied.
|
static |
Search outwards for a FunctionContext.
This function works outwards from the Evaluator::Context start until it finds a FunctionContext (possibly start itself), and returns a pointer to that FunctionContext.
start | The Evaluator::Context from which the search is to start. |
Reimplemented in CXXR::ClosureContext.
|
inline |
Source location associated with this Context.