variable.c File Reference

#include "ruby/ruby.h"
#include "ruby/st.h"
#include "ruby/util.h"
#include "ruby/encoding.h"
#include "node.h"
#include "constant.h"
#include "internal.h"
#include "id.h"

Go to the source code of this file.

Data Structures

struct  fc_result
struct  trace_var
struct  global_variable
struct  trace_data
struct  obj_ivar_tag
struct  autoload_data_i
struct  autoload_const_set_args

Defines

#define global_variable   rb_global_variable
#define global_entry   rb_global_entry
#define gvar_getter_t   rb_gvar_getter_t
#define gvar_setter_t   rb_gvar_setter_t
#define gvar_marker_t   rb_gvar_marker_t
#define undef_getter   rb_gvar_undef_getter
#define undef_setter   rb_gvar_undef_setter
#define undef_marker   rb_gvar_undef_marker
#define val_getter   rb_gvar_val_getter
#define val_setter   rb_gvar_val_setter
#define val_marker   rb_gvar_val_marker
#define var_getter   rb_gvar_var_getter
#define var_setter   rb_gvar_var_setter
#define var_marker   rb_gvar_var_marker
#define readonly_setter   rb_gvar_readonly_setter
#define check_autoload_table(av)   (struct st_table *)rb_check_typeddata((av), &autoload_data_type)
#define check_autoload_data(av)   (struct autoload_data_i *)rb_check_typeddata((av), &autoload_data_i_type)
#define CVAR_FOREACH_ANCESTORS(klass, v, r)
#define CVAR_LOOKUP(v, r)

Typedefs

typedef VALUE(*) path_cache_func (VALUE obj, ID id, VALUE val)

Functions

void Init_var_tables (void)
static VALUE fc_path (struct fc_result *fc, ID name)
static int fc_i (st_data_t k, st_data_t v, st_data_t a)
static VALUE find_class_path (VALUE klass, ID preferred)
 Traverse constant namespace and find +classpath+ for _klass_.
static VALUE classname (VALUE klass, int *permanent)
 Returns +classpath+ of _klass_, if it is named, or +nil+ for anonymous +class+/+module+.
VALUE rb_mod_name (VALUE mod)
static VALUE rb_tmp_class_path (VALUE klass, int *permanent, path_cache_func cache_path)
VALUE rb_class_path (VALUE klass)
static VALUE null_cache (VALUE obj, ID id, VALUE val)
VALUE rb_class_path_no_cache (VALUE klass)
VALUE rb_class_path_cached (VALUE klass)
void rb_set_class_path_string (VALUE klass, VALUE under, VALUE name)
void rb_set_class_path (VALUE klass, VALUE under, const char *name)
VALUE rb_path_to_class (VALUE pathname)
VALUE rb_path2class (const char *path)
void rb_name_class (VALUE klass, ID id)
VALUE rb_class_name (VALUE klass)
const char * rb_class2name (VALUE klass)
const char * rb_obj_classname (VALUE obj)
global_entry * rb_global_entry (ID id)
VALUE undef_getter (ID id, void *data, struct global_variable *var)
void undef_setter (VALUE val, ID id, void *data, struct global_variable *var)
void undef_marker (VALUE *var)
VALUE val_getter (ID id, void *data, struct global_variable *var)
void val_setter (VALUE val, ID id, void *data, struct global_variable *var)
void val_marker (VALUE *var)
VALUE var_getter (ID id, void *data, struct global_variable *gvar)
void var_setter (VALUE val, ID id, void *data, struct global_variable *gvar)
void var_marker (VALUE *var)
void readonly_setter (VALUE val, ID id, void *data, struct global_variable *gvar)
static int mark_global_entry (st_data_t k, st_data_t v, st_data_t a)
void rb_gc_mark_global_tbl (void)
static ID global_id (const char *name)
void rb_define_hooked_variable (const char *name, VALUE *var, VALUE(*getter)(ANYARGS), void(*setter)(ANYARGS))
void rb_define_variable (const char *name, VALUE *var)
void rb_define_readonly_variable (const char *name, VALUE *var)
void rb_define_virtual_variable (const char *name, VALUE(*getter)(ANYARGS), void(*setter)(ANYARGS))
static void rb_trace_eval (VALUE cmd, VALUE val)
VALUE rb_f_trace_var (int argc, VALUE *argv)
static void remove_trace (struct global_variable *var)
VALUE rb_f_untrace_var (int argc, VALUE *argv)
VALUE rb_gvar_get (struct global_entry *entry)
static VALUE trace_ev (struct trace_data *data)
static VALUE trace_en (struct global_variable *var)
VALUE rb_gvar_set (struct global_entry *entry, VALUE val)
VALUE rb_gv_set (const char *name, VALUE val)
VALUE rb_gv_get (const char *name)
VALUE rb_gvar_defined (struct global_entry *entry)
static int gvar_i (st_data_t k, st_data_t v, st_data_t a)
VALUE rb_f_global_variables (void)
void rb_alias_variable (ID name1, ID name2)
st_tablerb_generic_ivar_table (VALUE obj)
static VALUE generic_ivar_get (VALUE obj, ID id, VALUE undef)
static void generic_ivar_set (VALUE obj, ID id, VALUE val)
static VALUE generic_ivar_defined (VALUE obj, ID id)
static int generic_ivar_remove (VALUE obj, ID id, st_data_t *valp)
void rb_mark_generic_ivar (VALUE obj)
static int givar_mark_i (st_data_t k, st_data_t v, st_data_t a)
static int givar_i (st_data_t k, st_data_t v, st_data_t a)
void rb_mark_generic_ivar_tbl (void)
void rb_free_generic_ivar (VALUE obj)
RUBY_FUNC_EXPORTED size_t rb_generic_ivar_memsize (VALUE obj)
void rb_copy_generic_ivar (VALUE clone, VALUE obj)
static VALUE rb_ivar_lookup (VALUE obj, ID id, VALUE undef)
VALUE rb_ivar_get (VALUE obj, ID id)
VALUE rb_attr_get (VALUE obj, ID id)
VALUE rb_ivar_set (VALUE obj, ID id, VALUE val)
VALUE rb_ivar_defined (VALUE obj, ID id)
static int obj_ivar_i (st_data_t key, st_data_t index, st_data_t arg)
static void obj_ivar_each (VALUE obj, int(*func)(ANYARGS), st_data_t arg)
void rb_ivar_foreach (VALUE obj, int(*func)(ANYARGS), st_data_t arg)
st_index_t rb_ivar_count (VALUE obj)
static int ivar_i (st_data_t k, st_data_t v, st_data_t a)
VALUE rb_obj_instance_variables (VALUE obj)
VALUE rb_obj_remove_instance_variable (VALUE obj, VALUE name)
 NORETURN (static void uninitialized_constant(VALUE, ID))
static void uninitialized_constant (VALUE klass, ID id)
static VALUE const_missing (VALUE klass, ID id)
VALUE rb_mod_const_missing (VALUE klass, VALUE name)
static void autoload_mark (void *ptr)
static void autoload_free (void *ptr)
static size_t autoload_memsize (const void *ptr)
static VALUE autoload_data (VALUE mod, ID id)
static void autoload_i_mark (void *ptr)
static void autoload_i_free (void *ptr)
static size_t autoload_i_memsize (const void *ptr)
void rb_autoload (VALUE mod, ID id, const char *file)
static void autoload_delete (VALUE mod, ID id)
static VALUE autoload_provided (VALUE arg)
static VALUE reset_safe (VALUE safe)
static VALUE check_autoload_required (VALUE mod, ID id, const char **loadingpath)
int rb_autoloading_value (VALUE mod, ID id, VALUE *value)
static int autoload_defined_p (VALUE mod, ID id)
static VALUE autoload_const_set (VALUE arg)
static VALUE autoload_require (VALUE arg)
VALUE rb_autoload_load (VALUE mod, ID id)
VALUE rb_autoload_p (VALUE mod, ID id)
static VALUE rb_const_get_0 (VALUE klass, ID id, int exclude, int recurse, int visibility)
VALUE rb_const_get_from (VALUE klass, ID id)
VALUE rb_const_get (VALUE klass, ID id)
VALUE rb_const_get_at (VALUE klass, ID id)
VALUE rb_public_const_get_from (VALUE klass, ID id)
VALUE rb_public_const_get (VALUE klass, ID id)
VALUE rb_public_const_get_at (VALUE klass, ID id)
VALUE rb_mod_remove_const (VALUE mod, VALUE name)
VALUE rb_const_remove (VALUE mod, ID id)
static int sv_i (st_data_t k, st_data_t v, st_data_t a)
static int rb_local_constants_i (st_data_t const_name, st_data_t const_value, st_data_t ary)
static VALUE rb_local_constants (VALUE mod)
void * rb_mod_const_at (VALUE mod, void *data)
void * rb_mod_const_of (VALUE mod, void *data)
static int list_i (st_data_t key, st_data_t value, VALUE ary)
VALUE rb_const_list (void *data)
VALUE rb_mod_constants (int argc, VALUE *argv, VALUE mod)
static int rb_const_defined_0 (VALUE klass, ID id, int exclude, int recurse, int visibility)
int rb_const_defined_from (VALUE klass, ID id)
int rb_const_defined (VALUE klass, ID id)
int rb_const_defined_at (VALUE klass, ID id)
int rb_public_const_defined_from (VALUE klass, ID id)
int rb_public_const_defined (VALUE klass, ID id)
int rb_public_const_defined_at (VALUE klass, ID id)
static void check_before_mod_set (VALUE klass, ID id, VALUE val, const char *dest)
void rb_const_set (VALUE klass, ID id, VALUE val)
void rb_define_const (VALUE klass, const char *name, VALUE val)
void rb_define_global_const (const char *name, VALUE val)
static void set_const_visibility (VALUE mod, int argc, VALUE *argv, rb_const_flag_t flag)
VALUE rb_mod_private_constant (int argc, VALUE *argv, VALUE obj)
VALUE rb_mod_public_constant (int argc, VALUE *argv, VALUE obj)
static VALUE original_module (VALUE c)
static int cvar_lookup_at (VALUE klass, ID id, st_data_t *v)
static VALUE cvar_front_klass (VALUE klass)
void rb_cvar_set (VALUE klass, ID id, VALUE val)
VALUE rb_cvar_get (VALUE klass, ID id)
VALUE rb_cvar_defined (VALUE klass, ID id)
void rb_cv_set (VALUE klass, const char *name, VALUE val)
VALUE rb_cv_get (VALUE klass, const char *name)
void rb_define_class_variable (VALUE klass, const char *name, VALUE val)
static int cv_i (st_data_t k, st_data_t v, st_data_t a)
static void * mod_cvar_at (VALUE mod, void *data)
static void * mod_cvar_of (VALUE mod, void *data)
static int cv_list_i (st_data_t key, st_data_t value, VALUE ary)
static VALUE cvar_list (void *data)
VALUE rb_mod_class_variables (int argc, VALUE *argv, VALUE mod)
VALUE rb_mod_remove_cvar (VALUE mod, VALUE name)
VALUE rb_iv_get (VALUE obj, const char *name)
VALUE rb_iv_set (VALUE obj, const char *name, VALUE val)
int rb_st_insert_id_and_value (VALUE obj, st_table *tbl, ID key, VALUE value)
static int tbl_copy_i (st_data_t key, st_data_t value, st_data_t data)
st_tablerb_st_copy (VALUE obj, struct st_table *orig_tbl)

