Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
Functions
variable.h File Reference

Public APIs related to names inside of a Ruby program. More...

#include "ruby/internal/attr/noreturn.h"
#include "ruby/internal/dllexport.h"
#include "ruby/internal/value.h"
#include "ruby/st.h"

Go to the source code of this file.

Functions

VALUE rb_mod_name (VALUE)
 
VALUE rb_class_path (VALUE)
 
VALUE rb_class_path_cached (VALUE)
 
void rb_set_class_path (VALUE, VALUE, const char *)
 
void rb_set_class_path_string (VALUE, VALUE, VALUE)
 
VALUE rb_path_to_class (VALUE)
 
VALUE rb_path2class (const char *)
 
VALUE rb_class_name (VALUE)
 
VALUE rb_autoload_load (VALUE, ID)
 
VALUE rb_autoload_p (VALUE, ID)
 
VALUE rb_f_trace_var (int, const VALUE *)
 
VALUE rb_f_untrace_var (int, const VALUE *)
 
VALUE rb_f_global_variables (void)
 
void rb_alias_variable (ID, ID)
 
void rb_copy_generic_ivar (VALUE, VALUE)
 
void rb_free_generic_ivar (VALUE)
 
VALUE rb_ivar_get (VALUE, ID)
 
VALUE rb_ivar_set (VALUE, ID, VALUE)
 
VALUE rb_ivar_defined (VALUE, ID)
 
void rb_ivar_foreach (VALUE, int(*)(ID, VALUE, st_data_t), st_data_t)
 
st_index_t rb_ivar_count (VALUE)
 
VALUE rb_attr_get (VALUE, ID)
 
VALUE rb_obj_instance_variables (VALUE)
 
VALUE rb_obj_remove_instance_variable (VALUE, VALUE)
 
void * rb_mod_const_at (VALUE, void *)
 
void * rb_mod_const_of (VALUE, void *)
 
VALUE rb_const_list (void *)
 
VALUE rb_mod_constants (int, const VALUE *, VALUE)
 
VALUE rb_mod_remove_const (VALUE, VALUE)
 
int rb_const_defined (VALUE, ID)
 
int rb_const_defined_at (VALUE, ID)
 
int rb_const_defined_from (VALUE, ID)
 
VALUE rb_const_get (VALUE, ID)
 
VALUE rb_const_get_at (VALUE, ID)
 
VALUE rb_const_get_from (VALUE, ID)
 
void rb_const_set (VALUE, ID, VALUE)
 
VALUE rb_const_remove (VALUE, ID)
 
VALUE rb_cvar_defined (VALUE, ID)
 
void rb_cvar_set (VALUE, ID, VALUE)
 
VALUE rb_cvar_get (VALUE, ID)
 
void rb_cv_set (VALUE, const char *, VALUE)
 
VALUE rb_cv_get (VALUE, const char *)
 
void rb_define_class_variable (VALUE, const char *, VALUE)
 
VALUE rb_mod_class_variables (int, const VALUE *, VALUE)
 
VALUE rb_mod_remove_cvar (VALUE, VALUE)
 

Detailed Description

Public APIs related to names inside of a Ruby program.

Author
Ruby developers ruby-.nosp@m.core.nosp@m.@ruby.nosp@m.-lan.nosp@m.g.org
Warning
Symbols prefixed with either RBIMPL or rbimpl are implementation details. Don't take them as canon. They could rapidly appear then vanish. The name (path) of this header file is also an implementation detail. Do not expect it to persist at the place it is now. Developers are free to move it anywhere anytime at will.
Note
To ruby-core: remember that this header can be possibly recursively included from extension libraries written in C++. Do not expect for instance __VA_ARGS__ is always available. We assume C99 for ruby itself but we don't assume languages of extension libraries. They could be written in C++98.

Definition in file variable.h.

Function Documentation

◆ rb_alias_variable()

void rb_alias_variable ( ID  name1,
ID  name2 
)

◆ rb_attr_get()

VALUE rb_attr_get ( VALUE  obj,
ID  id 
)

◆ rb_autoload_load()

VALUE rb_autoload_load ( VALUE  mod,
ID  id 
)

◆ rb_autoload_p()

VALUE rb_autoload_p ( VALUE  mod,
ID  id 
)

Definition at line 2511 of file variable.c.

References mod, rb_autoload_at_p(), and TRUE.

◆ rb_class_name()

VALUE rb_class_name ( VALUE  klass)

Definition at line 293 of file variable.c.

References rb_class_path(), and rb_class_real().

Referenced by rb_any_to_s(), and rb_const_warn_if_deprecated().

◆ rb_class_path()

VALUE rb_class_path ( VALUE  klass)

◆ rb_class_path_cached()

VALUE rb_class_path_cached ( VALUE  klass)

Definition at line 178 of file variable.c.

Referenced by rb_raw_obj_info().

◆ rb_const_defined()

int rb_const_defined ( VALUE  klass,
ID  id 
)

Definition at line 2928 of file variable.c.

References FALSE, and TRUE.

Referenced by Init_cparse(), Init_fiddle(), Init_strscan(), rb_define_class(), and rb_define_module().

◆ rb_const_defined_at()

int rb_const_defined_at ( VALUE  klass,
ID  id 
)

Definition at line 2934 of file variable.c.

References FALSE, and TRUE.

