Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
|
#include "ruby/internal/config.h"
#include <stddef.h>
#include "ruby/internal/stdbool.h"
#include "ccan/list/list.h"
#include "constant.h"
#include "debug_counter.h"
#include "id.h"
#include "id_table.h"
#include "internal.h"
#include "internal/class.h"
#include "internal/compilers.h"
#include "internal/error.h"
#include "internal/eval.h"
#include "internal/hash.h"
#include "internal/object.h"
#include "internal/re.h"
#include "internal/symbol.h"
#include "internal/thread.h"
#include "internal/variable.h"
#include "ruby/encoding.h"
#include "ruby/st.h"
#include "ruby/util.h"
#include "transient_heap.h"
#include "variable.h"
#include "vm_core.h"
#include "ractor_core.h"
#include "vm_sync.h"
Go to the source code of this file.
Data Structures | |
struct | ivar_update |
struct | trace_var |
struct | rb_global_variable |
struct | rb_global_entry |
struct | trace_data |
struct | givar_copy |
struct | autoload_const |
struct | autoload_state |
struct | autoload_data_i |
Macros | |
#define | CVAR_ACCESSOR_SHOULD_BE_MAIN_RACTOR() |
#define | rb_is_constant_id rb_is_const_id |
#define | rb_is_constant_name rb_is_const_name |
#define | id_for_var(obj, name, part, type) id_for_var_message(obj, name, type, "`%1$s' is not allowed as "#part" "#type" variable name") |
#define | id_for_var_message(obj, name, type, message) check_id_type(obj, &(name), rb_is_##type##_id, rb_is_##type##_name, message, strlen(message)) |
#define | check_autoload_table(av) (struct st_table *)rb_check_typeddata((av), &autoload_data_type) |
#define | CVAR_FOREACH_ANCESTORS(klass, v, r) |
#define | CVAR_LOOKUP(v, r) |
Typedefs | |
typedef void | rb_gvar_compact_t(void *var) |
typedef VALUE(* | fallback_func) (VALUE obj, VALUE name) |
typedef int | rb_ivar_foreach_callback_func(ID key, VALUE val, st_data_t arg) |
#define check_autoload_table | ( | av | ) | (struct st_table *)rb_check_typeddata((av), &autoload_data_type) |
Definition at line 2004 of file variable.c.
#define CVAR_ACCESSOR_SHOULD_BE_MAIN_RACTOR | ( | ) |
Definition at line 915 of file variable.c.
#define CVAR_FOREACH_ANCESTORS | ( | klass, | |
v, | |||
r | |||
) |
Definition at line 3332 of file variable.c.
#define CVAR_LOOKUP | ( | v, | |
r | |||
) |
Definition at line 3339 of file variable.c.
#define id_for_var | ( | obj, | |
name, | |||
part, | |||
type | |||
) | id_for_var_message(obj, name, type, "`%1$s' is not allowed as "#part" "#type" variable name") |
Definition at line 1812 of file variable.c.
#define id_for_var_message | ( | obj, | |
name, | |||
type, | |||
message | |||
) | check_id_type(obj, &(name), rb_is_##type##_id, rb_is_##type##_name, message, strlen(message)) |
Definition at line 1814 of file variable.c.
#define rb_is_constant_id rb_is_const_id |
Definition at line 1810 of file variable.c.
#define rb_is_constant_name rb_is_const_name |
Definition at line 1811 of file variable.c.
typedef void rb_gvar_compact_t(void *var) |
Definition at line 42 of file variable.c.
Definition at line 1540 of file variable.c.
void Init_var_tables | ( | void | ) |
Definition at line 63 of file variable.c.
References rb_id_table_create(), and st_init_numtable.
Definition at line 843 of file variable.c.
References ALLOC, rb_global_variable::block_trace, rb_global_variable::counter, rb_global_entry::id, trace_var::next, rb_eRactorIsolationError, rb_eRuntimeError, rb_id_table_insert(), rb_id_table_lookup(), rb_raise(), rb_global_variable::trace, rb_global_entry::var, and xfree.
Referenced by Init_load().
Definition at line 1287 of file variable.c.
References Qnil.
Definition at line 1242 of file variable.c.
References Qnil, and rb_ivar_lookup().
Referenced by ossl_asn1_get_asn1type(), rb_dtrace_setup(), rb_error_frozen_object(), rb_refinement_module_get_refined_class(), rb_singleton_class_clone_and_attach(), rb_singleton_class_get(), rb_singleton_class_internal_p(), and rb_syntax_error_append().
Definition at line 2149 of file variable.c.
References mod, rb_autoload_str(), rb_eArgError, rb_fstring_cstr, and rb_raise().
Definition at line 2517 of file variable.c.
References autoload_data_i::feature, load(), mod, Qnil, RCLASS_SUPER, and recur.
Referenced by rb_autoload_p().
Definition at line 2452 of file variable.c.
References autoload_state::ac, CONST_DEPRECATED, CONST_VISIBILITY_MASK, rb_const_entry_struct::flag, autoload_data_i::fork_gen, load(), mod, Qfalse, rb_const_lookup(), rb_ensure(), RB_GC_GUARD, rb_sourcefile(), rb_thread_current(), autoload_state::result, autoload_data_i::state, autoload_state::thread, and autoload_state::waitq.
Definition at line 2511 of file variable.c.
References mod, rb_autoload_at_p(), and TRUE.
Definition at line 2158 of file variable.c.
References autoload_const::ad, check_autoload_table, autoload_const::cnode, CONST_PUBLIC, autoload_data_i::constants, DATA_PTR, autoload_data_i::feature, autoload_const::flag, id, autoload_const::id, mod, autoload_const::mod, NIL_P, PRIsVALUE, Qnil, Qundef, rb_check_typeddata(), rb_const_lookup(), rb_const_set(), rb_eArgError, rb_eNameError, rb_fstring(), rb_gc_register_mark_object(), rb_hash_aref(), rb_hash_aset(), rb_ident_hash_new(), rb_is_const_id(), rb_obj_hide(), RB_OBJ_WRITTEN, rb_raise(), RCLASS_IV_TBL, RSTRING_LEN, st_add_direct, st_init_numtable, st_insert, st_lookup, autoload_data_i::state, T_STRING, TypedData_Make_Struct, TypedData_Wrap_Struct, rb_const_entry_struct::value, and autoload_const::value.
Referenced by rb_autoload().
int rb_autoloading_value | ( | VALUE | mod, |
ID | id, | ||
VALUE * | value, | ||
rb_const_flag_t * | flag | ||
) |
Definition at line 2299 of file variable.c.
References FALSE, autoload_const::flag, mod, TRUE, and autoload_const::value.
Definition at line 299 of file variable.c.
References NIL_P, NULL, rb_class_real(), and RSTRING_PTR.
Referenced by rb_obj_classname(), and rb_profile_frame_classpath().
Definition at line 3589 of file variable.c.
References key, Qundef, RB_OBJ_WRITTEN, RCLASS_IV_TBL, and st_insert.
Referenced by rb_cvar_set(), and rb_singleton_class_attached().
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().
Definition at line 169 of file variable.c.
References NIL_P, and rb_str_dup().
Referenced by rb_class_name(), rb_define_class_id_under(), rb_dtrace_setup(), rb_dump_literal(), and rb_profile_frame_classpath().
Definition at line 178 of file variable.c.
Referenced by rb_raw_obj_info().
Definition at line 2928 of file variable.c.
Referenced by Init_cparse(), Init_fiddle(), Init_strscan(), rb_define_class(), and rb_define_module().
Definition at line 2934 of file variable.c.
Referenced by rb_const_remove(), rb_define_class_id_under(), and rb_define_module_id_under().
Definition at line 2922 of file variable.c.
Definition at line 2624 of file variable.c.
Referenced by Init_cparse(), Init_objspace(), Init_parser(), rb_define_class(), rb_define_module(), and rb_fiddle_generic_to_value().
Definition at line 2630 of file variable.c.
Referenced by Init_cparse(), rb_define_class_id_under(), and rb_define_module_id_under().
Definition at line 2618 of file variable.c.
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_entry_t * rb_const_lookup | ( | VALUE | klass, |
ID | id | ||
) |
Definition at line 3614 of file variable.c.
References NULL, rb_id_table_lookup(), RB_VM_LOCK_ENTER, RB_VM_LOCK_LEAVE, and RCLASS_CONST_TBL.
Referenced by rb_autoload_load(), rb_autoload_str(), rb_const_remove(), and rb_deprecate_constant().
Definition at line 1915 of file variable.c.
References name, rb_funcallv, and rb_vm_inc_const_missing_count().
Definition at line 2727 of file variable.c.
References ID2SYM, mod, Qnil, Qundef, rb_check_frozen, rb_clear_constant_cache(), rb_const_defined_at(), rb_const_lookup(), rb_id_table_delete(), RCLASS_CONST_TBL, rb_const_entry_struct::value, and xfree.
Referenced by Init_fiddle(), and rb_mod_remove_const().
Definition at line 3003 of file variable.c.
References CONST_PUBLIC, id, autoload_const::mod, NIL_P, PRIsVALUE, rb_clear_constant_cache(), rb_cObject, rb_eRactorIsolationError, rb_eTypeError, rb_id2str, rb_id_table_create(), rb_id_table_insert(), rb_ivar_set(), rb_raise(), RB_VM_LOCK_ENTER, RB_VM_LOCK_LEAVE, RCLASS_CONST_TBL, and ZALLOC.
Referenced by Init_class_hierarchy(), Init_strscan(), InitVM_Random(), rb_autoload_str(), rb_define_class(), rb_define_class_id_under(), rb_define_const(), rb_define_module(), rb_define_module_id_under(), and ruby_init_loadpath().
Definition at line 2694 of file variable.c.
Definition at line 2700 of file variable.c.
void rb_const_warn_if_deprecated | ( | const rb_const_entry_t * | ce, |
VALUE | klass, | ||
ID | id | ||
) |
Definition at line 2533 of file variable.c.
References PRIsVALUE, rb_category_warn, rb_class_name(), rb_cObject, RB_CONST_DEPRECATED_P, RB_WARN_CATEGORY_DEPRECATED, and rb_warning_category_enabled_p().
Definition at line 1638 of file variable.c.
References FL_EXIVAR, FL_SET, FL_TEST, FL_UNSET, givar_copy::iv_index_tbl, gen_ivtbl::ivptr, givar_copy::ivtbl, givar_copy::klass, gen_ivtbl::numiv, givar_copy::obj, Qundef, rb_check_frozen, rb_free_generic_ivar(), rb_obj_class(), RB_VM_LOCK_ENTER, RB_VM_LOCK_LEAVE, and st_insert.
Referenced by rb_hash_dup().
Definition at line 3413 of file variable.c.
References name, and rb_cvar_get().
Definition at line 3406 of file variable.c.
References name, and rb_cvar_set().
Definition at line 3387 of file variable.c.
References CVAR_LOOKUP, Qfalse, and Qtrue.
Referenced by rb_mod_remove_cvar().
Definition at line 3371 of file variable.c.
References CVAR_LOOKUP, and ID2SYM.
Referenced by rb_cv_get().
Definition at line 3346 of file variable.c.
References CVAR_LOOKUP, rb_class_ivar_set(), RBASIC, RCLASS_IV_TBL, st_init_numtable, and T_ICLASS.
Referenced by rb_cv_set(), and rb_define_class_variable().
Definition at line 3420 of file variable.c.
References name, and rb_cvar_set().
Definition at line 3150 of file variable.c.
References name, rb_const_set(), rb_gc_register_mark_object(), rb_intern(), rb_is_const_id(), and rb_warn().
Referenced by exp2(), Init_bigdecimal(), Init_Bignum(), Init_Complex(), Init_cparse(), Init_date_core(), Init_dbm(), Init_etc(), Init_fcntl(), Init_fiddle(), Init_fiddle_function(), Init_fiddle_handle(), Init_fiddle_pointer(), Init_File(), Init_GC(), Init_gdbm(), Init_IO(), Init_limits(), Init_nkf(), Init_Numeric(), Init_openssl(), Init_ossl_asn1(), Init_ossl_config(), Init_ossl_ec(), Init_ossl_ocsp(), Init_ossl_pkcs7(), Init_ossl_ssl(), Init_ossl_ts(), Init_ossl_x509name(), Init_psych_parser(), Init_readline(), Init_Regexp(), Init_sizeof(), Init_stringio(), Init_Thread(), Init_VM(), Init_win32ole(), Init_win32ole_variant(), Init_win32ole_variant_m(), Init_zlib(), InitVM_process(), InitVM_Random(), InitVM_transcode(), rb_define_global_const(), and rb_file_const().
Definition at line 3162 of file variable.c.
References name, rb_cObject, and rb_define_const().
Referenced by Init_Hash(), Init_IO(), Init_ruby_description(), Init_version(), Init_VM(), and ruby_prog_init().
void rb_define_hooked_variable | ( | const char * | name, |
VALUE * | var, | ||
rb_gvar_getter_t * | getter, | ||
rb_gvar_setter_t * | setter | ||
) |
Definition at line 562 of file variable.c.
References rb_global_variable::data, rb_global_variable::getter, rb_global_variable::marker, name, Qnil, RB_GC_GUARD, rb_gvar_var_getter, rb_gvar_var_marker, rb_gvar_var_setter, rb_global_variable::setter, and rb_global_entry::var.
Referenced by rb_define_readonly_variable(), rb_define_variable(), and rb_define_virtual_variable().
Definition at line 587 of file variable.c.
References name, rb_define_hooked_variable(), and rb_gvar_readonly_setter.
Referenced by Init_IO().
Definition at line 581 of file variable.c.
References name, and rb_define_hooked_variable().
void rb_define_virtual_variable | ( | const char * | name, |
rb_gvar_getter_t * | getter, | ||
rb_gvar_setter_t * | setter | ||
) |
Definition at line 593 of file variable.c.
References rb_global_variable::getter, name, rb_define_hooked_variable(), rb_gvar_readonly_setter, rb_gvar_val_getter, and rb_global_variable::setter.
Definition at line 3217 of file variable.c.
References CONST_DEPRECATED, rb_const_entry_struct::flag, id, ID2SYM, len, mod, name, NULL, rb_check_id_cstr(), rb_class_modify_check(), rb_const_lookup(), rb_fstring_new(), and strlen().
VALUE rb_f_global_variables | ( | void | ) |
Definition at line 811 of file variable.c.
References ID2SYM, NIL_P, rb_ary_new(), rb_ary_push(), rb_backref_get(), rb_eRactorIsolationError, rb_id_table_foreach(), rb_intern2(), rb_match_count(), rb_match_nth_defined(), rb_raise(), rb_sprintf(), rb_str_intern(), and sym.
Definition at line 610 of file variable.c.
References ALLOC, argc, argv, trace_var::data, trace_var::func, trace_var::next, NIL_P, Qnil, rb_block_proc(), rb_f_untrace_var(), rb_scan_args(), rb_to_id(), trace_var::removed, rb_global_variable::trace, and rb_global_entry::var.
Definition at line 656 of file variable.c.
References argc, argv, rb_global_variable::block_trace, trace_var::data, id, trace_var::next, NIL_P, NULL, PRIsVALUE, Qnil, rb_ary_new(), rb_ary_new3, rb_ary_push(), rb_check_id(), rb_name_error(), rb_name_error_str(), rb_scan_args(), trace_var::removed, rb_global_variable::trace, and rb_global_entry::var.
Referenced by rb_f_trace_var().
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().
void rb_gc_mark_global_tbl | ( | void | ) |
Definition at line 497 of file variable.c.
References rb_id_table_foreach_values().
void rb_gc_update_global_tbl | ( | void | ) |
Definition at line 515 of file variable.c.
References rb_id_table_foreach_values().
size_t rb_generic_ivar_memsize | ( | VALUE | obj | ) |
Definition at line 1167 of file variable.c.
References gen_ivtbl::numiv.
Definition at line 768 of file variable.c.
References name, Qnil, rb_gvar_get(), and rb_warning().
Definition at line 754 of file variable.c.
References name, and rb_gvar_set().
Definition at line 781 of file variable.c.
References rb_global_variable::getter, Qfalse, Qtrue, rb_gvar_undef_getter, and rb_global_entry::var.
Definition at line 760 of file variable.c.
References rb_global_variable::data, rb_global_variable::getter, rb_global_entry::id, and rb_global_entry::var.
Referenced by rb_gv_get().
rb_gvar_getter_t * rb_gvar_getter_function_of | ( | ID | id | ) |
Definition at line 789 of file variable.c.
References rb_global_variable::getter, and rb_global_entry::var.
void rb_gvar_ractor_local | ( | const char * | name | ) |
Definition at line 359 of file variable.c.
References name, rb_global_entry::ractor_local, and rb_intern().
Referenced by Init_eval(), Init_IO(), Init_Regexp(), InitVM_process(), and ruby_prog_init().
Definition at line 475 of file variable.c.
References PRIsVALUE, and rb_name_error().
Definition at line 745 of file variable.c.
Referenced by rb_gv_set().
rb_gvar_setter_t * rb_gvar_setter_function_of | ( | ID | id | ) |
Definition at line 796 of file variable.c.
References rb_global_variable::setter, and rb_global_entry::var.
Definition at line 396 of file variable.c.
References PRIsVALUE, Qnil, and rb_warning().
void rb_gvar_undef_marker | ( | VALUE * | var | ) |
Definition at line 431 of file variable.c.
Definition at line 419 of file variable.c.
References rb_global_variable::compactor, rb_global_variable::data, rb_global_variable::getter, rb_global_variable::marker, rb_gvar_val_getter, rb_gvar_val_marker, rb_gvar_val_setter, rb_global_variable::setter, and rb_global_entry::var.
Definition at line 436 of file variable.c.
References rb_global_variable::data.
void rb_gvar_val_marker | ( | VALUE * | var | ) |
Definition at line 449 of file variable.c.
References rb_global_variable::data, and rb_gc_mark_movable().
Definition at line 442 of file variable.c.
References rb_global_variable::data, and rb_global_entry::var.
Definition at line 456 of file variable.c.
References Qnil.
void rb_gvar_var_marker | ( | VALUE * | var | ) |
Definition at line 469 of file variable.c.
References rb_gc_mark_maybe().
Definition at line 463 of file variable.c.
References rb_global_variable::data.
void rb_init_iv_list | ( | VALUE | obj | ) |
Definition at line 1438 of file variable.c.
References len, st_table::num_entries, and ROBJECT_IV_INDEX_TBL.
Definition at line 3569 of file variable.c.
References name, Qnil, rb_check_id_cstr(), rb_ivar_get(), rb_usascii_encoding(), and strlen().
Definition at line 3580 of file variable.c.
References name, rb_intern(), and rb_ivar_set().
Referenced by Init_md5(), Init_rmd160(), and Init_sha1().
Definition at line 3605 of file variable.c.
References RCLASS_IV_TBL, st_copy, and st_foreach.
Referenced by rb_singleton_class_clone_and_attach().
st_index_t rb_ivar_count | ( | VALUE | obj | ) |
Definition at line 1733 of file variable.c.
References BUILTIN_TYPE, count, FL_EXIVAR, FL_TEST, gen_ivtbl::ivptr, num, st_table::num_entries, Qundef, RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, SPECIAL_CONST_P, T_CLASS, T_MODULE, and T_OBJECT.
Definition at line 1510 of file variable.c.
References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, Qfalse, Qtrue, Qundef, RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, SPECIAL_CONST_P, st_is_member, T_CLASS, T_MODULE, and T_OBJECT.
void rb_ivar_foreach | ( | VALUE | obj, |
rb_ivar_foreach_callback_func * | func, | ||
st_data_t | arg | ||
) |
Definition at line 1710 of file variable.c.
References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, RCLASS_IV_TBL, SPECIAL_CONST_P, st_foreach_safe, T_CLASS, T_MODULE, and T_OBJECT.
Referenced by rb_obj_instance_variables().
Definition at line 960 of file variable.c.
Definition at line 966 of file variable.c.
References gen_ivtbl::ivptr, LIKELY, gen_ivtbl::numiv, and Qundef.
Definition at line 1234 of file variable.c.
References Qnil, RB_DEBUG_COUNTER_INC, and rb_ivar_lookup().
Referenced by EVENTSINK_Invoke(), rb_class_modify_check(), rb_iv_get(), rb_method_name_error(), and rb_profile_frame_classpath().
Definition at line 1192 of file variable.c.
References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, len, ptr, Qundef, RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, SPECIAL_CONST_P, st_lookup, T_CLASS, T_MODULE, and T_OBJECT.
Referenced by rb_attr_get(), rb_ivar_get(), and rb_memory_view_register().
Definition at line 1493 of file variable.c.
References rb_check_frozen.
Referenced by create_win32ole_param(), create_win32ole_variable(), olerecord_set_ivar(), rb_arith_seq_new(), rb_const_set(), rb_ec_setup_exception(), rb_error_frozen_object(), rb_frozen_error_raise(), rb_iv_set(), rb_key_err_new(), rb_memory_view_register(), rb_set_class_path_string(), and ruby_init_loadpath().
Definition at line 1501 of file variable.c.
References rb_is_instance_id(), and VM_ASSERT.
void rb_mark_generic_ivar | ( | VALUE | obj | ) |
Definition at line 1137 of file variable.c.
Definition at line 3512 of file variable.c.
References argc, argv, mod, rb_check_arity, and RTEST.
void * rb_mod_const_at | ( | VALUE | mod, |
void * | data | ||
) |
Definition at line 2801 of file variable.c.
References mod, rb_id_table_foreach(), RB_VM_LOCK_ENTER, RB_VM_LOCK_LEAVE, RCLASS_CONST_TBL, and st_init_numtable.
Referenced by rb_mod_const_of().
Definition at line 1960 of file variable.c.
References name, Qnil, rb_vm_pop_cfunc_frame(), and UNREACHABLE_RETURN.
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().
Definition at line 2872 of file variable.c.
References argc, argv, mod, rb_check_arity, rb_const_list(), rb_mod_const_of(), and RTEST.
Definition at line 3281 of file variable.c.
References argc, argv, and CONST_DEPRECATED.
Definition at line 118 of file variable.c.
References mod.
Definition at line 3241 of file variable.c.
References argc, argv, CONST_PRIVATE, and CONST_VISIBILITY_MASK.
Definition at line 3255 of file variable.c.
References argc, argv, CONST_PUBLIC, and CONST_VISIBILITY_MASK.
Definition at line 2716 of file variable.c.
References id_for_var, mod, name, and rb_const_remove().
Definition at line 3547 of file variable.c.
References id, ID2SYM, id_for_var_message, mod, name, Qundef, rb_check_frozen, rb_cvar_defined(), RCLASS_IV_TBL, st_delete, and UNREACHABLE_RETURN.
Definition at line 1147 of file variable.c.
Definition at line 308 of file variable.c.
References CLASS_OF, and rb_class2name().
Referenced by rb_builtin_class_name(), rb_Hash(), rb_hash_set_default_proc(), and rb_int_cmp().
Definition at line 1801 of file variable.c.
References rb_ary_new(), and rb_ivar_foreach().
Definition at line 1856 of file variable.c.
References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, id, id_for_var, name, Qnil, Qundef, rb_check_frozen, RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, st_delete, T_CLASS, T_MODULE, T_OBJECT, and UNREACHABLE_RETURN.
Definition at line 287 of file variable.c.
References rb_path_to_class(), and rb_str_new_cstr.
Referenced by Init_bubblebabble(), Init_generator(), Init_md5(), Init_ossl_digest(), Init_parser(), Init_rmd160(), Init_sha1(), and Init_sha2().
Definition at line 242 of file variable.c.
References FALSE, id, PRIsVALUE, Qundef, rb_check_id_cstr(), rb_cObject, rb_eArgError, rb_enc_asciicompat, rb_enc_get(), rb_eTypeError, RB_GC_GUARD, rb_raise(), rb_str_subseq(), RSTRING_LEN, RSTRING_PTR, TRUE, and UNREACHABLE_RETURN.
Referenced by rb_path2class().
Definition at line 2940 of file variable.c.
References TRUE.
Definition at line 2642 of file variable.c.
Definition at line 2636 of file variable.c.
References TRUE.
Definition at line 1689 of file variable.c.
References FL_EXIVAR, FL_SET, FL_TEST, NULL, givar_copy::obj, rb_bug(), RB_VM_LOCK_ENTER, RB_VM_LOCK_LEAVE, RUBY_ASSERT, st_delete, st_insert, and st_lookup.
Definition at line 191 of file variable.c.
Referenced by rb_vm_bugreport().
Definition at line 234 of file variable.c.
References name, OBJ_FREEZE, rb_set_class_path_string(), rb_str_new2, and str.
Definition at line 214 of file variable.c.
References name, rb_cObject, rb_ivar_set(), rb_str_new_frozen(), and str.
Referenced by Init_class_hierarchy(), rb_define_class_id_under(), rb_define_module_id_under(), and rb_set_class_path().