Variables

st_tablerb_global_tbl
static ID autoload
static ID classpath
static ID tmp_classpath
static ID classid
static int special_generic_ivar = 0
static st_tablegeneric_iv_tbl
static const rb_data_type_t autoload_data_type
static const rb_data_type_t autoload_data_i_type


Define Documentation

#define check_autoload_data ( av   )     (struct autoload_data_i *)rb_check_typeddata((av), &autoload_data_i_type)

Definition at line 1603 of file variable.c.

Referenced by check_autoload_required(), rb_autoload_load(), rb_autoload_p(), rb_autoloading_value(), and rb_const_set().

#define check_autoload_table ( av   )     (struct st_table *)rb_check_typeddata((av), &autoload_data_type)

Definition at line 1552 of file variable.c.

Referenced by autoload_data(), autoload_delete(), and rb_autoload().

#define CVAR_FOREACH_ANCESTORS ( klass,
v,
 ) 

Value:

for (klass = cvar_front_klass(klass); klass; klass = RCLASS_SUPER(klass)) { \
        if (cvar_lookup_at(klass, id, (v))) { \
            r; \
        } \
    }

Definition at line 2335 of file variable.c.

#define CVAR_LOOKUP ( v,
 ) 

Value:

do {\
    if (cvar_lookup_at(klass, id, (v))) {r;}\
    CVAR_FOREACH_ANCESTORS(klass, v, r);\
} while(0)

Definition at line 2342 of file variable.c.

Referenced by rb_cvar_defined(), rb_cvar_get(), and rb_cvar_set().

#define global_entry   rb_global_entry

Definition at line 412 of file variable.c.

Referenced by mark_global_entry(), rb_alias_variable(), rb_f_trace_var(), rb_f_untrace_var(), rb_global_entry(), rb_gv_get(), and rb_gv_set().

#define global_variable   rb_global_variable

Definition at line 411 of file variable.c.

#define gvar_getter_t   rb_gvar_getter_t

Definition at line 414 of file variable.c.

Referenced by rb_define_hooked_variable().

#define gvar_marker_t   rb_gvar_marker_t

Definition at line 416 of file variable.c.

#define gvar_setter_t   rb_gvar_setter_t

Definition at line 415 of file variable.c.

Referenced by rb_define_hooked_variable().

#define readonly_setter   rb_gvar_readonly_setter

Definition at line 447 of file variable.c.

Referenced by rb_define_readonly_variable(), and rb_define_virtual_variable().

#define undef_getter   rb_gvar_undef_getter

Definition at line 435 of file variable.c.

Referenced by rb_global_entry(), and rb_gvar_defined().

#define undef_marker   rb_gvar_undef_marker

Definition at line 437 of file variable.c.

Referenced by rb_global_entry().

#define undef_setter   rb_gvar_undef_setter

Definition at line 436 of file variable.c.

Referenced by rb_global_entry().

#define val_getter   rb_gvar_val_getter

Definition at line 439 of file variable.c.

Referenced by rb_define_virtual_variable(), and undef_setter().

#define val_marker   rb_gvar_val_marker

Definition at line 441 of file variable.c.

Referenced by undef_setter().

#define val_setter   rb_gvar_val_setter

Definition at line 440 of file variable.c.

Referenced by undef_setter().

#define var_getter   rb_gvar_var_getter

Definition at line 443 of file variable.c.

Referenced by rb_define_hooked_variable().

#define var_marker   rb_gvar_var_marker

Definition at line 445 of file variable.c.

Referenced by rb_define_hooked_variable().

#define var_setter   rb_gvar_var_setter

Definition at line 444 of file variable.c.

Referenced by rb_define_hooked_variable().


Typedef Documentation

typedef VALUE(*) path_cache_func(VALUE obj, ID id, VALUE val)

Definition at line 215 of file variable.c.


Function Documentation

static VALUE autoload_const_set ( VALUE  arg  )  [static]

Definition at line 1753 of file variable.c.

References args, autoload_delete(), and rb_const_set().

Referenced by rb_autoload_load().

static VALUE autoload_data ( VALUE  mod,
ID  id 
) [static]

Definition at line 1556 of file variable.c.

References autoload, check_autoload_table, RCLASS_IV_TBL, st_data_t, st_lookup(), val, and VALUE.

Referenced by check_autoload_required(), rb_autoloading_value(), and rb_const_set().

static int autoload_defined_p ( VALUE  mod,
ID  id 
) [static]

Definition at line 1735 of file variable.c.

References NULL, Qundef, rb_autoloading_value(), RCLASS_CONST_TBL, st_data_t, st_lookup(), and val.

Referenced by rb_autoload_load(), and rb_autoload_p().

static void autoload_delete ( VALUE  mod,
ID  id 
) [static]

Definition at line 1651 of file variable.c.

References autoload, check_autoload_table, st_table::num_entries, RCLASS_CONST_TBL, RCLASS_IV_TBL, st_data_t, st_delete(), st_lookup(), val, VALUE, and xfree.

Referenced by autoload_const_set(), rb_const_remove(), and rb_const_set().

static void autoload_free ( void *  ptr  )  [static]

Definition at line 1534 of file variable.c.

References st_free_table().

static void autoload_i_free ( void *  ptr  )  [static]

Definition at line 1585 of file variable.c.

References xfree.

static void autoload_i_mark ( void *  ptr  )  [static]

Definition at line 1576 of file variable.c.

References autoload_data_i::feature, rb_gc_mark(), autoload_data_i::thread, and autoload_data_i::value.

static size_t autoload_i_memsize ( const void *  ptr  )  [static]

Definition at line 1592 of file variable.c.

static void autoload_mark ( void *  ptr  )  [static]

Definition at line 1528 of file variable.c.

References rb_mark_tbl().

static size_t autoload_memsize ( const void *  ptr  )  [static]

Definition at line 1540 of file variable.c.

References st_memsize().

static VALUE autoload_provided ( VALUE  arg  )  [static]

Definition at line 1672 of file variable.c.

References rb_feature_provided().

Referenced by check_autoload_required().

static VALUE autoload_require ( VALUE  arg  )  [static]

Definition at line 1762 of file variable.c.

References autoload_data_i::feature, rb_require_safe(), and autoload_data_i::safe_level.

Referenced by rb_autoload_load().

static VALUE check_autoload_required ( VALUE  mod,
ID  id,
const char **  loadingpath 
) [static]

Definition at line 1686 of file variable.c.

References autoload_data(), autoload_provided(), check_autoload_data, Check_Type, autoload_data_i::feature, rb_eArgError, rb_ensure(), rb_raise(), rb_safe_level, rb_set_safe_level_force(), reset_safe(), RSTRING_PTR, T_STRING, and VALUE.

Referenced by rb_autoload_load(), rb_autoload_p(), and rb_const_defined_0().

static void check_before_mod_set ( VALUE  klass,
ID  id,
VALUE  val,
const char *  dest 
) [static]

Definition at line 2154 of file variable.c.

References rb_check_frozen.

Referenced by rb_const_set(), and rb_cvar_set().

static VALUE classname ( VALUE  klass,
int *  permanent 
) [static]

Returns +classpath+ of _klass_, if it is named, or +nil+ for anonymous +class+/+module+.

The last part of named +classpath+ is never anonymous, but anonymous +class+/+module+ names may be contained. If the path is "permanent", that means it has no anonymous names, *permanent is set to 1.

Definition at line 157 of file variable.c.

References classid, classpath, find_class_path(), NIL_P, fc_result::path, Qnil, rb_bug(), rb_cObject, rb_id2str(), RB_TYPE_P, RCLASS_IV_TBL, st_data_t, st_lookup(), SYM2ID, T_STRING, tmp_classpath, and VALUE.

