CXXR (C++ R)
Macros | Functions
envir.cpp File Reference

($Id: envir.cpp 1367 2013-04-11 13:40:22Z arr $)

#include <config.h>
#include <functional>
#include <iostream>
#include "Defn.h"
#include <R_ext/Callbacks.h>
#include "CXXR/ProvenanceTracker.h"
#include "CXXR/ClosureContext.hpp"
Include dependency graph for envir.cpp:

Macros

#define ISNULL(x)   ((x) == R_NilValue)
#define simple_as_environment(arg)   (IS_S4_OBJECT(arg) && (TYPEOF(arg) == S4SXP) ? R_getS4DataSlot(arg, ENVSXP) : R_NilValue)

Functions

int attribute_hidden R_Newhashpjw (const char *s)
SEXP R_NewHashedEnv (SEXP enclos, SEXP size)
void attribute_hidden InitGlobalEnv ()
void attribute_hidden unbindVar (SEXP symbol, SEXP rho)
R_varloc_t R_findVarLocInFrame (SEXP rho, SEXP symbol)
SEXP R_GetVarLocValue (R_varloc_t vl)
SEXP R_GetVarLocSymbol (R_varloc_t vl)
Rboolean R_GetVarLocMISSING (R_varloc_t vl)
void R_SetVarLocValue (R_varloc_t vl, SEXP value)
SEXP findVarInFrame3 (SEXP rho, SEXP symbol, Rboolean)
SEXP findVarInFrame (SEXP rho, SEXP symbol)
SEXP findVar (SEXP symbol, SEXP rho)
SEXP attribute_hidden findVar1 (SEXP symbol, SEXP rho, SEXPTYPE mode, int inherits)
SEXP ddfindVar (SEXP symbol, SEXP rho)
SEXP dynamicfindVar (SEXP symbol, ClosureContext *cptr)
SEXP findFun (SEXP symbol, SEXP rho)
void defineVar (SEXP symbol, SEXP value, SEXP rho)
void setVar (SEXP symbol, SEXP value, SEXP rho)
void gsetVar (SEXP symbol, SEXP value, SEXP rho)
SEXP attribute_hidden do_assign (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_list2env (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_remove (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_get (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_mget (SEXP call, SEXP op, SEXP args, SEXP rho)
int attribute_hidden R_isMissing (SEXP symbol, SEXP rho)
 Is a Symbol missing within an Environment?
SEXP attribute_hidden do_missing (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_globalenv (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_baseenv (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_emptyenv (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_attach (SEXP call, SEXP op, SEXP args, SEXP env)
SEXP attribute_hidden do_detach (SEXP call, SEXP op, SEXP args, SEXP env)
SEXP attribute_hidden do_search (SEXP call, SEXP op, SEXP args, SEXP env)
SEXP attribute_hidden do_ls (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP R_lsInternal (SEXP env, Rboolean all)
SEXP attribute_hidden do_env2list (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_eapply (SEXP call, SEXP op, SEXP args, SEXP rho)
int envlength (SEXP rho)
SEXP attribute_hidden do_builtins (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_pos2env (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_as_environment (SEXP call, SEXP op, SEXP args, SEXP rho)
void R_LockEnvironment (SEXP env, Rboolean bindings)
Rboolean R_EnvironmentIsLocked (SEXP env)
SEXP do_lockEnv (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_envIsLocked (SEXP call, SEXP op, SEXP args, SEXP rho)
void R_LockBinding (SEXP sym, SEXP env)
void R_unLockBinding (SEXP sym, SEXP env)
void R_MakeActiveBinding (SEXP sym, SEXP fun, SEXP env)
Rboolean R_BindingIsLocked (SEXP sym, SEXP env)
Rboolean R_BindingIsActive (SEXP sym, SEXP env)
Rboolean R_HasFancyBindings (SEXP rho)
SEXP attribute_hidden do_lockBnd (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_bndIsLocked (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_mkActiveBnd (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_bndIsActive (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_mkUnbound (SEXP call, SEXP op, SEXP args, SEXP rho)
Rboolean R_IsPackageEnv (SEXP rho)
SEXP R_PackageEnvName (SEXP rho)
SEXP R_FindPackageEnv (SEXP info)
Rboolean R_IsNamespaceEnv (SEXP rho)
SEXP attribute_hidden do_isNSEnv (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP R_NamespaceEnvSpec (SEXP rho)
SEXP R_FindNamespace (SEXP info)
SEXP attribute_hidden do_regNS (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_unregNS (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_getRegNS (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_getNSRegistry (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_importIntoEnv (SEXP call, SEXP op, SEXP args, SEXP rho)
SEXP attribute_hidden do_envprofile (SEXP call, SEXP op, SEXP args, SEXP rho)

Detailed Description

Environments: all the action of associating values with symbols happens in this code.


Function Documentation

SEXP attribute_hidden do_list2env ( SEXP  call,
SEXP  op,
SEXP  args,
SEXP  rho 
)

do_list2env : .Internal(list2env(x, envir))

SEXP attribute_hidden do_mget ( SEXP  call,
SEXP  op,
SEXP  args,
SEXP  rho 
)

mget(): get multiple values from an environment

.Internal(mget(x, envir, mode, ifnotfound, inherits))

Returns:
a list of the same length as x, a character vector (of names).
int attribute_hidden R_isMissing ( SEXP  symbol,
SEXP  rho 
)

Is a Symbol missing within an Environment?

Parameters:
symbolPointer to the Symbol whose missing status is required.
rhoPointer to the Environment in whose Frame symbol is to be sought.
Returns:
A non-zero value iff symbol is missing in the Frame of rho.
Note:
For more information, refer to the code, which is surprisingly complicated.