Ruby
2.0.0p648(2015-12-16revision53162)
|
#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"
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 |
Macros | |
#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) |
Variables | |
st_table * | rb_global_tbl |
st_table * | rb_class_tbl |
static ID | autoload |
static ID | classpath |
static ID | tmp_classpath |
static ID | classid |
static int | special_generic_ivar = 0 |
static st_table * | generic_iv_tbl |
static const rb_data_type_t | autoload_data_type |
static const rb_data_type_t | autoload_data_i_type |
#define check_autoload_data | ( | av | ) | (struct autoload_data_i *)rb_check_typeddata((av), &autoload_data_i_type) |
Definition at line 1600 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 1550 of file variable.c.
Referenced by autoload_data(), autoload_delete(), and rb_autoload().
#define CVAR_FOREACH_ANCESTORS | ( | klass, | |
v, | |||
r | |||
) |
Definition at line 2318 of file variable.c.
#define CVAR_LOOKUP | ( | v, | |
r | |||
) |
Definition at line 2325 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 402 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 401 of file variable.c.
#define gvar_getter_t rb_gvar_getter_t |
Definition at line 404 of file variable.c.
Referenced by rb_define_hooked_variable().
#define gvar_marker_t rb_gvar_marker_t |
Definition at line 406 of file variable.c.
#define gvar_setter_t rb_gvar_setter_t |
Definition at line 405 of file variable.c.
Referenced by rb_define_hooked_variable().
#define readonly_setter rb_gvar_readonly_setter |
Definition at line 437 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 425 of file variable.c.
Referenced by rb_global_entry(), and rb_gvar_defined().
#define undef_marker rb_gvar_undef_marker |
Definition at line 427 of file variable.c.
Referenced by rb_global_entry().
#define undef_setter rb_gvar_undef_setter |
Definition at line 426 of file variable.c.
Referenced by rb_global_entry().
#define val_getter rb_gvar_val_getter |
Definition at line 429 of file variable.c.
Referenced by rb_define_virtual_variable(), and undef_setter().
#define val_marker rb_gvar_val_marker |
Definition at line 431 of file variable.c.
Referenced by undef_setter().
#define val_setter rb_gvar_val_setter |
Definition at line 430 of file variable.c.
Referenced by undef_setter().
#define var_getter rb_gvar_var_getter |
Definition at line 433 of file variable.c.
Referenced by rb_define_hooked_variable().
#define var_marker rb_gvar_var_marker |
Definition at line 435 of file variable.c.
Referenced by rb_define_hooked_variable().
#define var_setter rb_gvar_var_setter |
Definition at line 434 of file variable.c.
Referenced by rb_define_hooked_variable().
Definition at line 219 of file variable.c.
Definition at line 1749 of file variable.c.
References args, autoload_delete(), and rb_const_set().
Referenced by rb_autoload_load().
Definition at line 1554 of file variable.c.
References autoload, check_autoload_table, mod, RCLASS_IV_TBL, st_lookup(), and val.
Referenced by check_autoload_required(), rb_autoloading_value(), and rb_const_set().
Definition at line 1731 of file variable.c.
References mod, NULL, Qundef, rb_autoloading_value(), RCLASS_CONST_TBL, st_lookup(), and val.
Referenced by rb_autoload_load(), and rb_autoload_p().
Definition at line 1647 of file variable.c.
References autoload, check_autoload_table, id, mod, st_table::num_entries, RCLASS_CONST_TBL, RCLASS_IV_TBL, st_delete(), st_lookup(), val, and xfree().
Referenced by autoload_const_set(), rb_const_remove(), and rb_const_set().
|
static |
Definition at line 1533 of file variable.c.
References st_free_table().
|
static |
Definition at line 1583 of file variable.c.
|
static |
Definition at line 1574 of file variable.c.
References p, and rb_gc_mark().
|
static |
Definition at line 1590 of file variable.c.
|
static |
Definition at line 1527 of file variable.c.
References rb_mark_tbl().
|
static |
Definition at line 1539 of file variable.c.
References st_memsize().
Definition at line 1668 of file variable.c.
References p, and rb_feature_provided().
Referenced by check_autoload_required().
Definition at line 1758 of file variable.c.
References autoload_data_i::feature, rb_require_safe(), and autoload_data_i::safe_level.
Referenced by rb_autoload_load().
Definition at line 1682 of file variable.c.
References autoload_data(), autoload_provided(), check_autoload_data, Check_Type, autoload_data_i::feature, mod, rb_eArgError, rb_ensure(), rb_raise(), rb_safe_level, rb_set_safe_level_force(), reset_safe(), RSTRING_PTR, and T_STRING.
Referenced by rb_autoload_load(), rb_autoload_p(), and rb_const_defined_0().
Definition at line 2133 of file variable.c.
References OBJ_UNTRUSTED, rb_check_frozen, rb_eSecurityError, rb_raise(), and rb_safe_level.
Referenced by rb_const_set(), and rb_cvar_set().
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 160 of file variable.c.
References classid, classpath, find_class_path(), fc_result::klass, NIL_P, OBJ_FREEZE, fc_result::path, Qnil, rb_bug(), rb_cObject, rb_id2str(), rb_str_dup(), RB_TYPE_P, RCLASS_IV_TBL, st_lookup(), SYM2ID, T_STRING, and tmp_classpath.
Referenced by rb_cmperr(), rb_mod_name(), and rb_tmp_class_path().
Definition at line 1475 of file variable.c.
References ID2SYM, rb_funcall(), and rb_intern.
Referenced by rb_const_get_0().
Definition at line 2430 of file variable.c.
References key, rb_is_class_id(), ST_CONTINUE, st_insert(), and st_lookup().
Referenced by mod_cvar_at().
Definition at line 2469 of file variable.c.
References ID2SYM, key, rb_ary_push(), ST_CONTINUE, and sym.
Referenced by cvar_list().
Definition at line 2307 of file variable.c.
References FL_SINGLETON, FL_TEST, rb_iv_get(), RB_TYPE_P, RCLASS_SUPER, T_CLASS, and T_MODULE.
|
static |
Definition at line 2477 of file variable.c.
References cv_list_i(), st_table::num_entries, rb_ary_new2(), st_foreach_safe(), and st_free_table().
Referenced by rb_mod_class_variables().
Definition at line 2300 of file variable.c.
References RCLASS_IV_TBL, st_lookup(), and v.
Definition at line 76 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_foreach(), ST_STOP, T_CLASS, T_MODULE, fc_result::track, v, and rb_const_entry_struct::value.
Referenced by find_class_path().
Definition at line 49 of file variable.c.
References classpath, fc_result::name, 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_lookup(), and fc_result::track.
Referenced by fc_i().
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 124 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_class_tbl, rb_cObject, RCLASS_CONST_TBL, RCLASS_IV_TBL, st_delete(), st_foreach_safe(), st_init_numtable(), st_insert(), tmp_classpath, and fc_result::track.
Referenced by classname().
Definition at line 956 of file variable.c.
References trace_var::data, generic_iv_tbl, Qfalse, Qtrue, and st_lookup().
Referenced by rb_ivar_defined().
Definition at line 915 of file variable.c.
References generic_iv_tbl, PRIsVALUE, Qnil, QUOTE_ID, rb_warning(), st_lookup(), and val.
Referenced by ivar_get().
Definition at line 971 of file variable.c.
References trace_var::data, generic_iv_tbl, key, st_table::num_entries, st_delete(), st_free_table(), and st_lookup().
Referenced by rb_obj_remove_instance_variable().
Definition at line 933 of file variable.c.
References trace_var::data, FL_EXIVAR, FL_SET, generic_iv_tbl, rb_error_frozen(), rb_obj_frozen_p(), rb_special_const_p(), special_generic_ivar, st_add_direct(), st_init_numtable(), st_insert(), st_lookup(), and val.
Referenced by rb_ivar_set().
Definition at line 1009 of file variable.c.
References givar_mark_i(), rb_special_const_p(), ST_CONTINUE, st_foreach_safe(), and v.
Referenced by rb_mark_generic_ivar_tbl().
Definition at line 1001 of file variable.c.
References rb_gc_mark(), ST_CONTINUE, and v.
Referenced by givar_i().
Definition at line 559 of file variable.c.
References ALLOCA_N, buf, id, name, rb_intern, rb_intern2(), and strlen().
Referenced by rb_define_hooked_variable(), rb_gv_get(), and rb_gv_set().
Definition at line 829 of file variable.c.
References ID2SYM, key, rb_ary_push(), and ST_CONTINUE.
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_class_tbl, rb_global_tbl, st_init_numtable(), and tmp_classpath.
Definition at line 1078 of file variable.c.
References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, generic_ivar_get(), PRIsVALUE, Qnil, Qundef, QUOTE_ID, rb_special_const_p(), rb_warning(), RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, ROBJECT_IVPTR, ROBJECT_NUMIV, SPECIAL_CONST_P, st_lookup(), T_CLASS, T_MODULE, T_OBJECT, and val.
Referenced by rb_attr_get(), and rb_ivar_get().
Definition at line 1339 of file variable.c.
References ID2SYM, key, rb_ary_push(), rb_is_instance_id(), and ST_CONTINUE.
Referenced by rb_obj_instance_variables().
Definition at line 2008 of file variable.c.
References CONST_PRIVATE, rb_const_entry_struct::flag, ID2SYM, key, rb_ary_push(), ST_CONTINUE, and sym.
Referenced by rb_const_list().
Definition at line 536 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, global_variable::trace, and v.
Referenced by rb_gc_mark_global_tbl().
|
static |
Definition at line 2444 of file variable.c.
References cv_i(), mod, RCLASS_IV_TBL, st_foreach_safe(), and st_init_numtable().
Referenced by mod_cvar_of(), and rb_mod_class_variables().
|
static |
Definition at line 2457 of file variable.c.
References mod, mod_cvar_at(), and RCLASS_SUPER.
Referenced by rb_mod_class_variables().
NORETURN | ( | static void | uninitialized_constantVALUE, ID | ) |
Definition at line 1254 of file variable.c.
References obj_ivar_tag::arg, func, obj_ivar_tag::func, key, obj_ivar_tag::obj, obj_ivar_i(), ROBJECT_IV_INDEX_TBL, st_foreach_safe(), and val.
Referenced by rb_ivar_foreach().
Definition at line 1241 of file variable.c.
References obj_ivar_tag::arg, obj_ivar_tag::func, key, obj_ivar_tag::obj, Qundef, ROBJECT_IVPTR, ROBJECT_NUMIV, ST_CONTINUE, and val.
Referenced by obj_ivar_each().
Definition at line 2292 of file variable.c.
References RB_TYPE_P, RBASIC, and T_ICLASS.
Referenced by rb_cvar_get(), and rb_cvar_set().
Definition at line 863 of file variable.c.
References ALLOC, global_variable::block_trace, global_variable::counter, global_entry, trace_var::next, rb_eRuntimeError, rb_eSecurityError, rb_global_entry(), rb_global_tbl, rb_raise(), rb_safe_level, st_add_direct(), st_lookup(), global_variable::trace, and xfree().
Referenced by Init_load(), and m_core_set_variable_alias().
Definition at line 1122 of file variable.c.
References FALSE, and ivar_get().
Referenced by 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_equal(), 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(), name_err_to_s(), 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(), rb_using_module(), 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(), str_associate(), str_associated(), syserr_eqq(), syserr_errno(), vm_call0_body(), and vm_getivar().
Definition at line 1604 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, mod, OBJ_FREEZE, PRIsVALUE, Qnil, Qundef, QUOTE_ID, rb_const_set(), rb_eArgError, rb_eNameError, rb_is_const_id(), rb_raise(), rb_safe_level, rb_str_new2(), RCLASS_CONST_TBL, RCLASS_IV_TBL, autoload_data_i::safe_level, st_add_direct(), st_init_numtable(), st_insert(), st_lookup(), autoload_data_i::thread, TypedData_Wrap_Struct, and autoload_data_i::value.
Referenced by rb_dl_init_callbacks(), and rb_mod_autoload().
Definition at line 1765 of file variable.c.
References args, autoload_const_set(), autoload_defined_p(), autoload_require(), check_autoload_data, check_autoload_required(), id, mod, 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, and autoload_data_i::thread.
Referenced by rb_const_get_0(), and vm_get_ev_const().
Definition at line 1810 of file variable.c.
References autoload_defined_p(), check_autoload_data, check_autoload_required(), autoload_data_i::feature, mod, Qnil, and RCLASS_SUPER.
Referenced by rb_mod_autoload_p().
Definition at line 1711 of file variable.c.
References autoload_data(), check_autoload_data, mod, Qundef, rb_thread_current(), autoload_data_i::thread, and autoload_data_i::value.
Referenced by autoload_defined_p(), rb_const_defined_0(), rb_const_get_0(), and vm_get_ev_const().
Definition at line 389 of file variable.c.
References fc_result::klass, name, rb_class_name(), and RSTRING_PTR.
Referenced by method_inspect(), mnew(), pst_inspect(), r_object0(), rb_define_class_id_under(), rb_define_module_id_under(), rb_io_s_new(), rb_mod_define_method(), rb_mod_remove_method(), rb_obj_alloc(), rb_obj_classname(), rb_thread_current_status(), rb_vm_bugreport(), remove_method(), thread_s_new(), and umethod_bind().
Definition at line 383 of file variable.c.
References fc_result::klass, 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(), mString_to_json_raw_object(), name_err_mesg_to_str(), name_err_to_s(), rb_any_to_s(), rb_class2name(), 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_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(), set_const_visibility(), uninitialized_constant(), and w_extended().
Definition at line 261 of file variable.c.
References fc_result::klass, NIL_P, fc_result::path, rb_ivar_set(), rb_str_dup(), and rb_tmp_class_path().
Referenced by class2path(), ossl_cipher_init(), and rb_class_name().
Definition at line 276 of file variable.c.
References fc_result::klass, NIL_P, null_cache(), fc_result::path, rb_str_dup(), and rb_tmp_class_path().
Definition at line 2103 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 |
Definition at line 2067 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_lookup(), T_MODULE, and rb_const_entry_struct::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().
Definition at line 2109 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().
Definition at line 2097 of file variable.c.
References FALSE, rb_const_defined_0(), and TRUE.
Definition at line 1876 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_get(), save_env(), set_argv(), syserr_eqq(), syserr_initialize(), vm_get_ev_const(), and vm_set_main_stack().
Definition at line 1825 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_lookup(), T_MODULE, and rb_const_entry_struct::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().
Definition at line 1882 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_get(), and rb_path_to_class().
Definition at line 1870 of file variable.c.
References FALSE, rb_const_get_0(), and TRUE.
VALUE rb_const_list | ( | void * | data | ) |
Definition at line 2017 of file variable.c.
References list_i(), st_table::num_entries, rb_ary_new2(), st_foreach_safe(), and st_free_table().
Referenced by rb_mod_constants(), and rb_mod_s_constants().
Definition at line 1938 of file variable.c.
References autoload_delete(), id, mod, OBJ_UNTRUSTED, PRIsVALUE, Qnil, Qundef, QUOTE_ID, rb_check_frozen, rb_class_name(), rb_const_defined_at(), rb_eSecurityError, rb_name_error(), rb_raise(), rb_safe_level, rb_vm_change_state(), RCLASS_CONST_TBL, st_delete(), v, val, and xfree().
Referenced by rb_mod_remove_const(), and ruby_init_prelude().
Definition at line 2141 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, name, NIL_P, PRIsVALUE, Qundef, QUOTE_ID, rb_class_name(), rb_cObject, rb_compile_warn(), rb_eTypeError, rb_raise(), rb_sourcefilename(), rb_sourceline(), rb_thread_current(), rb_vm_change_state(), rb_warn(), RCLASS_CONST_TBL, RSTRING_PTR, st_delete(), st_init_numtable(), st_insert(), st_lookup(), autoload_data_i::thread, val, 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().
Definition at line 1047 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_free_table(), st_insert(), and st_lookup().
Referenced by d_lite_marshal_dump(), d_lite_marshal_load(), init_copy(), nucomp_marshal_dump(), nurat_marshal_dump(), rb_hash_dup(), time_mdump(), and time_mload().
Definition at line 2409 of file variable.c.
References name, rb_cvar_get(), rb_intern, rb_is_class_id(), and rb_name_error().
Definition at line 2399 of file variable.c.
References name, rb_cvar_set(), rb_intern, rb_is_class_id(), rb_name_error(), and val.
Definition at line 2391 of file variable.c.
References CVAR_LOOKUP, Qfalse, and Qtrue.
Referenced by rb_mod_cvar_defined(), and rb_mod_remove_cvar().
Definition at line 2364 of file variable.c.
References BUILTIN_TYPE, CVAR_LOOKUP, id, original_module(), PRIsVALUE, QUOTE_ID, rb_class_name(), rb_name_error(), rb_warning(), RCLASS_IV_TBL, RTEST, ruby_verbose, st_delete(), and T_CLASS.
Referenced by rb_cv_get(), and rb_mod_cvar_get().
Definition at line 2331 of file variable.c.
References BUILTIN_TYPE, check_before_mod_set(), CVAR_LOOKUP, id, original_module(), PRIsVALUE, QUOTE_ID, rb_class_name(), rb_warning(), RCLASS_IV_TBL, RTEST, ruby_verbose, st_delete(), st_init_numtable(), st_insert(), T_CLASS, and val.
Referenced by rb_cv_set(), rb_define_class_variable(), and rb_mod_cvar_set().
Definition at line 2419 of file variable.c.
References name, rb_cvar_set(), rb_intern, rb_is_class_id(), rb_name_error(), and val.
Definition at line 2204 of file variable.c.
References name, rb_cObject, rb_const_set(), rb_intern, rb_is_const_id(), rb_secure(), rb_warn(), and val.
Referenced by exp1(), Init_bigdecimal(), Init_Complex(), Init_cparse(), Init_curses(), Init_date_core(), 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_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_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().
Definition at line 2218 of file variable.c.
References name, rb_cObject, rb_define_const(), and val.
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 575 of file variable.c.
References global_variable::data, global_variable::getter, global_id(), gvar_getter_t, gvar_setter_t, global_variable::marker, name, Qnil, RB_GC_GUARD, rb_global_entry(), global_variable::setter, 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().
Definition at line 600 of file variable.c.
References name, rb_define_hooked_variable(), and readonly_setter.
Referenced by Init_IO().
Definition at line 594 of file variable.c.
References name, and 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 606 of file variable.c.
References global_variable::getter, name, rb_define_hooked_variable(), readonly_setter, global_variable::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 847 of file variable.c.
References buf, gvar_i(), i, ID2SYM, rb_ary_new(), rb_ary_push(), rb_global_tbl, rb_intern2(), and st_foreach_safe().
Referenced by Init_eval().
Definition at line 646 of file variable.c.
References ALLOC, argc, argv, 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_secure(), rb_to_id(), rb_trace_eval(), and trace_var::removed.
Referenced by Init_eval().
Definition at line 706 of file variable.c.
References argc, argv, 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(), rb_secure(), remove_trace(), trace_var::removed, and st_lookup().
Referenced by Init_eval(), and rb_f_trace_var().
void rb_free_generic_ivar | ( | VALUE | obj | ) |
Definition at line 1028 of file variable.c.
References generic_iv_tbl, key, 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 552 of file variable.c.
References mark_global_entry(), rb_global_tbl, and st_foreach_safe().
Referenced by gc_marks().
RUBY_FUNC_EXPORTED size_t rb_generic_ivar_memsize | ( | VALUE | obj | ) |
Definition at line 1038 of file variable.c.
References generic_iv_tbl, st_lookup(), and st_memsize().
Referenced by memsize_of().
Definition at line 904 of file variable.c.
References FL_EXIVAR, FL_TEST, generic_iv_tbl, and st_lookup().
struct global_entry* rb_global_entry | ( | ID | id | ) |
Definition at line 440 of file variable.c.
References ALLOC, global_variable::block_trace, global_variable::counter, global_variable::data, global_variable::getter, global_entry, id, global_variable::marker, rb_global_tbl, global_variable::setter, st_add_direct(), 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().
Definition at line 813 of file variable.c.
References global_entry, global_id(), name, rb_global_entry(), and rb_gvar_get().
Referenced by ip_ruby_cmd_receiver_get(), load_file(), and mSyslog_open().
Definition at line 804 of file variable.c.
References global_entry, global_id(), name, rb_global_entry(), rb_gvar_set(), and val.
Referenced by process_sflag(), and restore_lineno().
VALUE rb_gvar_defined | ( | struct global_entry * | entry | ) |
Definition at line 822 of file variable.c.
References Qfalse, Qtrue, and undef_getter.
VALUE rb_gvar_get | ( | struct global_entry * | entry | ) |
Definition at line 752 of file variable.c.
References global_variable::data, and global_variable::getter.
Referenced by rb_gv_get().
VALUE rb_gvar_set | ( | struct global_entry * | entry, |
VALUE | val | ||
) |
Definition at line 785 of file variable.c.
References global_variable::block_trace, global_variable::data, rb_ensure(), rb_eSecurityError, rb_raise(), rb_safe_level, global_variable::setter, global_variable::trace, trace_data::trace, trace_en(), trace_ev(), and val.
Referenced by rb_gv_set().
Definition at line 2586 of file variable.c.
References name, rb_intern, and rb_ivar_get().
Referenced by call_trace_func(), callback(), cvar_front_klass(), 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(), rb_mod_to_s(), rb_thread_variable_get(), rb_thread_variable_p(), rb_thread_variable_set(), rb_thread_variables(), ruby_cleanup(), set_state_ivars(), ssl_renegotiation_cb(), and sysexit_status().
Definition at line 2594 of file variable.c.
References name, rb_intern, rb_ivar_set(), and val.
Referenced by 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(), ruby_thread_init(), setup_exception(), and syserr_initialize().
st_index_t rb_ivar_count | ( | VALUE | obj | ) |
Definition at line 1299 of file variable.c.
References BUILTIN_TYPE, count, FL_EXIVAR, FL_TEST, generic_iv_tbl, i, st_table::num_entries, Qundef, rb_special_const_p(), RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, ROBJECT_IVPTR, SPECIAL_CONST_P, st_lookup(), T_CLASS, T_MODULE, and T_OBJECT.
Referenced by rb_obj_inspect().
Definition at line 1204 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_lookup(), T_CLASS, T_MODULE, T_OBJECT, and val.
Referenced by get_digest_base_metadata(), rb_obj_ivar_defined(), and struct_ivar_get().
Definition at line 1271 of file variable.c.
References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, func, generic_iv_tbl, obj_ivar_each(), rb_special_const_p(), RCLASS_IV_TBL, SPECIAL_CONST_P, st_foreach_safe(), st_lookup(), T_CLASS, T_MODULE, and T_OBJECT.
Referenced by inspect_obj(), rb_obj_instance_variables(), and w_objivar().
Definition at line 1116 of file variable.c.
References ivar_get(), and TRUE.
Referenced by add_event_call_back(), ary2list(), ary2list2(), chunk_i(), cState_aref(), 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_obj_ivar_get(), rb_undef(), reduce(), singleton_class_of(), slicebefore_i(), struct_ivar_get(), tcl_protect_core(), tkobj_path(), vm_getivar(), and zstream_run().
Definition at line 1128 of file variable.c.
References ALLOC_N, st_table::as, BUILTIN_TYPE, generic_ivar_set(), i, MEMCPY, st_table::num_entries, OBJ_UNTRUSTED, Qundef, rb_check_frozen, rb_eSecurityError, rb_obj_class(), rb_raise(), rb_safe_level, 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_init_numtable(), st_insert(), st_lookup(), T_CLASS, T_MODULE, T_OBJECT, and val.
Referenced by add_event_call_back(), ary2list(), ary2list2(), cbsubst_initialize(), create_encoding_table_core(), create_ip_exc(), cState_aset(), enc_set_index(), enum_chunk(), enum_slice_before(), enumerable_lazy(), eval_string_with_cref(), 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_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(), rb_struct_define_without_accessor(), readline_s_set_completion_case_fold(), readline_s_set_completion_proc(), ruby_init_loadpath_safe(), set_strpath(), setup_struct(), sockopt_initialize(), str_associate(), time_mdump(), time_mload(), vm_call0_body(), and vm_setivar().
void rb_mark_generic_ivar | ( | VALUE | obj | ) |
Definition at line 990 of file variable.c.
References generic_iv_tbl, rb_mark_tbl(), and st_lookup().
Referenced by gc_mark_children().
void rb_mark_generic_ivar_tbl | ( | void | ) |
Definition at line 1020 of file variable.c.
References generic_iv_tbl, givar_i(), special_generic_ivar, and st_foreach_safe().
Referenced by gc_marks().
Definition at line 2511 of file variable.c.
References argc, argv, cvar_list(), mod, mod_cvar_at(), mod_cvar_of(), Qtrue, rb_scan_args(), and RTEST.
Referenced by Init_Object().
void* rb_mod_const_at | ( | VALUE | mod, |
void * | data | ||
) |
Definition at line 1982 of file variable.c.
References mod, RCLASS_CONST_TBL, st_foreach_safe(), st_init_numtable(), and sv_i().
Referenced by rb_mod_const_of(), rb_mod_constants(), and rb_mod_s_constants().
Definition at line 1518 of file variable.c.
References name, 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 1995 of file variable.c.
References mod, rb_cObject, rb_mod_const_at(), and RCLASS_SUPER.
Referenced by rb_mod_constants(), and rb_mod_s_constants().
Definition at line 2046 of file variable.c.
References argc, argv, mod, Qtrue, rb_const_list(), rb_mod_const_at(), rb_mod_const_of(), rb_scan_args(), and RTEST.
Referenced by Init_Object(), and rb_mod_s_constants().
Definition at line 210 of file variable.c.
References classname(), mod, NIL_P, fc_result::path, and rb_str_dup().
Referenced by Init_Object().
Definition at line 2271 of file variable.c.
References argc, argv, CONST_PRIVATE, and set_const_visibility().
Referenced by Init_Object().
Definition at line 2285 of file variable.c.
References argc, argv, CONST_PUBLIC, and set_const_visibility().
Referenced by Init_Object().
Definition at line 1916 of file variable.c.
References mod, name, 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().
Definition at line 2552 of file variable.c.
References id, mod, name, OBJ_UNTRUSTED, PRIsVALUE, QUOTE, QUOTE_ID, rb_check_frozen, rb_check_id(), rb_class_name(), rb_cvar_defined(), rb_eSecurityError, rb_is_class_id(), rb_is_class_name(), rb_name_error(), rb_name_error_str(), rb_raise(), rb_safe_level, RCLASS_IV_TBL, st_delete(), UNREACHABLE, and val.
Referenced by Init_Object().
Definition at line 377 of file variable.c.
References classid, ID2SYM, fc_result::klass, and rb_ivar_set().
Referenced by boot_defclass(), rb_define_class(), and rb_define_module_id().
Definition at line 396 of file variable.c.
References CLASS_OF, and rb_class2name().
Referenced by addrinfo_inspect(), d_lite_inspect(), define_final(), define_final0(), divmodv(), econv_inspect(), enc_inspect(), enum_zip(), eval_string_with_cref(), folevariant_initialize(), generator_initialize(), init_copy(), inspect_enumerator(), iseq_inspect(), lazy_zip(), match_inspect(), method_inspect(), must_encoding(), must_respond_to(), nucomp_coerce(), num_exact(), nurat_coerce(), path_inspect(), proc_to_s(), rand_init(), range_bsearch(), range_each(), range_step(), rb_ary_bsearch(), rb_big_coerce(), rb_builtin_class_name(), rb_check_inheritable(), rb_check_safe_str(), rb_check_typeddata(), rb_cmperr(), rb_define_final(), rb_define_module(), rb_define_module_id_under(), rb_digest_instance_inspect(), rb_digest_instance_method_unimpl(), rb_error_untrusted(), 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(), rescue_callback(), setup_exception(), sockopt_inspect(), take_items(), time_timespec(), uscore_get(), vm_caller_setup_args(), w_object(), and wdivmod().
Definition at line 1368 of file variable.c.
References ivar_i(), rb_ary_new(), and rb_ivar_foreach().
Definition at line 1400 of file variable.c.
References BUILTIN_TYPE, FL_EXIVAR, FL_TEST, generic_ivar_remove(), id, name, OBJ_UNTRUSTED, PRIsVALUE, Qnil, Qundef, QUOTE, QUOTE_ID, rb_check_frozen, rb_check_id(), rb_eSecurityError, rb_is_instance_id(), rb_is_instance_name(), rb_name_error(), rb_name_error_str(), rb_raise(), rb_safe_level, rb_special_const_p(), RCLASS_IV_TBL, ROBJECT_IV_INDEX_TBL, ROBJECT_IVPTR, ROBJECT_NUMIV, SPECIAL_CONST_P, st_delete(), st_lookup(), T_CLASS, T_MODULE, T_OBJECT, UNREACHABLE, v, and val.
Referenced by Init_Object().
Definition at line 371 of file variable.c.
References fc_result::path, rb_path_to_class(), and rb_str_new_cstr().
Referenced by convert_UTF8_to_JSON_ASCII(), Init_bubblebabble(), Init_generator(), Init_md5(), Init_ossl_digest(), Init_parser(), Init_rmd160(), Init_sha1(), Init_sha2(), Init_tcltklib(), and path2class().
Definition at line 331 of file variable.c.
References id, p, 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, and T_MODULE.
Referenced by class2path(), path2class(), path2module(), r_object0(), and rb_path2class().
Definition at line 2121 of file variable.c.
References FALSE, rb_const_defined_0(), and TRUE.
Definition at line 2127 of file variable.c.
References FALSE, rb_const_defined_0(), and TRUE.
Definition at line 2115 of file variable.c.
References rb_const_defined_0(), and TRUE.
Referenced by vm_get_ev_const().
Definition at line 1894 of file variable.c.
References FALSE, rb_const_get_0(), and TRUE.
Definition at line 1900 of file variable.c.
References FALSE, rb_const_get_0(), and TRUE.
Definition at line 1888 of file variable.c.
References rb_const_get_0(), and TRUE.
Referenced by vm_get_ev_const().
Definition at line 308 of file variable.c.
References classid, classpath, ID2SYM, fc_result::klass, name, OBJ_FREEZE, rb_cObject, rb_intern, rb_ivar_set(), rb_str_cat2(), rb_str_dup(), rb_str_new2(), rb_tmp_class_path(), and tmp_classpath.
Referenced by Init_IO().
Definition at line 285 of file variable.c.
References classid, classpath, ID2SYM, fc_result::klass, name, 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(), and tmp_classpath.
Referenced by rb_define_class_id_under(), and rb_define_module_id_under().
|
static |
Definition at line 222 of file variable.c.
References classname(), fc_result::klass, NIL_P, OBJ_FREEZE, fc_result::path, rb_cModule, rb_obj_class(), rb_sprintf(), RB_TYPE_P, RBASIC, RCLASS_IV_TBL, RSTRING_PTR, st_lookup(), T_MODULE, and tmp_classpath.
Referenced by rb_class_path(), rb_class_path_no_cache(), rb_set_class_path(), and rb_set_class_path_string().
Definition at line 617 of file variable.c.
References rb_ary_new3(), rb_eval_cmd(), and val.
Referenced by rb_f_trace_var().
void readonly_setter | ( | VALUE | val, |
ID | id, | ||
void * | data, | ||
struct global_variable * | gvar | ||
) |
Definition at line 530 of file variable.c.
References PRIsVALUE, QUOTE_ID, and rb_name_error().
|
static |
Definition at line 674 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().
Definition at line 1675 of file variable.c.
References rb_set_safe_level_force().
Referenced by check_autoload_required(), and rb_autoload_load().
|
static |
Definition at line 2224 of file variable.c.
References argc, argv, i, id, mod, OBJ_UNTRUSTED, PRIsVALUE, QUOTE, QUOTE_ID, rb_check_id(), rb_class_name(), rb_clear_cache_by_class(), rb_eSecurityError, rb_frame_this_func(), rb_name_error(), rb_name_error_str(), rb_raise(), rb_safe_level, rb_warning(), RCLASS_CONST_TBL, st_lookup(), v, and val.
Referenced by rb_mod_private_constant(), and rb_mod_public_constant().
Definition at line 1967 of file variable.c.
References key, rb_is_const_id(), ST_CONTINUE, st_insert(), st_lookup(), and v.
Referenced by rb_mod_const_at().
|
static |
Definition at line 777 of file variable.c.
References global_variable::block_trace, Qnil, and remove_trace().
Referenced by rb_gvar_set().
|
static |
Definition at line 764 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 468 of file variable.c.
References PRIsVALUE, Qnil, QUOTE_ID, and rb_warning().
void undef_marker | ( | VALUE * | var | ) |
Definition at line 486 of file variable.c.
void undef_setter | ( | VALUE | val, |
ID | id, | ||
void * | data, | ||
struct global_variable * | var | ||
) |
Definition at line 476 of file variable.c.
References global_variable::data, global_variable::getter, global_variable::marker, global_variable::setter, val, val_getter, val_marker, and val_setter.
Definition at line 1463 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 491 of file variable.c.
void val_marker | ( | VALUE * | var | ) |
Definition at line 503 of file variable.c.
References rb_gc_mark_maybe().
void val_setter | ( | VALUE | val, |
ID | id, | ||
void * | data, | ||
struct global_variable * | var | ||
) |
Definition at line 497 of file variable.c.
References global_variable::data, and val.
VALUE var_getter | ( | ID | id, |
void * | data, | ||
struct global_variable * | gvar | ||
) |
Definition at line 510 of file variable.c.
References Qnil.
void var_marker | ( | VALUE * | var | ) |
Definition at line 524 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 518 of file variable.c.
References val.
|
static |
Definition at line 24 of file variable.c.
Referenced by autoload_data(), autoload_delete(), Init_var_tables(), and rb_autoload().
|
static |
Definition at line 1595 of file variable.c.
Referenced by rb_autoload().
|
static |
Definition at line 1545 of file variable.c.
Referenced by rb_autoload().
|
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().
|
static |
Definition at line 24 of file variable.c.
Referenced by classname(), fc_path(), find_class_path(), Init_var_tables(), rb_set_class_path(), and rb_set_class_path_string().
|
static |
Definition at line 901 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 22 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().
|
static |
Definition at line 900 of file variable.c.
Referenced by generic_ivar_set(), and rb_mark_generic_ivar_tbl().
|
static |
Definition at line 24 of file variable.c.
Referenced by classname(), find_class_path(), Init_var_tables(), rb_set_class_path(), rb_set_class_path_string(), and rb_tmp_class_path().