Referenced by rb_cmperr(), rb_mod_name(), and rb_tmp_class_path().

static VALUE const_missing ( VALUE  klass,
ID  id 
) [static]

Definition at line 1476 of file variable.c.

References ID2SYM, rb_funcall(), and rb_intern.

Referenced by rb_const_get_0().

static int cv_i ( st_data_t  k,
st_data_t  v,
st_data_t  a 
) [static]

Definition at line 2447 of file variable.c.

References key, rb_is_class_id(), ST_CONTINUE, st_data_t, st_insert(), and st_lookup().

Referenced by mod_cvar_at().

static int cv_list_i ( st_data_t  key,
st_data_t  value,
VALUE  ary 
) [static]

Definition at line 2486 of file variable.c.

References ID2SYM, rb_ary_push(), ST_CONTINUE, and sym.

Referenced by cvar_list().

static VALUE cvar_front_klass ( VALUE  klass  )  [static]

Definition at line 2324 of file variable.c.

References FL_SINGLETON, FL_TEST, rb_ivar_get(), RB_TYPE_P, RCLASS_SUPER, T_CLASS, T_MODULE, and VALUE.

static VALUE cvar_list ( void *  data  )  [static]

Definition at line 2494 of file variable.c.

References cv_list_i(), st_table::num_entries, rb_ary_new2, st_foreach_safe(), st_free_table(), and VALUE.

Referenced by rb_mod_class_variables().

static int cvar_lookup_at ( VALUE  klass,
ID  id,
st_data_t v 
) [static]

Definition at line 2317 of file variable.c.

References RCLASS_IV_TBL, st_data_t, and st_lookup().

static int fc_i ( st_data_t  k,
st_data_t  v,
st_data_t  a 
) [static]

Definition at line 75 of file variable.c.

References fc_path(), key, fc_result::klass, list, fc_result::name, fc_result::path, fc_result::preferred, fc_result::prev, rb_is_const_id(), RB_TYPE_P, RCLASS_CONST_TBL, ST_CONTINUE, st_data_t, st_foreach(), ST_STOP, T_CLASS, T_MODULE, fc_result::track, rb_const_entry_struct::value, and VALUE.

Referenced by find_class_path().

static VALUE fc_path ( struct fc_result fc,
ID  name 
) [static]

Definition at line 48 of file variable.c.

References classpath, fc_result::name, OBJ_FREEZE, fc_result::path, fc_result::prev, rb_cObject, rb_id2str(), rb_str_append(), rb_str_cat2(), rb_str_dup(), RCLASS_IV_TBL, st_data_t, st_lookup(), fc_result::track, and VALUE.

Referenced by fc_i().

static VALUE find_class_path ( VALUE  klass,
ID  preferred 
) [static]

Traverse constant namespace and find +classpath+ for _klass_.

If _preferred_ is not 0, choice the path whose base name is set to it. If +classpath+ is found, the hidden instance variable __classpath__ is set to the found path, and __tmp_classpath__ is removed. The path is frozen.

Definition at line 123 of file variable.c.

References classpath, fc_i(), fc_result::klass, fc_result::name, fc_result::path, fc_result::preferred, fc_result::prev, Qnil, rb_cObject, rb_st_insert_id_and_value(), RCLASS_CONST_TBL, RCLASS_IV_TBL, st_data_t, st_delete(), st_foreach_safe(), st_init_numtable(), tmp_classpath, and fc_result::track.

Referenced by classname().

static VALUE generic_ivar_defined ( VALUE  obj,
ID  id 
) [static]

Definition at line 958 of file variable.c.

References trace_var::data, generic_iv_tbl, Qfalse, Qtrue, st_data_t, and st_lookup().

Referenced by rb_ivar_defined().

static VALUE generic_ivar_get ( VALUE  obj,
ID  id,
VALUE  undef 
) [static]

Definition at line 918 of file variable.c.

References generic_iv_tbl, st_data_t, st_lookup(), val, and VALUE.

Referenced by rb_ivar_lookup().

static int generic_ivar_remove ( VALUE  obj,
ID  id,
st_data_t valp 
) [static]

Definition at line 973 of file variable.c.

References trace_var::data, generic_iv_tbl, key, st_table::num_entries, st_data_t, st_delete(), st_free_table(), and st_lookup().

Referenced by rb_obj_remove_instance_variable().

static void generic_ivar_set ( VALUE  obj,
ID  id,
VALUE  val 
) [static]

Definition at line 933 of file variable.c.

References trace_var::data, FL_ABLE, FL_EXIVAR, FL_SET, generic_iv_tbl, Qundef, rb_error_frozen(), rb_obj_frozen_p(), RB_OBJ_WRITTEN, rb_special_const_p(), st_add_direct(), st_data_t, st_init_numtable(), st_insert(), and st_lookup().

Referenced by rb_ivar_set().

static int givar_i ( st_data_t  k,
st_data_t  v,
st_data_t  a 
) [static]

Definition at line 1011 of file variable.c.

References givar_mark_i(), rb_special_const_p(), ST_CONTINUE, st_foreach_safe(), and VALUE.

Referenced by rb_mark_generic_ivar_tbl().

static int givar_mark_i ( st_data_t  k,
st_data_t  v,
st_data_t  a 
) [static]

Definition at line 1003 of file variable.c.

References rb_gc_mark(), ST_CONTINUE, and VALUE.

Referenced by givar_i().

static ID global_id ( const char *  name  )  [static]

Definition at line 569 of file variable.c.

References ALLOCA_N, buf, id, len, rb_intern, rb_intern2(), and strlen().

Referenced by rb_define_hooked_variable(), rb_gv_get(), and rb_gv_set().

static int gvar_i ( st_data_t  k,
st_data_t  v,
st_data_t  a 
) [static]

Definition at line 835 of file variable.c.

References ID2SYM, key, rb_ary_push(), ST_CONTINUE, and VALUE.

Referenced by rb_f_global_variables().

void Init_var_tables ( void   ) 

Definition at line 27 of file variable.c.

References autoload, classid, classpath, CONST_ID, rb_global_tbl, st_init_numtable(), and tmp_classpath.

static int ivar_i ( st_data_t  k,
st_data_t  v,
st_data_t  a 
) [static]

Definition at line 1342 of file variable.c.

References ID2SYM, key, rb_ary_push(), rb_is_instance_id(), ST_CONTINUE, and VALUE.

Referenced by rb_obj_instance_variables().

static int list_i ( st_data_t  key,
st_data_t  value,
VALUE  ary 
) [static]

Definition at line 2030 of file variable.c.

References CONST_PRIVATE, rb_const_entry_struct::flag, ID2SYM, rb_ary_push(), ST_CONTINUE, and sym.

Referenced by rb_const_list().

static int mark_global_entry ( st_data_t  k,
st_data_t  v,
st_data_t  a 
) [static]

Definition at line 546 of file variable.c.

References trace_var::data, global_variable::data, global_entry, global_variable::marker, trace_var::next, rb_gc_mark_maybe(), ST_CONTINUE, and global_variable::trace.

Referenced by rb_gc_mark_global_tbl().

static void* mod_cvar_at ( VALUE  mod,
void *  data 
) [static]

Definition at line 2461 of file variable.c.

References cv_i(), RCLASS_IV_TBL, st_data_t, st_foreach_safe(), and st_init_numtable().

Referenced by mod_cvar_of(), and rb_mod_class_variables().

static void* mod_cvar_of ( VALUE  mod,
void *  data 
) [static]

Definition at line 2474 of file variable.c.

References mod_cvar_at(), RCLASS_SUPER, and VALUE.

Referenced by rb_mod_class_variables().

NORETURN ( static void   uninitialized_constant(VALUE, ID)  ) 

static VALUE null_cache ( VALUE  obj,
ID  id,
VALUE  val 
) [static]

Definition at line 266 of file variable.c.

References Qnil.

Referenced by rb_class_path_no_cache().

static void obj_ivar_each ( VALUE  obj,
int(*)(ANYARGS)  func,
st_data_t  arg 
) [static]

Definition at line 1257 of file variable.c.

References obj_ivar_tag::arg, obj_ivar_tag::func, key, obj_ivar_tag::obj, obj_ivar_i(), ROBJECT_IV_INDEX_TBL, st_data_t, st_foreach_safe(), val, and VALUE.

Referenced by rb_ivar_foreach().

static int obj_ivar_i ( st_data_t  key,
st_data_t  index,
st_data_t  arg 
) [static]

Definition at line 1244 of file variable.c.

References obj_ivar_tag::arg, obj_ivar_tag::func, obj_ivar_tag::obj, Qundef, ROBJECT_IVPTR, ROBJECT_NUMIV, ST_CONTINUE, val, and VALUE.

Referenced by obj_ivar_each().

static VALUE original_module ( VALUE  c  )  [static]

Definition at line 2309 of file variable.c.

References RB_TYPE_P, RBASIC, and T_ICLASS.

Referenced by rb_cvar_get(), and rb_cvar_set().

void rb_alias_variable ( ID  name1,
ID  name2 
)

Definition at line 869 of file variable.c.

References ALLOC, global_variable::block_trace, global_variable::counter, global_entry, trace_var::next, rb_eRuntimeError, rb_global_entry(), rb_global_tbl, rb_raise(), st_add_direct(), st_data_t, st_lookup(), global_variable::trace, and xfree.

Referenced by Init_load(), and m_core_set_variable_alias().

VALUE rb_attr_get ( VALUE  obj,
ID  id 
)