Referenced by rb_const_remove(), rb_define_class_id_under(), and rb_define_module_id_under().

◆ rb_const_defined_from()

int rb_const_defined_from ( VALUE  klass,
ID  id 
)

Definition at line 2922 of file variable.c.

References FALSE, and TRUE.

◆ rb_const_get()

VALUE rb_const_get ( VALUE  klass,
ID  id 
)

◆ rb_const_get_at()

VALUE rb_const_get_at ( VALUE  klass,
ID  id 
)

Definition at line 2630 of file variable.c.

References FALSE, and TRUE.

Referenced by Init_cparse(), rb_define_class_id_under(), and rb_define_module_id_under().

◆ rb_const_get_from()

VALUE rb_const_get_from ( VALUE  klass,
ID  id 
)

Definition at line 2618 of file variable.c.

References FALSE, and TRUE.

◆ rb_const_list()

VALUE rb_const_list ( void *  data)

Definition at line 2840 of file variable.c.

References st_table::num_entries, rb_ary_new2, st_foreach_safe, and st_free_table.

Referenced by rb_mod_constants().

◆ rb_const_remove()

VALUE rb_const_remove ( VALUE  mod,
ID  id 
)

◆ rb_const_set()

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

◆ rb_copy_generic_ivar()

void rb_copy_generic_ivar ( VALUE  clone,
VALUE  obj 
)

◆ rb_cv_get()

VALUE rb_cv_get ( VALUE  klass,
const char *  name 
)

Definition at line 3413 of file variable.c.

References name, and rb_cvar_get().

◆ rb_cv_set()

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

Definition at line 3406 of file variable.c.

References name, and rb_cvar_set().

◆ rb_cvar_defined()

VALUE rb_cvar_defined ( VALUE  klass,
ID  id 
)

Definition at line 3387 of file variable.c.

References CVAR_LOOKUP, Qfalse, and Qtrue.

Referenced by rb_mod_remove_cvar().

◆ rb_cvar_get()

VALUE rb_cvar_get ( VALUE  klass,
ID  id 
)

Definition at line 3371 of file variable.c.

References CVAR_LOOKUP, and ID2SYM.

Referenced by rb_cv_get().

◆ rb_cvar_set()

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

◆ rb_define_class_variable()

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

Definition at line 3420 of file variable.c.

References name, and rb_cvar_set().

◆ rb_f_global_variables()

VALUE rb_f_global_variables ( void  )

◆ rb_f_trace_var()

VALUE rb_f_trace_var ( int  argc,
const VALUE argv 
)

◆ rb_f_untrace_var()

VALUE rb_f_untrace_var ( int  argc,
const VALUE argv 
)

◆ rb_free_generic_ivar()

void rb_free_generic_ivar ( VALUE  obj)

Definition at line 1157 of file variable.c.

References key, st_delete, and xfree.

Referenced by rb_copy_generic_ivar().

◆ rb_ivar_count()

st_index_t rb_ivar_count ( VALUE  obj)

◆ rb_ivar_defined()

VALUE rb_ivar_defined ( VALUE  obj,
ID  id 
)

◆ rb_ivar_foreach()

void rb_ivar_foreach ( VALUE  ,
int(*)(ID, VALUE, st_data_t ,
st_data_t   
)

◆ rb_ivar_get()

VALUE rb_ivar_get ( VALUE  obj,
ID  id 
)

◆ rb_ivar_set()

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

◆ rb_mod_class_variables()

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

Definition at line 3512 of file variable.c.

References argc, argv, mod, rb_check_arity, and RTEST.

◆ rb_mod_const_at()

void * rb_mod_const_at ( VALUE  mod,
void *  data 
)

◆ rb_mod_const_of()

void * rb_mod_const_of ( VALUE  mod,
void *  data 
)

Definition at line 2818 of file variable.c.

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

Referenced by rb_mod_constants().

◆ rb_mod_constants()

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

Definition at line 2872 of file variable.c.

References argc, argv, mod, rb_check_arity, rb_const_list(), rb_mod_const_of(), and RTEST.

◆ rb_mod_name()

VALUE rb_mod_name ( VALUE  mod)

Definition at line 118 of file variable.c.

References mod.

◆ rb_mod_remove_const()

VALUE rb_mod_remove_const ( VALUE  mod,
VALUE  name 
)

Definition at line 2716 of file variable.c.

References id_for_var, mod, name, and rb_const_remove().

◆ rb_mod_remove_cvar()

VALUE rb_mod_remove_cvar ( VALUE  mod,
VALUE  name 
)

◆ rb_obj_instance_variables()

VALUE rb_obj_instance_variables ( VALUE  obj)

Definition at line 1801 of file variable.c.

References rb_ary_new(), and rb_ivar_foreach().

◆ rb_obj_remove_instance_variable()

VALUE rb_obj_remove_instance_variable ( VALUE  obj,
VALUE  name 
)

◆ rb_path2class()

VALUE rb_path2class ( const char *  path)

◆ rb_path_to_class()

VALUE rb_path_to_class ( VALUE  pathname)

◆ rb_set_class_path()

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

Definition at line 234 of file variable.c.

References name, OBJ_FREEZE, rb_set_class_path_string(), rb_str_new2, and str.

Referenced by Init_IO(), and Init_VM().

◆ rb_set_class_path_string()

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