Definition at line 1127 of file variable.c.

References Qnil, and rb_ivar_lookup().

Referenced by append_method(), ecerr_destination_encoding(), ecerr_destination_encoding_name(), ecerr_error_bytes(), ecerr_error_char(), ecerr_incomplete_input(), ecerr_readagain_bytes(), ecerr_source_encoding(), ecerr_source_encoding_name(), eval_string_with_cref(), exc_backtrace(), exc_backtrace_locations(), exc_cause(), exc_equal(), exc_setup_cause(), exc_to_s(), exit_status(), exit_success_p(), gzfile_error_inspect(), ignore_closed_stream(), inspect_enumerator(), ip_set_exc_message(), lazy_drop_func(), lazy_drop_while_func(), lazy_take_func(), lazy_zip_arrays_func(), lazy_zip_func(), lib_fromUTF8_core(), lib_toUTF8_core(), name_err_name(), nometh_err_args(), ossl_asn1_get_asn1type(), private_iv_get(), pst_pid(), rb_mod_refine(), rb_mod_to_s(), rb_refinement_module_get_refined_class(), readline_attempted_completion_function(), readline_s_get_completion_case_fold(), readline_s_get_completion_proc(), reg_compile_gen(), slicebefore_i(), sockopt_data(), sockopt_family_m(), sockopt_level(), sockopt_optname(), stop_result(), syserr_eqq(), syserr_errno(), using_module_recursive(), vm_call0_body(), and vm_getivar().

void rb_autoload ( VALUE  mod,
ID  id,
const char *  file 
)

Definition at line 1607 of file variable.c.

References ALLOC, autoload, autoload_data_i_type, autoload_data_type, check_autoload_table, DATA_PTR, autoload_data_i::feature, FL_TAINT, FL_UNSET, OBJ_FREEZE, PRIsVALUE, Qnil, Qundef, QUOTE_ID, rb_const_set(), rb_eArgError, rb_eNameError, rb_is_const_id(), RB_OBJ_WRITTEN, rb_raise(), rb_safe_level, rb_str_new2, RCLASS_CONST_TBL, RCLASS_IV_TBL, autoload_data_i::safe_level, st_add_direct(), st_data_t, st_init_numtable(), st_insert(), st_lookup(), autoload_data_i::thread, TypedData_Wrap_Struct, autoload_data_i::value, and VALUE.

Referenced by rb_dl_init_callbacks(), and rb_mod_autoload().

VALUE rb_autoload_load ( VALUE  mod,
ID  id 
)

Definition at line 1769 of file variable.c.

References args, autoload_const_set(), autoload_defined_p(), autoload_require(), check_autoload_data, check_autoload_required(), Qfalse, Qnil, Qundef, rb_ensure(), RB_GC_GUARD, rb_jump_tag(), rb_protect(), rb_safe_level, rb_set_safe_level_force(), rb_sourcefile, rb_thread_current(), reset_safe(), result, RTEST, autoload_data_i::thread, and VALUE.

Referenced by rb_const_get_0(), and vm_get_ev_const().

VALUE rb_autoload_p ( VALUE  mod,
ID  id 
)

Definition at line 1814 of file variable.c.

References autoload_defined_p(), check_autoload_data, check_autoload_required(), autoload_data_i::feature, Qnil, RCLASS_SUPER, and VALUE.

Referenced by rb_mod_autoload_p().

int rb_autoloading_value ( VALUE  mod,
ID  id,
VALUE *  value 
)

Definition at line 1715 of file variable.c.

References autoload_data(), check_autoload_data, Qundef, rb_thread_current(), autoload_data_i::thread, VALUE, and autoload_data_i::value.

Referenced by autoload_defined_p(), rb_const_defined_0(), rb_const_get_0(), and vm_get_ev_const().

const char* rb_class2name ( VALUE  klass  ) 

Definition at line 397 of file variable.c.

References NIL_P, NULL, fc_result::path, rb_class_real(), rb_ivar_set(), rb_tmp_class_path(), RSTRING_PTR, and VALUE.

Referenced by dump_object(), mSyslog_inspect(), ossl_x509_inspect(), pst_inspect(), r_object0(), rb_clear_method_cache_by_class(), rb_define_class_id_under(), rb_define_module_id_under(), rb_io_s_new(), rb_mod_remove_method(), rb_obj_alloc(), rb_obj_classname(), rb_profile_frame_classpath(), rb_thread_current_status(), remove_method(), and thread_s_new().

VALUE rb_class_name ( VALUE  klass  ) 

Definition at line 391 of file variable.c.

References rb_class_path(), and rb_class_real().

Referenced by cannot_be_coerced_into_BigDecimal(), dir_inspect(), error_print(), exc_inspect(), exc_to_s(), inspect_struct(), method_inspect(), mnew_from_me(), mString_to_json_raw_object(), name_err_mesg_to_str(), r_object0(), rb_any_to_s(), rb_const_get_0(), rb_const_remove(), rb_const_set(), rb_cvar_get(), rb_cvar_set(), rb_io_inspect(), rb_method_entry_make(), rb_method_name_error(), rb_mod_cvar_get(), rb_mod_define_method(), rb_mod_freeze(), rb_mod_remove_const(), rb_mod_remove_cvar(), rb_mod_to_s(), rb_obj_inspect(), rb_print_undef(), rb_print_undef_str(), rb_undef(), rb_vm_bugreport(), set_const_visibility(), umethod_bind(), uninitialized_constant(), w_extended(), and wmap_inspect().

VALUE rb_class_path ( VALUE  klass  ) 

Definition at line 257 of file variable.c.

References NIL_P, fc_result::path, rb_ivar_set(), rb_str_dup(), rb_tmp_class_path(), and VALUE.

Referenced by class2path(), inspect_enumerator(), ossl_cipher_init(), rb_class_name(), and rb_profile_frame_classpath().

VALUE rb_class_path_cached ( VALUE  klass  ) 

Definition at line 281 of file variable.c.

References classpath, Qnil, RCLASS_IV_TBL, st_data_t, st_lookup(), tmp_classpath, and VALUE.

Referenced by newobj_i().

VALUE rb_class_path_no_cache ( VALUE  klass  ) 

Definition at line 272 of file variable.c.

References NIL_P, null_cache(), fc_result::path, rb_str_dup(), rb_tmp_class_path(), and VALUE.

int rb_const_defined ( VALUE  klass,
ID  id 
)

Definition at line 2124 of file variable.c.

References FALSE, rb_const_defined_0(), and TRUE.

Referenced by console_dev(), Init_cparse(), Init_strscan(), rb_define_class(), rb_define_module(), rb_mod_const_defined(), and vm_get_ev_const().

static int rb_const_defined_0 ( VALUE  klass,
ID  id,
int  exclude,
int  recurse,
int  visibility 
) [static]

Definition at line 2088 of file variable.c.

References BUILTIN_TYPE, check_autoload_required(), CONST_PRIVATE, rb_const_entry_struct::flag, Qfalse, Qtrue, Qundef, rb_autoloading_value(), rb_cObject, RCLASS_CONST_TBL, RCLASS_SUPER, st_data_t, st_lookup(), T_MODULE, rb_const_entry_struct::value, VALUE, and autoload_data_i::value.

Referenced by rb_const_defined(), rb_const_defined_at(), rb_const_defined_from(), rb_public_const_defined(), rb_public_const_defined_at(), and rb_public_const_defined_from().

int rb_const_defined_at ( VALUE  klass,
ID  id 
)

Definition at line 2130 of file variable.c.

References FALSE, rb_const_defined_0(), and TRUE.

Referenced by debug_lines(), new_struct(), rb_const_remove(), rb_define_class_id_under(), rb_define_module_id_under(), rb_mod_const_defined(), rb_path_to_class(), and vm_search_const_defined_class().

int rb_const_defined_from ( VALUE  klass,
ID  id 
)

Definition at line 2118 of file variable.c.

References FALSE, rb_const_defined_0(), and TRUE.

VALUE rb_const_get ( VALUE  klass,
ID  id 
)

Definition at line 1880 of file variable.c.

References FALSE, rb_const_get_0(), and TRUE.

Referenced by callback(), cbsubst_def_attr_aliases(), cbsubst_get_all_subst_keys(), cbsubst_get_subst_arg(), cbsubst_get_subst_key(), cbsubst_initialize(), cbsubst_scan_args(), cbsubst_sym_to_subst(), console_dev(), cState_from_state_s(), float_arg(), function_call(), generic_to_value(), Init_cparse(), Init_generator(), Init_objspace(), Init_parser(), Init_psych_parser(), Init_tcltklib(), Init_tkutil(), ip_ruby_cmd_receiver_const_get(), make_no_method_exception(), numeric_arg(), process_options(), rb_define_class(), rb_define_module(), rb_execarg_fixup(), rb_mod_const_defined(), rb_mod_const_get(), save_env(), set_argv(), syserr_eqq(), syserr_initialize(), vm_get_ev_const(), and vm_set_main_stack().

static VALUE rb_const_get_0 ( VALUE  klass,
ID  id,
int  exclude,
int  recurse,
int  visibility 
) [static]

Definition at line 1829 of file variable.c.

References BUILTIN_TYPE, const_missing(), CONST_PRIVATE, rb_const_entry_struct::flag, PRIsVALUE, Qundef, QUOTE_ID, rb_autoload_load(), rb_autoloading_value(), rb_class_name(), rb_cObject, rb_name_error(), rb_vm_inc_const_missing_count(), rb_warn(), RCLASS_CONST_TBL, RCLASS_SUPER, RTEST, st_data_t, st_lookup(), T_MODULE, rb_const_entry_struct::value, autoload_data_i::value, and VALUE.

Referenced by rb_const_get(), rb_const_get_at(), rb_const_get_from(), rb_public_const_get(), rb_public_const_get_at(), and rb_public_const_get_from().

VALUE rb_const_get_at ( VALUE  klass,
ID  id 
)

Definition at line 1886 of file variable.c.

References FALSE, rb_const_get_0(), and TRUE.

Referenced by debug_lines(), Init_cparse(), mark(), path_unlink(), rb_define_class_id_under(), rb_define_module_id_under(), rb_mod_const_defined(), rb_mod_const_get(), and rb_path_to_class().

VALUE rb_const_get_from ( VALUE  klass,
ID  id 
)

Definition at line 1874 of file variable.c.

References FALSE, rb_const_get_0(), and TRUE.

VALUE rb_const_list ( void *  data  ) 

Definition at line 2039 of file variable.c.

References list_i(), st_table::num_entries, rb_ary_new2, st_foreach_safe(), st_free_table(), and VALUE.

Referenced by rb_mod_constants(), and rb_mod_s_constants().

VALUE rb_const_remove ( VALUE  mod,
ID  id 
)

Definition at line 1942 of file variable.c.

References autoload_delete(), PRIsVALUE, Qnil, Qundef, QUOTE_ID, rb_check_frozen, rb_class_name(), rb_clear_constant_cache(), rb_const_defined_at(), rb_name_error(), RCLASS_CONST_TBL, st_data_t, st_delete(), val, VALUE, and xfree.

Referenced by rb_mod_remove_const(), and ruby_init_prelude().

void rb_const_set ( VALUE  klass,
ID  id,
VALUE  val 
)

Definition at line 2160 of file variable.c.

References ALLOC, autoload_data(), autoload_delete(), check_autoload_data, check_before_mod_set(), CONST_PUBLIC, rb_const_entry_struct::file, rb_const_entry_struct::flag, rb_const_entry_struct::line, MEMZERO, NIL_P, PRIsVALUE, Qundef, QUOTE_ID, rb_class_name(), rb_clear_constant_cache(), rb_cObject, rb_compile_warn(), rb_eTypeError, RB_OBJ_WRITE, rb_raise(), rb_sourcefilename(), rb_sourceline(), rb_thread_current(), rb_warn(), RCLASS_CONST_TBL, RSTRING_PTR, st_data_t, st_delete(), st_init_numtable(), st_insert(), st_lookup(), autoload_data_i::thread, VALUE, rb_const_entry_struct::value, autoload_data_i::value, and xfree.

Referenced by autoload_const_set(), boot_defclass(), cbsubst_init(), cbsubst_table_setup(), console_dev(), Init_class_hierarchy(), Init_strscan(), rb_autoload(), rb_define_class(), rb_define_class_id_under(), rb_define_const(), rb_define_module(), rb_define_module_id_under(), rb_mod_const_set(), and ruby_init_loadpath_safe().

void rb_copy_generic_ivar ( VALUE  clone,
VALUE  obj 
)

Definition at line 1049 of file variable.c.

References trace_var::data, FL_EXIVAR, FL_SET, FL_TEST, FL_UNSET, generic_iv_tbl, st_table::num_entries, rb_free_generic_ivar(), st_add_direct(), st_copy(), st_data_t, st_free_table(), st_insert(), and st_lookup().

Referenced by init_copy(), nucomp_marshal_dump(), nurat_marshal_dump(), rb_hash_dup_empty(), time_mdump(), and time_mload().

VALUE rb_cv_get ( VALUE  klass,
const char *  name 
)

Definition at line 2426 of file variable.c.

References rb_cvar_get(), rb_intern, rb_is_class_id(), and rb_name_error().

void rb_cv_set ( VALUE  klass,
const char *  name,
VALUE  val 
)

Definition at line 2416 of file variable.c.

References rb_cvar_set(), rb_intern, rb_is_class_id(), and rb_name_error().

VALUE rb_cvar_defined ( VALUE  klass,
ID  id 
)

Definition at line 2408 of file variable.c.

References CVAR_LOOKUP, Qfalse, and Qtrue.

Referenced by rb_mod_cvar_defined(), and rb_mod_remove_cvar().

VALUE rb_cvar_get ( VALUE  klass,
ID  id 
)

Definition at line 2381 of file variable.c.

References BUILTIN_TYPE, CVAR_LOOKUP, original_module(), PRIsVALUE, QUOTE_ID, rb_class_name(), rb_name_error(), rb_warning(), RCLASS_IV_TBL, RTEST, ruby_verbose, st_data_t, st_delete(), T_CLASS, autoload_data_i::value, and VALUE.

Referenced by rb_cv_get(), and rb_mod_cvar_get().

void rb_cvar_set ( VALUE  klass,
ID  id,
VALUE  val 
)

Definition at line 2348 of file variable.c.

References BUILTIN_TYPE, check_before_mod_set(), CVAR_LOOKUP, original_module(), PRIsVALUE, QUOTE_ID, rb_class_name(), rb_st_insert_id_and_value(), rb_warning(), RCLASS_IV_TBL, RTEST, ruby_verbose, st_data_t, st_delete(), st_init_numtable(), T_CLASS, and VALUE.

Referenced by rb_cv_set(), rb_define_class_variable(), and rb_mod_cvar_set().

void rb_define_class_variable ( VALUE  klass,
const char *  name,
VALUE  val 
)

Definition at line 2436 of file variable.c.

References rb_cvar_set(), rb_intern, rb_is_class_id(), and rb_name_error().

void rb_define_const ( VALUE  klass,
const char *  name,
VALUE  val 
)

Definition at line 2225 of file variable.c.

References rb_const_set(), rb_intern, rb_is_const_id(), and rb_warn().

Referenced by exp1(), Init_bigdecimal(), Init_Bignum(), Init_Complex(), init_constants(), Init_cparse(), Init_dbm(), Init_dl(), Init_dlhandle(), Init_dlptr(), Init_etc(), Init_fcntl(), Init_fiddle(), Init_fiddle_function(), Init_fiddle_handle(), Init_fiddle_pointer(), Init_File(), Init_GC(), Init_gdbm(), Init_IO(), Init_marshal(), Init_nkf(), Init_Numeric(), Init_openssl(), Init_ossl_asn1(), Init_ossl_config(), Init_ossl_pkcs7(), Init_ossl_ssl(), Init_ossl_x509name(), Init_process(), Init_psych_parser(), Init_Random(), Init_readline(), Init_Regexp(), Init_sizeof(), Init_tcltklib(), Init_Thread(), Init_tkutil(), Init_transcode(), Init_VM(), Init_win32ole(), Init_zlib(), ole_const_load(), rb_define_global_const(), rb_file_const(), ripper_init_eventids1_table(), ripper_init_eventids2_table(), set_encoding_const(), and set_syserr().

void rb_define_global_const ( const char *  name,
VALUE  val 
)

Definition at line 2236 of file variable.c.

References rb_cObject, and rb_define_const().

Referenced by Init_Hash(), Init_IO(), Init_Object(), Init_version(), Init_VM(), load_file_internal(), and ruby_prog_init().

void rb_define_hooked_variable ( const char *  name,
VALUE *  var,
VALUE(*)(ANYARGS)  getter,
void(*)(ANYARGS)  setter 
)

Definition at line 585 of file variable.c.

References global_variable::data, global_variable::getter, global_id(), gvar_getter_t, gvar_setter_t, global_variable::marker, Qnil, RB_GC_GUARD, rb_global_entry(), global_variable::setter, VALUE, rb_global_entry::var, var_getter, var_marker, and var_setter.

Referenced by Init_IO(), Init_load(), rb_define_readonly_variable(), rb_define_variable(), rb_define_virtual_variable(), and ruby_prog_init().

void rb_define_readonly_variable ( const char *  name,
VALUE *  var 
)

Definition at line 610 of file variable.c.

References rb_define_hooked_variable(), and readonly_setter.

Referenced by Init_IO().

void rb_define_variable ( const char *  name,
VALUE *  var 
)

Definition at line 604 of file variable.c.

References rb_define_hooked_variable().

Referenced by Init_IO(), Init_String(), and ruby_prog_init().

void rb_define_virtual_variable ( const char *  name,
VALUE(*)(ANYARGS)  getter,
void(*)(ANYARGS)  setter 
)

Definition at line 616 of file variable.c.

References rb_define_hooked_variable(), readonly_setter, and val_getter.

Referenced by Init_eval(), Init_IO(), Init_load(), Init_process(), Init_Regexp(), Init_safe(), and Init_Time().

VALUE rb_f_global_variables ( void   ) 

Definition at line 853 of file variable.c.

References buf, gvar_i(), ID2SYM, rb_ary_new(), rb_ary_push(), rb_global_tbl, rb_intern2(), st_foreach_safe(), and VALUE.

Referenced by Init_eval().

VALUE rb_f_trace_var ( int  argc,
VALUE *  argv 
)

Definition at line 656 of file variable.c.

References ALLOC, trace_var::data, trace_var::func, global_entry, trace_var::next, NIL_P, OBJ_TAINTED, Qnil, rb_block_proc(), rb_eSecurityError, rb_f_untrace_var(), rb_global_entry(), rb_raise(), rb_scan_args(), rb_to_id(), rb_trace_eval(), trace_var::removed, and VALUE.

Referenced by Init_eval().

VALUE rb_f_untrace_var ( int  argc,
VALUE *  argv 
)

Definition at line 715 of file variable.c.

References trace_var::data, global_entry, id, trace_var::next, NIL_P, PRIsVALUE, Qnil, QUOTE, QUOTE_ID, rb_ary_new(), rb_ary_new3, rb_ary_push(), rb_check_id(), rb_global_tbl, rb_name_error(), rb_name_error_str(), rb_scan_args(), remove_trace(), trace_var::removed, st_data_t, st_lookup(), and VALUE.

Referenced by Init_eval(), and rb_f_trace_var().

void rb_free_generic_ivar ( VALUE  obj  ) 

Definition at line 1030 of file variable.c.

References generic_iv_tbl, key, st_data_t, st_delete(), and st_free_table().

Referenced by obj_free(), and rb_copy_generic_ivar().

void rb_gc_mark_global_tbl ( void   ) 

Definition at line 562 of file variable.c.

References mark_global_entry(), rb_global_tbl, and st_foreach_safe().

Referenced by gc_mark_roots().

RUBY_FUNC_EXPORTED size_t rb_generic_ivar_memsize ( VALUE  obj  ) 

Definition at line 1040 of file variable.c.

References generic_iv_tbl, st_data_t, st_lookup(), and st_memsize().

Referenced by obj_memsize_of().

st_table* rb_generic_ivar_table ( VALUE  obj  ) 

Definition at line 907 of file variable.c.

References FL_EXIVAR, FL_TEST, generic_iv_tbl, st_data_t, and st_lookup().

struct global_entry* rb_global_entry ( ID  id  ) 

Definition at line 450 of file variable.c.

References ALLOC, global_variable::block_trace, global_variable::counter, global_variable::data, global_variable::getter, global_entry, global_variable::marker, rb_global_tbl, global_variable::setter, st_add_direct(), st_data_t, st_lookup(), global_variable::trace, undef_getter, undef_marker, and undef_setter.

Referenced by iseq_build_from_ary_body(), rb_alias_variable(), rb_define_hooked_variable(), rb_f_trace_var(), rb_gv_get(), and rb_gv_set().

VALUE rb_gv_get ( const char *  name  ) 

Definition at line 819 of file variable.c.

References global_entry, global_id(), rb_global_entry(), and rb_gvar_get().

Referenced by ip_ruby_cmd_receiver_get(), load_file(), and mSyslog_open().

VALUE rb_gv_set ( const char *  name,
VALUE  val 
)

Definition at line 810 of file variable.c.

References global_entry, global_id(), rb_global_entry(), and rb_gvar_set().

Referenced by process_sflag(), and restore_lineno().

VALUE rb_gvar_defined ( struct global_entry *  entry  ) 

Definition at line 828 of file variable.c.

References Qfalse, Qtrue, and undef_getter.

VALUE rb_gvar_get ( struct global_entry *  entry  ) 

Definition at line 760 of file variable.c.

References global_variable::data, and global_variable::getter.

VALUE rb_gvar_set ( struct global_entry *  entry,
VALUE  val 
)

Definition at line 793 of file variable.c.

References global_variable::block_trace, global_variable::data, rb_ensure(), global_variable::setter, global_variable::trace, trace_data::trace, trace_en(), trace_ev(), and VALUE.

VALUE rb_iv_get ( VALUE  obj,
const char *  name 
)

Definition at line 2601 of file variable.c.

References rb_intern, and rb_ivar_get().

Referenced by callback(), esignal_signo(), function_call(), localjump_reason(), localjump_xvalue(), ossl_call_session_get_cb(), ossl_call_session_new_cb(), ossl_call_session_remove_cb(), ossl_ssl_setup(), ossl_sslctx_setup(), ossl_x509extfactory_create_ext(), ossl_x509stctx_initialize(), ossl_x509stctx_verify(), ossl_x509store_verify(), parse(), pst_to_i(), ruby_cleanup(), set_state_ivars(), ssl_renegotiation_cb(), and sysexit_status().

VALUE rb_iv_set ( VALUE  obj,
const char *  name,
VALUE  val 
)

Definition at line 2609 of file variable.c.

References rb_intern, and rb_ivar_set().

Referenced by argument_error(), build_exception(), esignal_init(), exc_initialize(), exc_set_backtrace(), exit_initialize(), Init_VM(), initialize(), initialize_params(), ip_RubyExitCommand(), make_localjump_error(), name_err_initialize(), nometh_err_initialize(), ossl_ssl_initialize(), ossl_sslctx_initialize(), ossl_x509extfactory_alloc(), ossl_x509extfactory_set_crl(), ossl_x509extfactory_set_issuer_cert(), ossl_x509extfactory_set_subject_cert(), ossl_x509extfactory_set_subject_req(), ossl_x509stctx_initialize(), ossl_x509store_initialize(), ossl_x509store_set_flags(), ossl_x509store_set_purpose(), ossl_x509store_set_time(), ossl_x509store_set_trust(), ossl_x509store_set_vfy_cb(), ossl_x509store_verify(), parse_keyword_arg_i(), raise_from_check(), rb_last_status_set(), setup_exception(), and syserr_initialize().

st_index_t rb_ivar_count ( VALUE  obj  ) 

Definition at line 1302 of file variable.c.

References BUILTIN_TYPE, count, FL_EXIVAR, FL_TEST, generic_iv_tbl, st_table::num_entries, Qundef, rb_special_const_p(), RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, ROBJECT_IVPTR, SPECIAL_CONST_P, st_data_t, st_lookup(), T_CLASS, T_MODULE, T_OBJECT, and VALUE.

Referenced by rb_obj_inspect().

VALUE rb_ivar_defined ( VALUE  obj,
ID  id 
)

Definition at line 1207 of file variable.c.

References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, generic_ivar_defined(), Qfalse, Qtrue, Qundef, rb_special_const_p(), RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, ROBJECT_IVPTR, ROBJECT_NUMIV, SPECIAL_CONST_P, st_data_t, st_lookup(), T_CLASS, T_MODULE, T_OBJECT, val, and VALUE.

Referenced by copy_ivar_i(), get_digest_base_metadata(), rb_obj_ivar_defined(), and struct_ivar_get().

void rb_ivar_foreach ( VALUE  obj,
int(*)(ANYARGS)  func,
st_data_t  arg 
)

Definition at line 1274 of file variable.c.

References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, generic_iv_tbl, obj_ivar_each(), rb_special_const_p(), RCLASS_IV_TBL, SPECIAL_CONST_P, st_data_t, st_foreach_safe(), st_lookup(), T_CLASS, T_MODULE, and T_OBJECT.

Referenced by inspect_obj(), r_copy_ivar(), rb_obj_instance_variables(), and w_objivar().

VALUE rb_ivar_get ( VALUE  obj,
ID  id 
)

Definition at line 1115 of file variable.c.

References PRIsVALUE, Qnil, Qundef, QUOTE_ID, rb_ivar_lookup(), rb_warning(), and VALUE.

Referenced by add_event_call_back(), ary2list(), ary2list2(), call_trace_func(), chunk_i(), cState_aref(), cvar_front_klass(), echild_status(), encoding_table_get_name_core(), EVENTSINK_Invoke(), fev_get_handler(), fev_off_event(), fole_s_show_help(), folemethod_event(), folemethod_name(), foleparam_name(), foletype_name(), folevariable_name(), get_digest_base_metadata(), get_strpath(), initialize_params(), ip_get_encoding_table(), lazy_drop_size(), lazy_size(), lazy_take_size(), lib_split_tklist_core(), method_inspect(), nucomp_loader(), nurat_loader(), ossl_start_ssl(), range_loader(), rb_enc_get_index(), rb_inflate_add_dictionary(), rb_iv_get(), rb_method_name_error(), rb_mod_to_s(), rb_obj_ivar_get(), rb_profile_frame_classpath(), rb_singleton_class_get(), rb_thread_variable_get(), rb_thread_variable_p(), rb_thread_variable_set(), rb_thread_variables(), rb_undef(), reduce(), singleton_class_of(), slicebefore_i(), struct_ivar_get(), tcl_protect_core(), tkobj_path(), vm_getivar(), and zstream_run().

static VALUE rb_ivar_lookup ( VALUE  obj,
ID  id,
VALUE  undef 
) [static]

Definition at line 1080 of file variable.c.

References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, generic_ivar_get(), len, Qundef, rb_special_const_p(), RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, ROBJECT_IVPTR, ROBJECT_NUMIV, SPECIAL_CONST_P, st_data_t, st_lookup(), T_CLASS, T_MODULE, T_OBJECT, val, and VALUE.

Referenced by rb_attr_get(), and rb_ivar_get().

VALUE rb_ivar_set ( VALUE  obj,
ID  id,
VALUE  val 
)

Definition at line 1133 of file variable.c.

References ALLOC_N, st_table::as, BUILTIN_TYPE, generic_ivar_set(), len, MEMCPY, st_table::num_entries, Qundef, rb_check_frozen, rb_obj_class(), RB_OBJ_WRITE, rb_st_insert_id_and_value(), RBASIC, RCLASS_IV_INDEX_TBL, RCLASS_IV_TBL, REALLOC_N, ROBJECT, ROBJECT_EMBED, ROBJECT_EMBED_LEN_MAX, ROBJECT_IV_INDEX_TBL, ROBJECT_IVPTR, ROBJECT_NUMIV, SPECIAL_CONST_P, st_add_direct(), st_data_t, st_init_numtable(), st_lookup(), T_CLASS, T_MODULE, T_OBJECT, and VALUE.

Referenced by add_event_call_back(), ary2list(), ary2list2(), cbsubst_initialize(), copy_ivar_i(), create_encoding_table_core(), create_ip_exc(), cState_aset(), enc_set_index(), enum_chunk(), enum_slice_before(), enumerable_lazy(), eval_string_with_cref(), exc_setup_cause(), fev_initialize(), fev_set_handler(), gzfile_raise(), Init_md5(), Init_rmd160(), Init_sha1(), initialize_params(), int_ossl_asn1_decode0_prim(), lazy_drop_func(), lazy_drop_while_func(), lazy_initialize(), lazy_set_method(), lazy_take_func(), lazy_zip_arrays_func(), lazy_zip_func(), lib_fromUTF8_core(), lib_split_tklist_core(), lib_toUTF8_core(), lib_UTF_backslash_core(), make_econv_exception(), next_i(), nucomp_marshal_load(), nurat_marshal_load(), ole_method_params(), ole_variables(), olemethod_set_member(), oleparam_ole_param_from_index(), oletype_set_member(), ossl_sslctx_session_get_cb(), ossl_sslctx_session_new_cb(), ossl_start_ssl(), parse_main(), pipe_open(), r_ivar(), raise_loaderror(), range_dumper(), rb_class2name(), rb_class_path(), rb_inflate_s_allocate(), rb_io_init_copy(), rb_iv_set(), rb_mod_refine(), rb_name_class(), rb_obj_ivar_set(), rb_set_class_path(), rb_set_class_path_string(), readline_s_set_completion_case_fold(), readline_s_set_completion_proc(), ruby_init_loadpath_safe(), ruby_thread_init(), set_strpath(), setup_struct(), sockopt_initialize(), struct_define_without_accessor(), time_mdump(), time_mload(), vm_call0_body(), and vm_setivar().

static VALUE rb_local_constants ( VALUE  mod  )  [static]

Definition at line 1991 of file variable.c.

References st_table::num_entries, rb_ary_new2, rb_local_constants_i(), RCLASS_CONST_TBL, st_foreach(), and VALUE.

Referenced by rb_mod_constants().

static int rb_local_constants_i ( st_data_t  const_name,
st_data_t  const_value,
st_data_t  ary 
) [static]

Definition at line 1984 of file variable.c.

References ID2SYM, rb_ary_push(), ST_CONTINUE, and VALUE.

Referenced by rb_local_constants().

void rb_mark_generic_ivar ( VALUE  obj  ) 

Definition at line 992 of file variable.c.

References generic_iv_tbl, rb_mark_tbl(), st_data_t, and st_lookup().

Referenced by gc_mark_children().

void rb_mark_generic_ivar_tbl ( void   ) 

Definition at line 1022 of file variable.c.

References generic_iv_tbl, givar_i(), and st_foreach_safe().

Referenced by gc_mark_roots().

VALUE rb_mod_class_variables ( int  argc,
VALUE *  argv,
VALUE  mod 
)

Definition at line 2528 of file variable.c.

References cvar_list(), mod_cvar_at(), mod_cvar_of(), Qtrue, rb_scan_args(), RTEST, and VALUE.

Referenced by Init_Object().

void* rb_mod_const_at ( VALUE  mod,
void *  data 
)

Definition at line 2004 of file variable.c.

References RCLASS_CONST_TBL, st_data_t, st_foreach_safe(), st_init_numtable(), and sv_i().

Referenced by rb_mod_const_of(), and rb_mod_s_constants().

VALUE rb_mod_const_missing ( VALUE  klass,
VALUE  name 
)

Definition at line 1519 of file variable.c.

References rb_to_id(), rb_vm_pop_cfunc_frame(), uninitialized_constant(), and UNREACHABLE.

Referenced by Init_Object().

void* rb_mod_const_of ( VALUE  mod,
void *  data 
)

Definition at line 2017 of file variable.c.

References rb_cObject, rb_mod_const_at(), RCLASS_SUPER, and VALUE.

Referenced by rb_mod_constants(), and rb_mod_s_constants().

VALUE rb_mod_constants ( int  argc,
VALUE *  argv,
VALUE  mod 
)

Definition at line 2068 of file variable.c.

References Qtrue, rb_const_list(), rb_local_constants(), rb_mod_const_of(), rb_scan_args(), RTEST, and VALUE.

Referenced by Init_Object(), and rb_mod_s_constants().

VALUE rb_mod_name ( VALUE  mod  ) 

Definition at line 206 of file variable.c.

References classname(), NIL_P, fc_result::path, rb_str_dup(), and VALUE.

Referenced by Init_Object().

VALUE rb_mod_private_constant ( int  argc,
VALUE *  argv,
VALUE  obj 
)

Definition at line 2288 of file variable.c.

References CONST_PRIVATE, and set_const_visibility().

Referenced by Init_Object().

VALUE rb_mod_public_constant ( int  argc,
VALUE *  argv,
VALUE  obj 
)

Definition at line 2302 of file variable.c.

References CONST_PUBLIC, and set_const_visibility().

Referenced by Init_Object().

VALUE rb_mod_remove_const ( VALUE  mod,
VALUE  name 
)

Definition at line 1920 of file variable.c.

References PRIsVALUE, QUOTE, QUOTE_ID, rb_check_id(), rb_class_name(), rb_const_remove(), rb_is_const_id(), rb_is_const_name(), rb_name_error(), and rb_name_error_str().

Referenced by console_dev(), Init_Object(), and new_struct().

VALUE rb_mod_remove_cvar ( VALUE  mod,
VALUE  name 
)

Definition at line 2569 of file variable.c.

References PRIsVALUE, QUOTE, QUOTE_ID, rb_check_frozen, rb_check_id(), rb_class_name(), rb_cvar_defined(), rb_is_class_id(), rb_is_class_name(), rb_name_error(), rb_name_error_str(), RCLASS_IV_TBL, st_data_t, st_delete(), UNREACHABLE, val, and VALUE.

Referenced by Init_Object().

void rb_name_class ( VALUE  klass,
ID  id 
)

Definition at line 385 of file variable.c.

References classid, ID2SYM, and rb_ivar_set().

Referenced by boot_defclass(), rb_define_class(), and rb_define_module_id().

const char* rb_obj_classname ( VALUE  obj  ) 

Definition at line 406 of file variable.c.

References CLASS_OF, and rb_class2name().

Referenced by addrinfo_inspect(), BigDecimal_power(), check_type_val2variant(), convert_type(), divmodv(), econv_inspect(), enum_zip(), generator_initialize(), GetVpValueWithPrec(), init_copy(), iseq_inspect(), lazy_zip(), match_inspect(), method_inspect(), must_respond_to(), nucomp_coerce(), num_exact(), num_init_copy(), num_sadded(), nurat_coerce(), path_inspect(), proc_to_s(), range_bsearch(), range_each(), range_step(), rb_ary_bsearch(), rb_big_coerce(), rb_builtin_class_name(), rb_check_convert_type(), rb_check_inheritable(), rb_check_safe_str(), rb_check_typeddata(), rb_cmperr(), rb_convert_type(), rb_define_module(), rb_define_module_id_under(), rb_digest_instance_inspect(), rb_digest_instance_method_unimpl(), rb_f_kill(), rb_Hash(), rb_hash_set_default_proc(), rb_mod_define_method(), rb_obj_clone(), rb_obj_dup(), rb_stat_inspect(), rb_str_index_m(), rb_str_partition(), rb_str_rindex_m(), rb_str_rpartition(), rb_thread_inspect(), rb_to_float(), rb_to_integer(), rescue_callback(), setup_exception(), should_be_callable(), should_be_finalizable(), sockopt_inspect(), time_timespec(), uscore_get(), using_module_recursive(), vm_caller_setup_args(), w_object(), and wdivmod().

VALUE rb_obj_instance_variables ( VALUE  obj  ) 

Definition at line 1371 of file variable.c.

References ivar_i(), rb_ary_new(), rb_ivar_foreach(), and VALUE.

VALUE rb_obj_remove_instance_variable ( VALUE  obj,
VALUE  name 
)

Definition at line 1403 of file variable.c.

References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, generic_ivar_remove(), PRIsVALUE, Qnil, Qundef, QUOTE, QUOTE_ID, rb_check_frozen, rb_check_id(), rb_is_instance_id(), rb_is_instance_name(), rb_name_error(), rb_name_error_str(), rb_special_const_p(), RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, ROBJECT_IVPTR, ROBJECT_NUMIV, SPECIAL_CONST_P, st_data_t, st_delete(), st_lookup(), T_CLASS, T_MODULE, T_OBJECT, UNREACHABLE, val, and VALUE.

Referenced by Init_Object().

VALUE rb_path2class ( const char *  path  ) 

Definition at line 379 of file variable.c.

References rb_path_to_class(), and rb_str_new_cstr().

Referenced by convert_UTF8_to_JSON(), convert_UTF8_to_JSON_ASCII(), dump_output(), Init_bubblebabble(), Init_generator(), Init_md5(), Init_ossl_digest(), Init_parser(), Init_rmd160(), Init_sha1(), Init_sha2(), Init_tcltklib(), and path2class().

VALUE rb_path_to_class ( VALUE  pathname  ) 

Definition at line 339 of file variable.c.

References id, fc_result::path, PRIsVALUE, QUOTE, rb_check_id_cstr(), rb_cObject, rb_const_defined_at(), rb_const_get_at(), rb_eArgError, rb_enc_asciicompat, rb_enc_get(), rb_eTypeError, RB_GC_GUARD, rb_raise(), RB_TYPE_P, RSTRING_PTR, T_CLASS, T_MODULE, and VALUE.

Referenced by class2path(), path2class(), r_object0(), and rb_path2class().

int rb_public_const_defined ( VALUE  klass,
ID  id 
)

Definition at line 2142 of file variable.c.

References FALSE, rb_const_defined_0(), and TRUE.

int rb_public_const_defined_at ( VALUE  klass,
ID  id 
)

Definition at line 2148 of file variable.c.

References FALSE, rb_const_defined_0(), and TRUE.

int rb_public_const_defined_from ( VALUE  klass,
ID  id 
)

Definition at line 2136 of file variable.c.

References rb_const_defined_0(), and TRUE.

Referenced by vm_get_ev_const().

VALUE rb_public_const_get ( VALUE  klass,
ID  id 
)

Definition at line 1898 of file variable.c.

References FALSE, rb_const_get_0(), and TRUE.

VALUE rb_public_const_get_at ( VALUE  klass,
ID  id 
)

Definition at line 1904 of file variable.c.

References FALSE, rb_const_get_0(), and TRUE.

VALUE rb_public_const_get_from ( VALUE  klass,
ID  id 
)

Definition at line 1892 of file variable.c.

References rb_const_get_0(), and TRUE.

Referenced by vm_get_ev_const().

void rb_set_class_path ( VALUE  klass,
VALUE  under,
const char *  name 
)

Definition at line 316 of file variable.c.

References classid, classpath, ID2SYM, OBJ_FREEZE, rb_cObject, rb_intern, rb_ivar_set(), rb_str_cat2(), rb_str_dup(), rb_str_new2, rb_tmp_class_path(), tmp_classpath, and VALUE.

Referenced by Init_IO().

void rb_set_class_path_string ( VALUE  klass,
VALUE  under,
VALUE  name 
)

Definition at line 293 of file variable.c.

References classid, classpath, ID2SYM, OBJ_FREEZE, rb_cObject, rb_intern_str, rb_ivar_set(), rb_str_append(), rb_str_cat2(), rb_str_dup(), rb_str_new_frozen(), rb_tmp_class_path(), tmp_classpath, and VALUE.

Referenced by rb_define_class_id_under(), and rb_define_module_id_under().

st_table* rb_st_copy ( VALUE  obj,
struct st_table orig_tbl 
)

Definition at line 2633 of file variable.c.

References st_copy(), st_data_t, st_foreach(), and tbl_copy_i().

Referenced by init_copy(), rb_mod_init_copy(), and rb_singleton_class_clone_and_attach().

int rb_st_insert_id_and_value ( VALUE  obj,
st_table tbl,
ID  key,
VALUE  value 
)

Definition at line 2618 of file variable.c.

References Qundef, RB_OBJ_WRITTEN, result, st_data_t, and st_insert().

Referenced by find_class_path(), rb_cvar_set(), rb_ivar_set(), and rb_singleton_class_attached().

static VALUE rb_tmp_class_path ( VALUE  klass,
int *  permanent,
path_cache_func  cache_path 
) [static]

Definition at line 218 of file variable.c.

References classname(), NIL_P, OBJ_FREEZE, fc_result::path, rb_cModule, rb_obj_class(), rb_sprintf(), RB_TYPE_P, RBASIC, RCLASS_IV_TBL, RSTRING_PTR, st_data_t, st_lookup(), T_MODULE, tmp_classpath, and VALUE.

Referenced by rb_class2name(), rb_class_path(), rb_class_path_no_cache(), rb_set_class_path(), and rb_set_class_path_string().

static void rb_trace_eval ( VALUE  cmd,
VALUE  val 
) [static]

Definition at line 627 of file variable.c.

References rb_ary_new3, and rb_eval_cmd().

Referenced by rb_f_trace_var().

void readonly_setter ( VALUE  val,
ID  id,
void *  data,
struct global_variable gvar 
)

Definition at line 540 of file variable.c.

References PRIsVALUE, QUOTE_ID, and rb_name_error().

static void remove_trace ( struct global_variable var  )  [static]

Definition at line 683 of file variable.c.

References trace_var::next, trace_var::removed, global_variable::trace, and xfree.

Referenced by rb_f_untrace_var(), and trace_en().

static VALUE reset_safe ( VALUE  safe  )  [static]

Definition at line 1679 of file variable.c.

References rb_set_safe_level_force().

Referenced by check_autoload_required(), and rb_autoload_load().

static void set_const_visibility ( VALUE  mod,
int  argc,
VALUE *  argv,
rb_const_flag_t  flag 
) [static]

Definition at line 2242 of file variable.c.

References id, PRIsVALUE, QUOTE, QUOTE_ID, rb_check_id(), rb_class_name(), rb_clear_constant_cache(), rb_frame_callee(), rb_name_error(), rb_name_error_str(), rb_warning(), RCLASS_CONST_TBL, st_data_t, st_lookup(), val, and VALUE.

Referenced by rb_mod_private_constant(), and rb_mod_public_constant().

static int sv_i ( st_data_t  k,
st_data_t  v,
st_data_t  a 
) [static]

Definition at line 1969 of file variable.c.

References key, rb_is_const_id(), ST_CONTINUE, st_data_t, st_insert(), and st_lookup().

Referenced by rb_mod_const_at().

static int tbl_copy_i ( st_data_t  key,
st_data_t  value,
st_data_t  data 
) [static]

Definition at line 2626 of file variable.c.

References Qundef, RB_OBJ_WRITTEN, ST_CONTINUE, and VALUE.

Referenced by rb_st_copy().

static VALUE trace_en ( struct global_variable var  )  [static]

Definition at line 785 of file variable.c.

References global_variable::block_trace, Qnil, and remove_trace().

Referenced by rb_gvar_set().

static VALUE trace_ev ( struct trace_data data  )  [static]

Definition at line 772 of file variable.c.

References trace_var::data, trace_var::func, trace_var::next, and Qnil.

Referenced by rb_gvar_set().

VALUE undef_getter ( ID  id,
void *  data,
struct global_variable var 
)

Definition at line 478 of file variable.c.

References PRIsVALUE, Qnil, QUOTE_ID, and rb_warning().

void undef_marker ( VALUE *  var  ) 

Definition at line 496 of file variable.c.

void undef_setter ( VALUE  val,
ID  id,
void *  data,
struct global_variable var 
)

Definition at line 486 of file variable.c.

References global_variable::data, global_variable::getter, global_variable::marker, global_variable::setter, val_getter, val_marker, and val_setter.

static void uninitialized_constant ( VALUE  klass,
ID  id 
) [static]

Definition at line 1464 of file variable.c.

References PRIsVALUE, QUOTE_ID, rb_class_name(), rb_class_real(), rb_cObject, and rb_name_error().

Referenced by rb_mod_const_missing().

VALUE val_getter ( ID  id,
void *  data,
struct global_variable var 
)

Definition at line 501 of file variable.c.

References VALUE.

void val_marker ( VALUE *  var  ) 

Definition at line 513 of file variable.c.

References rb_gc_mark_maybe(), and VALUE.

void val_setter ( VALUE  val,
ID  id,
void *  data,
struct global_variable var 
)

Definition at line 507 of file variable.c.

References global_variable::data.

VALUE var_getter ( ID  id,
void *  data,
struct global_variable gvar 
)

Definition at line 520 of file variable.c.

References Qnil, and VALUE.

void var_marker ( VALUE *  var  ) 

Definition at line 534 of file variable.c.

References rb_gc_mark_maybe().

void var_setter ( VALUE  val,
ID  id,
void *  data,
struct global_variable gvar 
)

Definition at line 528 of file variable.c.

References VALUE.


Variable Documentation

ID autoload [static]

Definition at line 24 of file variable.c.

Referenced by autoload_data(), autoload_delete(), Init_var_tables(), and rb_autoload().

const rb_data_type_t autoload_data_i_type [static]

Initial value:

Definition at line 1597 of file variable.c.

Referenced by rb_autoload().

const rb_data_type_t autoload_data_type [static]

Initial value:

Definition at line 1546 of file variable.c.

Referenced by rb_autoload().

ID classid [static]

Definition at line 24 of file variable.c.

Referenced by classname(), Init_var_tables(), rb_name_class(), rb_set_class_path(), and rb_set_class_path_string().

ID classpath [static]

Definition at line 24 of file variable.c.

Referenced by classname(), fc_path(), find_class_path(), Init_var_tables(), rb_class_path_cached(), rb_profile_frame_qualified_method_name(), rb_set_class_path(), and rb_set_class_path_string().

st_table* generic_iv_tbl [static]

Definition at line 904 of file variable.c.

Referenced by generic_ivar_defined(), generic_ivar_get(), generic_ivar_remove(), generic_ivar_set(), rb_copy_generic_ivar(), rb_free_generic_ivar(), rb_generic_ivar_memsize(), rb_generic_ivar_table(), rb_ivar_count(), rb_ivar_foreach(), rb_mark_generic_ivar(), and rb_mark_generic_ivar_tbl().

st_table* rb_global_tbl

Definition at line 23 of file variable.c.

Referenced by Init_var_tables(), rb_alias_variable(), rb_f_global_variables(), rb_f_untrace_var(), rb_gc_mark_global_tbl(), and rb_global_entry().

int special_generic_ivar = 0 [static]

Definition at line 903 of file variable.c.

ID tmp_classpath [static]

Definition at line 24 of file variable.c.

Referenced by classname(), find_class_path(), Init_var_tables(), rb_class_path_cached(), rb_set_class_path(), rb_set_class_path_string(), and rb_tmp_class_path().


Generated on 19 Jul 2016 for Ruby by  doxygen 1.4.7