#include "ruby/ruby.h"#include "ruby/st.h"#include "ruby/util.h"#include "ruby/encoding.h"#include "internal.h"#include <errno.h>#include "probes.h"Go to the source code of this file.
Data Structures | |
| struct | foreach_safe_arg |
| struct | hash_foreach_arg |
| struct | update_callback_arg |
| struct | update_arg |
| struct | rehash_arg |
| struct | shift_var |
| struct | equal_data |
| struct | update_func_arg |
| struct | reset_hash_type_arg |
Defines | |
| #define | HAS_EXTRA_STATES(hash, klass) |
| #define | HASH_REJECT_COPY_EXTRA_STATES 1 |
| #define | identhash st_hashtype_num |
| #define | NOINSERT_UPDATE_CALLBACK(func) |
| #define | UPDATE_CALLBACK(iter_lev, func) ((iter_lev) > 0 ? func##_noinsert : func##_insert) |
| #define | RHASH_UPDATE_ITER(h, iter_lev, key, func, a) |
| #define | RHASH_UPDATE(hash, key, func, arg) RHASH_UPDATE_ITER(hash, RHASH_ITER_LEV(hash), key, func, arg) |
| #define | GET_ENVIRON(e) (e) |
| #define | FREE_ENVIRON(e) |
| #define | ENVMATCH(n1, n2) (strcmp((n1), (n2)) == 0) |
| #define | ENVNMATCH(s1, s2, n) (memcmp((s1), (s2), (n)) == 0) |
| #define | rb_intern(str) rb_intern_const(str) |
Typedefs | |
| typedef int | st_foreach_func (st_data_t, st_data_t, st_data_t) |
| typedef int | rb_foreach_func (VALUE, VALUE, VALUE) |
Functions | |
| static VALUE | has_extra_methods (VALUE klass) |
| static VALUE | rb_hash_s_try_convert (VALUE, VALUE) |
| VALUE | rb_hash_freeze (VALUE hash) |
| VALUE | rb_hash_set_ifnone (VALUE hash, VALUE ifnone) |
| static int | rb_any_cmp (VALUE a, VALUE b) |
| static VALUE | hash_recursive (VALUE obj, VALUE arg, int recurse) |
| VALUE | rb_hash (VALUE obj) |
| long | rb_objid_hash (st_index_t index) |
| static st_index_t | rb_any_hash (VALUE a) |
| static int | foreach_safe_i (st_data_t key, st_data_t value, st_data_t args, int error) |
| void | st_foreach_safe (st_table *table, int(*func)(ANYARGS), st_data_t a) |
| static int | hash_foreach_iter (st_data_t key, st_data_t value, st_data_t argp, int error) |
| static VALUE | hash_foreach_ensure_rollback (VALUE hash) |
| static VALUE | hash_foreach_ensure (VALUE hash) |
| static VALUE | hash_foreach_call (VALUE arg) |
| void | rb_hash_foreach (VALUE hash, int(*func)(ANYARGS), VALUE farg) |
| static VALUE | hash_alloc (VALUE klass) |
| static VALUE | empty_hash_alloc (VALUE klass) |
| VALUE | rb_hash_new (void) |
| static VALUE | rb_hash_dup_empty (VALUE hash) |
| VALUE | rb_hash_dup (VALUE hash) |
| static void | rb_hash_modify_check (VALUE hash) |
| static struct st_table * | hash_tbl (VALUE hash) |
| struct st_table * | rb_hash_tbl (VALUE hash) |
| struct st_table * | rb_hash_tbl_raw (VALUE hash) |
| static void | rb_hash_modify (VALUE hash) |
| NORETURN (static void no_new_key(void)) | |
| static void | no_new_key (void) |
| static int | tbl_update (VALUE hash, VALUE key, int(*func)(st_data_t *key, st_data_t *val, st_data_t arg, int existing), st_data_t optional_arg) |
| static void | default_proc_arity_check (VALUE proc) |
| static VALUE | rb_hash_initialize (int argc, VALUE *argv, VALUE hash) |
| static VALUE | rb_hash_s_create (int argc, VALUE *argv, VALUE klass) |
| static VALUE | to_hash (VALUE hash) |
| VALUE | rb_check_hash_type (VALUE hash) |
| static int | rb_hash_rehash_i (VALUE key, VALUE value, VALUE arg) |
| static VALUE | rb_hash_rehash (VALUE hash) |
| static VALUE | hash_default_value (VALUE hash, VALUE key) |
| VALUE | rb_hash_aref (VALUE hash, VALUE key) |
| VALUE | rb_hash_lookup2 (VALUE hash, VALUE key, VALUE def) |
| VALUE | rb_hash_lookup (VALUE hash, VALUE key) |
| static VALUE | rb_hash_fetch_m (int argc, VALUE *argv, VALUE hash) |
| VALUE | rb_hash_fetch (VALUE hash, VALUE key) |
| static VALUE | rb_hash_default (int argc, VALUE *argv, VALUE hash) |
| static VALUE | rb_hash_set_default (VALUE hash, VALUE ifnone) |
| static VALUE | rb_hash_default_proc (VALUE hash) |
| static VALUE | rb_hash_set_default_proc (VALUE hash, VALUE proc) |
| static int | key_i (VALUE key, VALUE value, VALUE arg) |
| static VALUE | rb_hash_key (VALUE hash, VALUE value) |
| static VALUE | rb_hash_index (VALUE hash, VALUE value) |
| static VALUE | rb_hash_delete_key (VALUE hash, VALUE key) |
| VALUE | rb_hash_delete (VALUE hash, VALUE key) |
| static int | shift_i_safe (VALUE key, VALUE value, VALUE arg) |
| static VALUE | rb_hash_shift (VALUE hash) |
| static int | delete_if_i (VALUE key, VALUE value, VALUE hash) |
| static VALUE | rb_hash_size (VALUE hash) |
| static VALUE | hash_enum_size (VALUE hash, VALUE args, VALUE eobj) |
| VALUE | rb_hash_delete_if (VALUE hash) |
| VALUE | rb_hash_reject_bang (VALUE hash) |
| static int | reject_i (VALUE key, VALUE value, VALUE result) |
| VALUE | rb_hash_reject (VALUE hash) |
| VALUE | rb_hash_values_at (int argc, VALUE *argv, VALUE hash) |
| static int | select_i (VALUE key, VALUE value, VALUE result) |
| VALUE | rb_hash_select (VALUE hash) |
| static int | keep_if_i (VALUE key, VALUE value, VALUE hash) |
| VALUE | rb_hash_select_bang (VALUE hash) |
| VALUE | rb_hash_keep_if (VALUE hash) |
| static int | clear_i (VALUE key, VALUE value, VALUE dummy) |
| VALUE | rb_hash_clear (VALUE hash) |
| static int | hash_aset (st_data_t *key, st_data_t *val, struct update_arg *arg, int existing) |
| static int | hash_aset_str (st_data_t *key, st_data_t *val, struct update_arg *arg, int existing) |
| NOINSERT_UPDATE_CALLBACK (hash_aset) | |
| NOINSERT_UPDATE_CALLBACK (hash_aset_str) | |
| VALUE | rb_hash_aset (VALUE hash, VALUE key, VALUE val) |
| static int | replace_i (VALUE key, VALUE val, VALUE hash) |
| static VALUE | rb_hash_initialize_copy (VALUE hash, VALUE hash2) |
| static VALUE | rb_hash_replace (VALUE hash, VALUE hash2) |
| static VALUE | rb_hash_empty_p (VALUE hash) |
| static int | each_value_i (VALUE key, VALUE value) |
| static VALUE | rb_hash_each_value (VALUE hash) |
| static int | each_key_i (VALUE key, VALUE value) |
| static VALUE | rb_hash_each_key (VALUE hash) |
| static int | each_pair_i (VALUE key, VALUE value) |
| static int | each_pair_i_fast (VALUE key, VALUE value) |
| static VALUE | rb_hash_each_pair (VALUE hash) |
| static int | to_a_i (VALUE key, VALUE value, VALUE ary) |
| static VALUE | rb_hash_to_a (VALUE hash) |
| static int | inspect_i (VALUE key, VALUE value, VALUE str) |
| static VALUE | inspect_hash (VALUE hash, VALUE dummy, int recur) |
| static VALUE | rb_hash_inspect (VALUE hash) |
| static VALUE | rb_hash_to_hash (VALUE hash) |
| static VALUE | rb_hash_to_h (VALUE hash) |
| static int | keys_i (VALUE key, VALUE value, VALUE ary) |
| VALUE | rb_hash_keys (VALUE hash) |
| static int | values_i (VALUE key, VALUE value, VALUE ary) |
| VALUE | rb_hash_values (VALUE hash) |
| static VALUE | rb_hash_has_key (VALUE hash, VALUE key) |
| static int | rb_hash_search_value (VALUE key, VALUE value, VALUE arg) |
| static VALUE | rb_hash_has_value (VALUE hash, VALUE val) |
| static int | eql_i (VALUE key, VALUE val1, VALUE arg) |
| static VALUE | recursive_eql (VALUE hash, VALUE dt, int recur) |
| static VALUE | hash_equal (VALUE hash1, VALUE hash2, int eql) |
| static VALUE | rb_hash_equal (VALUE hash1, VALUE hash2) |
| static VALUE | rb_hash_eql (VALUE hash1, VALUE hash2) |
| static int | hash_i (VALUE key, VALUE val, VALUE arg) |
| static VALUE | rb_hash_hash (VALUE hash) |
| static int | rb_hash_invert_i (VALUE key, VALUE value, VALUE hash) |
| static VALUE | rb_hash_invert (VALUE hash) |
| static int | rb_hash_update_callback (st_data_t *key, st_data_t *value, struct update_arg *arg, int existing) |
| NOINSERT_UPDATE_CALLBACK (rb_hash_update_callback) | |
| static int | rb_hash_update_i (VALUE key, VALUE value, VALUE hash) |
| static int | rb_hash_update_block_callback (st_data_t *key, st_data_t *value, struct update_arg *arg, int existing) |
| NOINSERT_UPDATE_CALLBACK (rb_hash_update_block_callback) | |
| static int | rb_hash_update_block_i (VALUE key, VALUE value, VALUE hash) |
| static VALUE | rb_hash_update (VALUE hash1, VALUE hash2) |
| static int | rb_hash_update_func_callback (st_data_t *key, st_data_t *value, struct update_arg *arg, int existing) |
| NOINSERT_UPDATE_CALLBACK (rb_hash_update_func_callback) | |
| static int | rb_hash_update_func_i (VALUE key, VALUE value, VALUE arg0) |
| VALUE | rb_hash_update_by (VALUE hash1, VALUE hash2, rb_hash_update_func *func) |
| static VALUE | rb_hash_merge (VALUE hash1, VALUE hash2) |
| static int | assoc_cmp (VALUE a, VALUE b) |
| static VALUE | lookup2_call (VALUE arg) |
| static VALUE | reset_hash_type (VALUE arg) |
| static int | assoc_i (VALUE key, VALUE val, VALUE arg) |
| VALUE | rb_hash_assoc (VALUE hash, VALUE key) |
| static int | rassoc_i (VALUE key, VALUE val, VALUE arg) |
| VALUE | rb_hash_rassoc (VALUE hash, VALUE obj) |
| static int | flatten_i (VALUE key, VALUE val, VALUE ary) |
| static VALUE | rb_hash_flatten (int argc, VALUE *argv, VALUE hash) |
| static VALUE | rb_hash_compare_by_id_p (VALUE hash) |
| static VALUE | rb_hash_compare_by_id (VALUE hash) |
| static VALUE | env_str_new (const char *ptr, long len) |
| static VALUE | env_str_new2 (const char *ptr) |
| static VALUE | env_delete (VALUE obj, VALUE name) |
| static VALUE | env_delete_m (VALUE obj, VALUE name) |
| static int | env_path_tainted (const char *) |
| static VALUE | rb_f_getenv (VALUE obj, VALUE name) |
| static VALUE | env_fetch (int argc, VALUE *argv) |
| static void | path_tainted_p (const char *path) |
| int | rb_env_path_tainted (void) |
| static int | envix (const char *nam) |
| NORETURN (static void invalid_envname(const char *name)) | |
| static void | invalid_envname (const char *name) |
| static const char * | check_envname (const char *name) |
| void | ruby_setenv (const char *name, const char *value) |
| void | ruby_unsetenv (const char *name) |
| static VALUE | env_aset (VALUE obj, VALUE nm, VALUE val) |
| static VALUE | env_keys (void) |
| static VALUE | rb_env_size (VALUE ehash, VALUE args, VALUE eobj) |
| static VALUE | env_each_key (VALUE ehash) |
| static VALUE | env_values (void) |
| static VALUE | env_each_value (VALUE ehash) |
| static VALUE | env_each_pair (VALUE ehash) |
| static VALUE | env_reject_bang (VALUE ehash) |
| static VALUE | env_delete_if (VALUE ehash) |
| static VALUE | env_values_at (int argc, VALUE *argv) |
| static VALUE | env_select (VALUE ehash) |
| static VALUE | env_select_bang (VALUE ehash) |
| static VALUE | env_keep_if (VALUE ehash) |
| VALUE | rb_env_clear (void) |
| static VALUE | env_to_s (void) |
| static VALUE | env_inspect (void) |
| static VALUE | env_to_a (void) |
| static VALUE | env_none (void) |
| static VALUE | env_size (void) |
| static VALUE | env_empty_p (void) |
| static VALUE | env_has_key (VALUE env, VALUE key) |
| static VALUE | env_assoc (VALUE env, VALUE key) |
| static VALUE | env_has_value (VALUE dmy, VALUE obj) |
| static VALUE | env_rassoc (VALUE dmy, VALUE obj) |
| static VALUE | env_key (VALUE dmy, VALUE value) |
| static VALUE | env_index (VALUE dmy, VALUE value) |
| static VALUE | env_to_hash (void) |
| static VALUE | env_reject (void) |
| static VALUE | env_shift (void) |
| static VALUE | env_invert (void) |
| static int | env_replace_i (VALUE key, VALUE val, VALUE keys) |
| static VALUE | env_replace (VALUE env, VALUE hash) |
| static int | env_update_i (VALUE key, VALUE val) |
| static VALUE | env_update (VALUE env, VALUE hash) |
| void | Init_Hash (void) |
Variables | |
| VALUE | rb_cHash |
| static VALUE | envtbl |
| static ID | id_hash |
| static ID | id_yield |
| static ID | id_default |
| static ID | id_flatten_bang |
| static struct st_hash_type | objhash |
| struct st_hash_type | st_hashtype_num |
| static int | path_tainted = -1 |
| static char ** | origenviron |
| char ** | environ |
| #define ENVMATCH | ( | n1, | |||
| n2 | ) | (strcmp((n1), (n2)) == 0) |
Definition at line 2519 of file hash.c.
Referenced by env_aset(), env_delete(), env_fetch(), and rb_f_getenv().
| #define ENVNMATCH | ( | s1, | |||
| s2, | |||||
| n | ) | (memcmp((s1), (s2), (n)) == 0) |
| #define FREE_ENVIRON | ( | e | ) |
Definition at line 2513 of file hash.c.
Referenced by env_each_pair(), env_empty_p(), env_has_value(), env_inspect(), env_key(), env_keys(), env_rassoc(), env_shift(), env_size(), env_to_a(), env_to_hash(), env_values(), envix(), and rb_env_size().
| #define GET_ENVIRON | ( | e | ) | (e) |
Definition at line 2512 of file hash.c.
Referenced by env_each_pair(), env_empty_p(), env_has_value(), env_inspect(), env_key(), env_keys(), env_rassoc(), env_shift(), env_size(), env_to_a(), env_to_hash(), env_values(), envix(), rb_env_size(), and ruby_setenv().
| #define HAS_EXTRA_STATES | ( | hash, | |||
| klass | ) |
( \
((klass = has_extra_methods(rb_obj_class(hash))) != 0) || \
FL_TEST((hash), FL_EXIVAR|FL_TAINT|HASH_PROC_DEFAULT) || \
!NIL_P(RHASH_IFNONE(hash)))
Definition at line 30 of file hash.c.
Referenced by rb_hash_reject().
| #define identhash st_hashtype_num |
Definition at line 173 of file hash.c.
Referenced by rb_hash_aset(), rb_hash_assoc(), rb_hash_compare_by_id(), and rb_hash_compare_by_id_p().
| #define NOINSERT_UPDATE_CALLBACK | ( | func | ) |
static int \ func##_noinsert(st_data_t *key, st_data_t *val, st_data_t arg, int existing) \ { \ if (!existing) no_new_key(); \ return func(key, val, (struct update_arg *)arg, existing); \ } \ \ static int \ func##_insert(st_data_t *key, st_data_t *val, st_data_t arg, int existing) \ { \ return func(key, val, (struct update_arg *)arg, existing); \ }
| #define rb_intern | ( | str | ) | rb_intern_const(str) |
| #define RHASH_UPDATE | ( | hash, | |||
| key, | |||||
| func, | |||||
| arg | ) | RHASH_UPDATE_ITER(hash, RHASH_ITER_LEV(hash), key, func, arg) |
Definition at line 435 of file hash.c.
Referenced by rb_hash_update_block_i(), rb_hash_update_func_i(), and rb_hash_update_i().
do { \ tbl_update((h), (key), UPDATE_CALLBACK((iter_lev), func), (st_data_t)(a)); \ } while (0)
Definition at line 431 of file hash.c.
Referenced by rb_hash_aset().
| typedef int rb_foreach_func(VALUE, VALUE, VALUE) |
| typedef int st_foreach_func(st_data_t, st_data_t, st_data_t) |
| static int assoc_cmp | ( | VALUE | a, | |
| VALUE | b | |||
| ) | [static] |
Definition at line 2260 of file hash.c.
References rb_equal(), and RTEST.
Referenced by rb_hash_assoc().
| static int assoc_i | ( | VALUE | key, | |
| VALUE | val, | |||
| VALUE | arg | |||
| ) | [static] |
Definition at line 2286 of file hash.c.
References args, rb_assoc_new(), rb_equal(), and RTEST.
Referenced by rb_hash_assoc().
| static const char* check_envname | ( | const char * | name | ) | [static] |
Definition at line 2746 of file hash.c.
References invalid_envname(), and strchr().
Referenced by ruby_setenv().
| static int clear_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | dummy | |||
| ) | [static] |
Definition at line 1316 of file hash.c.
Referenced by rb_hash_clear().
| static void default_proc_arity_check | ( | VALUE | proc | ) | [static] |
Definition at line 439 of file hash.c.
References rb_eTypeError, rb_proc_arity(), rb_proc_lambda_p(), and rb_raise().
Referenced by rb_hash_initialize(), and rb_hash_set_default_proc().
| static int delete_if_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | hash | |||
| ) | [static] |
Definition at line 1071 of file hash.c.
References rb_yield_values(), and RTEST.
Referenced by rb_hash_delete_if(), and rb_hash_reject_bang().
| static int each_key_i | ( | VALUE | key, | |
| VALUE | value | |||
| ) | [static] |
| static int each_pair_i | ( | VALUE | key, | |
| VALUE | value | |||
| ) | [static] |
Definition at line 1604 of file hash.c.
References rb_assoc_new(), and rb_yield().
Referenced by rb_hash_each_pair().
| static int each_pair_i_fast | ( | VALUE | key, | |
| VALUE | value | |||
| ) | [static] |
Definition at line 1611 of file hash.c.
References rb_yield_values().
Referenced by rb_hash_each_pair().
| static int each_value_i | ( | VALUE | key, | |
| VALUE | value | |||
| ) | [static] |
| static VALUE empty_hash_alloc | ( | VALUE | klass | ) | [static] |
Definition at line 297 of file hash.c.
References hash_alloc(), rb_sourcefile, rb_sourceline(), RUBY_DTRACE_HASH_CREATE, and RUBY_DTRACE_HASH_CREATE_ENABLED.
Referenced by Init_Hash().
| static VALUE env_aset | ( | VALUE | obj, | |
| VALUE | nm, | |||
| VALUE | val | |||
| ) | [static] |
Definition at line 2880 of file hash.c.
References env_delete(), ENVMATCH, name, NIL_P, OBJ_TAINTED, PATH_ENV, path_tainted_p(), Qnil, rb_eArgError, rb_raise(), RSTRING_LEN, RSTRING_PTR, ruby_setenv(), and SafeStringValue.
Referenced by env_replace_i(), env_update_i(), and Init_Hash().
| static VALUE env_assoc | ( | VALUE | env, | |
| VALUE | key | |||
| ) | [static] |
Definition at line 3400 of file hash.c.
References getenv, Qnil, rb_assoc_new(), rb_eArgError, rb_raise(), rb_tainted_str_new2, RSTRING_LEN, RSTRING_PTR, and SafeStringValue.
Referenced by Init_Hash().
| static VALUE env_delete | ( | VALUE | obj, | |
| VALUE | name | |||
| ) | [static] |
Definition at line 2544 of file hash.c.
References env_str_new2(), ENVMATCH, getenv, PATH_ENV, Qnil, rb_eArgError, rb_raise(), RSTRING_LEN, RSTRING_PTR, ruby_setenv(), SafeStringValue, and val.
Referenced by env_aset(), env_delete_m(), env_reject_bang(), env_replace(), env_select_bang(), env_shift(), and rb_env_clear().
| static VALUE env_delete_if | ( | VALUE | ehash | ) | [static] |
Definition at line 3111 of file hash.c.
References env_reject_bang(), envtbl, rb_env_size(), and RETURN_SIZED_ENUMERATOR.
Referenced by Init_Hash().
| static VALUE env_delete_m | ( | VALUE | obj, | |
| VALUE | name | |||
| ) | [static] |
Definition at line 2576 of file hash.c.
References env_delete(), NIL_P, rb_block_given_p(), rb_yield(), and val.
Referenced by Init_Hash().
| static VALUE env_each_key | ( | VALUE | ehash | ) | [static] |
Definition at line 2962 of file hash.c.
References env_keys(), RARRAY_AREF, RARRAY_LEN, rb_env_size(), rb_yield(), and RETURN_SIZED_ENUMERATOR.
Referenced by Init_Hash().
| static VALUE env_each_pair | ( | VALUE | ehash | ) | [static] |
Definition at line 3035 of file hash.c.
References env_str_new(), env_str_new2(), FREE_ENVIRON, GET_ENVIRON, RARRAY_AREF, RARRAY_LEN, rb_ary_new(), rb_ary_push(), rb_assoc_new(), rb_block_arity(), rb_env_size(), rb_yield(), rb_yield_values(), RETURN_SIZED_ENUMERATOR, and strchr().
Referenced by Init_Hash().
| static VALUE env_each_value | ( | VALUE | ehash | ) | [static] |
Definition at line 3010 of file hash.c.
References env_values(), RARRAY_AREF, RARRAY_LEN, rb_env_size(), rb_yield(), and RETURN_SIZED_ENUMERATOR.
Referenced by Init_Hash().
| static VALUE env_empty_p | ( | void | ) | [static] |
Definition at line 3357 of file hash.c.
References FREE_ENVIRON, GET_ENVIRON, Qfalse, and Qtrue.
Referenced by Init_Hash().
| static VALUE env_fetch | ( | int | argc, | |
| VALUE * | argv | |||
| ) | [static] |
Definition at line 2636 of file hash.c.
References env, env_path_tainted(), env_str_new2(), ENVMATCH, getenv, PATH_ENV, PRIsVALUE, rb_block_given_p(), rb_eArgError, rb_eKeyError, rb_filesystem_encoding(), rb_filesystem_str_new_cstr(), rb_raise(), rb_scan_args(), rb_str_conv_enc(), rb_str_new(), rb_utf8_encoding(), rb_warn(), rb_yield(), RSTRING_LEN, RSTRING_PTR, SafeStringValue, and strlen().
Referenced by Init_Hash().
| static VALUE env_has_key | ( | VALUE | env, | |
| VALUE | key | |||
| ) | [static] |
Definition at line 3380 of file hash.c.
References getenv, Qfalse, Qtrue, rb_eArgError, rb_raise(), RSTRING_LEN, RSTRING_PTR, and SafeStringValue.
Referenced by Init_Hash().
| static VALUE env_has_value | ( | VALUE | dmy, | |
| VALUE | obj | |||
| ) | [static] |
Definition at line 3421 of file hash.c.
References FREE_ENVIRON, GET_ENVIRON, NIL_P, Qfalse, Qnil, Qtrue, rb_check_safe_obj(), rb_check_string_type(), RSTRING_LEN, RSTRING_PTR, strchr(), and strlen().
Referenced by Init_Hash().
| static VALUE env_index | ( | VALUE | dmy, | |
| VALUE | value | |||
| ) | [static] |
Definition at line 3514 of file hash.c.
References env_key(), and rb_warn().
Referenced by Init_Hash().
| static VALUE env_inspect | ( | void | ) | [static] |
Definition at line 3259 of file hash.c.
References FREE_ENVIRON, GET_ENVIRON, OBJ_TAINT, rb_inspect(), rb_str_buf_append(), rb_str_buf_cat(), rb_str_buf_cat2(), rb_str_buf_new2, rb_str_new2, and strchr().
Referenced by Init_Hash().
| static VALUE env_invert | ( | void | ) | [static] |
Definition at line 3597 of file hash.c.
References env_to_hash(), and rb_hash_invert().
Referenced by Init_Hash().
| static VALUE env_keep_if | ( | VALUE | ehash | ) | [static] |
Definition at line 3211 of file hash.c.
References env_select_bang(), envtbl, rb_env_size(), and RETURN_SIZED_ENUMERATOR.
Referenced by Init_Hash().
| static VALUE env_key | ( | VALUE | dmy, | |
| VALUE | value | |||
| ) | [static] |
Definition at line 3484 of file hash.c.
References env_str_new(), FREE_ENVIRON, GET_ENVIRON, Qnil, RSTRING_LEN, RSTRING_PTR, SafeStringValue, strchr(), and strlen().
Referenced by env_index(), and Init_Hash().
| static VALUE env_keys | ( | void | ) | [static] |
Definition at line 2918 of file hash.c.
References env_str_new(), FREE_ENVIRON, GET_ENVIRON, rb_ary_new(), rb_ary_push(), and strchr().
Referenced by env_each_key(), env_reject_bang(), env_replace(), env_select(), env_select_bang(), Init_Hash(), and rb_env_clear().
| static VALUE env_none | ( | void | ) | [static] |
| static int env_path_tainted | ( | const char * | path | ) | [static] |
Definition at line 2676 of file hash.c.
References path_tainted_p().
Referenced by env_fetch(), and rb_f_getenv().
| static VALUE env_rassoc | ( | VALUE | dmy, | |
| VALUE | obj | |||
| ) | [static] |
Definition at line 3452 of file hash.c.
References FREE_ENVIRON, GET_ENVIRON, NIL_P, Qnil, rb_assoc_new(), rb_check_safe_obj(), rb_check_string_type(), rb_tainted_str_new(), result, RSTRING_LEN, RSTRING_PTR, strchr(), and strlen().
Referenced by Init_Hash().
| static VALUE env_reject | ( | void | ) | [static] |
Definition at line 3557 of file hash.c.
References env_to_hash(), and rb_hash_delete_if().
Referenced by Init_Hash().
| static VALUE env_reject_bang | ( | VALUE | ehash | ) | [static] |
Definition at line 3078 of file hash.c.
References env_delete(), env_keys(), envtbl, FL_TAINT, FL_UNSET, NIL_P, Qnil, RARRAY_AREF, RARRAY_LEN, rb_env_size(), rb_f_getenv(), rb_yield_values(), RBASIC_CLEAR_CLASS, RETURN_SIZED_ENUMERATOR, RTEST, and val.
Referenced by env_delete_if(), and Init_Hash().
| static VALUE env_replace | ( | VALUE | env, | |
| VALUE | hash | |||
| ) | [static] |
Definition at line 3620 of file hash.c.
References env_delete(), env_keys(), env_replace_i(), RARRAY_AREF, RARRAY_LEN, rb_hash_foreach(), and to_hash().
Referenced by Init_Hash().
| static int env_replace_i | ( | VALUE | key, | |
| VALUE | val, | |||
| VALUE | keys | |||
| ) | [static] |
Definition at line 3603 of file hash.c.
References env_aset(), Qnil, rb_ary_delete(), and rb_ary_includes().
Referenced by env_replace().
| static VALUE env_select | ( | VALUE | ehash | ) | [static] |
Definition at line 3148 of file hash.c.
References env_keys(), NIL_P, Qnil, RARRAY_AREF, RARRAY_LEN, rb_env_size(), rb_f_getenv(), rb_hash_aset(), rb_hash_new(), rb_yield_values(), result, RETURN_SIZED_ENUMERATOR, RTEST, and val.
Referenced by Init_Hash().
| static VALUE env_select_bang | ( | VALUE | ehash | ) | [static] |
Definition at line 3178 of file hash.c.
References env_delete(), env_keys(), envtbl, FL_TAINT, FL_UNSET, NIL_P, Qnil, RARRAY_AREF, RARRAY_LEN, rb_env_size(), rb_f_getenv(), rb_yield_values(), RBASIC_CLEAR_CLASS, RETURN_SIZED_ENUMERATOR, RTEST, and val.
Referenced by env_keep_if(), and Init_Hash().
| static VALUE env_shift | ( | void | ) | [static] |
Definition at line 3570 of file hash.c.
References env_delete(), env_str_new(), env_str_new2(), FREE_ENVIRON, GET_ENVIRON, getenv, Qnil, rb_assoc_new(), result, RSTRING_PTR, strchr(), and val.
Referenced by Init_Hash().
| static VALUE env_size | ( | void | ) | [static] |
Definition at line 3338 of file hash.c.
References FREE_ENVIRON, GET_ENVIRON, and INT2FIX.
Referenced by Init_Hash().
| static VALUE env_str_new | ( | const char * | ptr, | |
| long | len | |||
| ) | [static] |
Definition at line 2524 of file hash.c.
References rb_locale_encoding(), rb_locale_str_new(), rb_obj_freeze(), rb_str_conv_enc(), rb_str_new(), and rb_utf8_encoding().
Referenced by env_each_pair(), env_key(), env_keys(), env_shift(), env_str_new2(), env_to_a(), and env_to_hash().
| static VALUE env_str_new2 | ( | const char * | ptr | ) | [static] |
Definition at line 2537 of file hash.c.
References env_str_new(), Qnil, and strlen().
Referenced by env_delete(), env_each_pair(), env_fetch(), env_shift(), env_to_a(), env_to_hash(), env_values(), and rb_f_getenv().
| static VALUE env_to_a | ( | void | ) | [static] |
Definition at line 3298 of file hash.c.
References env_str_new(), env_str_new2(), FREE_ENVIRON, GET_ENVIRON, rb_ary_new(), rb_ary_push(), rb_assoc_new(), and strchr().
Referenced by Init_Hash().
| static VALUE env_to_hash | ( | void | ) | [static] |
Definition at line 3529 of file hash.c.
References env_str_new(), env_str_new2(), FREE_ENVIRON, GET_ENVIRON, rb_hash_aset(), rb_hash_new(), and strchr().
Referenced by env_invert(), env_reject(), and Init_Hash().
| static VALUE env_to_s | ( | void | ) | [static] |
| static VALUE env_update | ( | VALUE | env, | |
| VALUE | hash | |||
| ) | [static] |
Definition at line 3657 of file hash.c.
References env_update_i(), rb_hash_foreach(), and to_hash().
Referenced by Init_Hash().
| static int env_update_i | ( | VALUE | key, | |
| VALUE | val | |||
| ) | [static] |
Definition at line 3637 of file hash.c.
References env_aset(), Qnil, rb_block_given_p(), rb_f_getenv(), and rb_yield_values().
Referenced by env_update().
| static VALUE env_values | ( | void | ) | [static] |
Definition at line 2982 of file hash.c.
References env_str_new2(), FREE_ENVIRON, GET_ENVIRON, rb_ary_new(), rb_ary_push(), and strchr().
Referenced by env_each_value(), and Init_Hash().
| static VALUE env_values_at | ( | int | argc, | |
| VALUE * | argv | |||
| ) | [static] |
Definition at line 3126 of file hash.c.
References Qnil, rb_ary_new(), rb_ary_push(), rb_f_getenv(), and result.
Referenced by Init_Hash().
| static int envix | ( | const char * | nam | ) | [static] |
Definition at line 2706 of file hash.c.
References ENVNMATCH, FREE_ENVIRON, GET_ENVIRON, and strlen().
Referenced by ruby_setenv().
| static int eql_i | ( | VALUE | key, | |
| VALUE | val1, | |||
| VALUE | arg | |||
| ) | [static] |
Definition at line 1929 of file hash.c.
References equal_data::eql, Qfalse, rb_eql(), rb_equal(), equal_data::result, st_lookup(), and equal_data::tbl.
Referenced by recursive_eql().
| static int flatten_i | ( | VALUE | key, | |
| VALUE | val, | |||
| VALUE | ary | |||
| ) | [static] |
| static int foreach_safe_i | ( | st_data_t | key, | |
| st_data_t | value, | |||
| st_data_t | args, | |||
| int | error | |||
| ) | [static] |
Definition at line 184 of file hash.c.
References foreach_safe_arg::arg, and foreach_safe_arg::func.
Referenced by st_foreach_safe().
| static VALUE has_extra_methods | ( | VALUE | klass | ) | [static] |
Definition at line 37 of file hash.c.
References rb_cHash, RCLASS_M_TBL, and RCLASS_SUPER.
| static VALUE hash_alloc | ( | VALUE | klass | ) | [static] |
Definition at line 287 of file hash.c.
References FL_WB_PROTECTED, NEWOBJ_OF, Qnil, RGENGC_WB_PROTECTED_HASH, RHASH_SET_IFNONE, and T_HASH.
Referenced by empty_hash_alloc(), rb_hash_new(), rb_hash_rehash(), and rb_hash_s_create().
| static int hash_aset | ( | st_data_t * | key, | |
| st_data_t * | val, | |||
| struct update_arg * | arg, | |||
| int | existing | |||
| ) | [static] |
Definition at line 1349 of file hash.c.
References update_arg::arg, update_arg::new_key, update_arg::new_value, and update_arg::old_value.
Referenced by hash_aset_str(), and rb_hash_aset().
| static int hash_aset_str | ( | st_data_t * | key, | |
| st_data_t * | val, | |||
| struct update_arg * | arg, | |||
| int | existing | |||
| ) | [static] |
Definition at line 1364 of file hash.c.
References hash_aset(), and rb_str_new_frozen().
Referenced by rb_hash_aset().
| static VALUE hash_default_value | ( | VALUE | hash, | |
| VALUE | key | |||
| ) | [static] |
Definition at line 678 of file hash.c.
References CLASS_OF, FL_TEST, HASH_PROC_DEFAULT, id_default, id_yield, Qnil, Qundef, rb_funcall(), rb_method_basic_definition_p(), and RHASH_IFNONE.
Referenced by rb_hash_aref(), and rb_hash_shift().
| static VALUE hash_enum_size | ( | VALUE | hash, | |
| VALUE | args, | |||
| VALUE | eobj | |||
| ) | [static] |
Definition at line 1082 of file hash.c.
References rb_hash_size().
Referenced by rb_hash_delete_if(), rb_hash_each_key(), rb_hash_each_pair(), rb_hash_each_value(), rb_hash_keep_if(), rb_hash_reject(), rb_hash_reject_bang(), rb_hash_select(), and rb_hash_select_bang().
| static VALUE hash_equal | ( | VALUE | hash1, | |
| VALUE | hash2, | |||
| int | eql | |||
| ) | [static] |
Definition at line 1959 of file hash.c.
References equal_data::eql, FL_TEST, HASH_PROC_DEFAULT, Qfalse, Qtrue, rb_eql(), rb_equal(), rb_exec_recursive_paired(), rb_intern, rb_respond_to(), RB_TYPE_P, recursive_eql(), RHASH, RHASH_IFNONE, RHASH_SIZE, T_HASH, and equal_data::tbl.
Referenced by rb_hash_eql(), and rb_hash_equal().
| static VALUE hash_foreach_call | ( | VALUE | arg | ) | [static] |
Definition at line 263 of file hash.c.
References hash(), hash_foreach_iter(), Qnil, Qundef, rb_eRuntimeError, rb_raise(), RHASH, and st_foreach_check().
Referenced by rb_hash_foreach().
| static VALUE hash_foreach_ensure | ( | VALUE | hash | ) | [static] |
Definition at line 251 of file hash.c.
References FL_TEST, FL_UNSET, HASH_DELETED, Qundef, RHASH, RHASH_ITER_LEV, and st_cleanup_safe().
Referenced by Init_Hash(), and rb_hash_foreach().
| static VALUE hash_foreach_ensure_rollback | ( | VALUE | hash | ) | [static] |
| static int hash_foreach_iter | ( | st_data_t | key, | |
| st_data_t | value, | |||
| st_data_t | argp, | |||
| int | error | |||
| ) | [static] |
Definition at line 219 of file hash.c.
References hash_foreach_arg::arg, FL_SET, hash_foreach_arg::func, hash_foreach_arg::hash, HASH_DELETED, rb_eRuntimeError, rb_raise(), and RHASH.
Referenced by hash_foreach_call().
| static int hash_i | ( | VALUE | key, | |
| VALUE | val, | |||
| VALUE | arg | |||
| ) | [static] |
Definition at line 2030 of file hash.c.
References rb_hash(), and st_hash().
Referenced by rb_hash_hash().
| static VALUE hash_recursive | ( | VALUE | obj, | |
| VALUE | arg, | |||
| int | recurse | |||
| ) | [static] |
| static struct st_table* hash_tbl | ( | VALUE | hash | ) | [static, read] |
Definition at line 344 of file hash.c.
References objhash, RHASH, and st_init_table().
Referenced by rb_hash_aset(), rb_hash_modify(), rb_hash_replace(), rb_hash_tbl(), and rb_hash_tbl_raw().
| void Init_Hash | ( | void | ) |
Definition at line 3779 of file hash.c.
References empty_hash_alloc(), env_aset(), env_assoc(), env_delete_if(), env_delete_m(), env_each_key(), env_each_pair(), env_each_value(), env_empty_p(), env_fetch(), env_has_key(), env_has_value(), env_index(), env_inspect(), env_invert(), env_keep_if(), env_key(), env_keys(), env_none(), env_rassoc(), env_reject(), env_reject_bang(), env_replace(), env_select(), env_select_bang(), env_shift(), env_size(), env_to_a(), env_to_hash(), env_to_s(), env_update(), env_values(), env_values_at(), envtbl, hash_foreach_ensure(), hash_foreach_ensure_rollback(), id_default, id_flatten_bang, id_hash, id_yield, rb_cHash, rb_cObject, rb_define_alias(), rb_define_alloc_func(), rb_define_class(), rb_define_global_const(), rb_define_method(), rb_define_singleton_method(), rb_env_clear(), rb_extend_object(), rb_f_getenv(), rb_hash_aref(), rb_hash_aset(), rb_hash_assoc(), rb_hash_clear(), rb_hash_compare_by_id(), rb_hash_compare_by_id_p(), rb_hash_default(), rb_hash_default_proc(), rb_hash_delete(), rb_hash_delete_if(), rb_hash_each_key(), rb_hash_each_pair(), rb_hash_each_value(), rb_hash_empty_p(), rb_hash_eql(), rb_hash_equal(), rb_hash_fetch_m(), rb_hash_flatten(), rb_hash_has_key(), rb_hash_has_value(), rb_hash_hash(), rb_hash_index(), rb_hash_initialize(), rb_hash_initialize_copy(), rb_hash_inspect(), rb_hash_invert(), rb_hash_keep_if(), rb_hash_key(), rb_hash_keys(), rb_hash_merge(), rb_hash_rassoc(), rb_hash_rehash(), rb_hash_reject(), rb_hash_reject_bang(), rb_hash_replace(), rb_hash_s_create(), rb_hash_s_try_convert(), rb_hash_select(), rb_hash_select_bang(), rb_hash_set_default(), rb_hash_set_default_proc(), rb_hash_shift(), rb_hash_size(), rb_hash_to_a(), rb_hash_to_h(), rb_hash_to_hash(), rb_hash_update(), rb_hash_values(), rb_hash_values_at(), rb_include_module(), rb_intern, rb_mEnumerable, rb_obj_alloc(), and ruby_register_rollback_func_for_ensure().
| static VALUE inspect_hash | ( | VALUE | hash, | |
| VALUE | dummy, | |||
| int | recur | |||
| ) | [static] |
Definition at line 1703 of file hash.c.
References inspect_i(), OBJ_INFECT, rb_hash_foreach(), rb_str_buf_cat2(), rb_str_buf_new2, and rb_usascii_str_new2.
Referenced by rb_hash_inspect().
| static int inspect_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | str | |||
| ) | [static] |
Definition at line 1681 of file hash.c.
References OBJ_INFECT, rb_enc_copy(), rb_inspect(), rb_str_buf_append(), rb_str_buf_cat_ascii(), and RSTRING_LEN.
Referenced by inspect_hash().
| static void invalid_envname | ( | const char * | name | ) | [static] |
Definition at line 2740 of file hash.c.
References rb_sprintf(), and rb_syserr_fail_str().
Referenced by check_envname(), and ruby_setenv().
| static int keep_if_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | hash | |||
| ) | [static] |
Definition at line 1261 of file hash.c.
References rb_yield_values(), and RTEST.
Referenced by rb_hash_keep_if(), and rb_hash_select_bang().
| static int key_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | arg | |||
| ) | [static] |
Definition at line 922 of file hash.c.
References args, and rb_equal().
Referenced by rb_hash_key().
| static int keys_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | ary | |||
| ) | [static] |
| static VALUE lookup2_call | ( | VALUE | arg | ) | [static] |
Definition at line 2266 of file hash.c.
References args, Qundef, and rb_hash_lookup2().
Referenced by rb_hash_assoc().
| static void no_new_key | ( | void | ) | [static] |
Definition at line 374 of file hash.c.
References rb_eRuntimeError, and rb_raise().
Referenced by rb_hash_aset().
| NOINSERT_UPDATE_CALLBACK | ( | rb_hash_update_func_callback | ) |
| NOINSERT_UPDATE_CALLBACK | ( | rb_hash_update_block_callback | ) |
| NOINSERT_UPDATE_CALLBACK | ( | rb_hash_update_callback | ) |
| NOINSERT_UPDATE_CALLBACK | ( | hash_aset_str | ) |
| NOINSERT_UPDATE_CALLBACK | ( | hash_aset | ) |
| NORETURN | ( | static void | invalid_envnameconst char *name | ) |
| NORETURN | ( | static void | no_new_keyvoid | ) |
| static void path_tainted_p | ( | const char * | path | ) | [static] |
Definition at line 2670 of file hash.c.
References rb_path_check().
Referenced by env_aset(), env_path_tainted(), and rb_env_path_tainted().
| static int rassoc_i | ( | VALUE | key, | |
| VALUE | val, | |||
| VALUE | arg | |||
| ) | [static] |
Definition at line 2345 of file hash.c.
References args, rb_assoc_new(), rb_equal(), and RTEST.
Referenced by rb_hash_rassoc().
| static int rb_any_cmp | ( | VALUE | a, | |
| VALUE | b | |||
| ) | [static] |
| static st_index_t rb_any_hash | ( | VALUE | a | ) | [static] |
Definition at line 129 of file hash.c.
References BUILTIN_TYPE, FIX2LONG, FLONUM_P, Qundef, rb_dbl_hash(), rb_float_value, rb_hash(), rb_objid_hash(), rb_str_hash(), SPECIAL_CONST_P, T_FLOAT, and T_STRING.
Referenced by rb_objid_hash().
| VALUE rb_check_hash_type | ( | VALUE | hash | ) |
Definition at line 597 of file hash.c.
References rb_check_convert_type(), and T_HASH.
Referenced by get_hash(), rawmode_opt(), rb_econv_prepare_options(), rb_exec_getargs(), rb_Hash(), rb_hash_s_try_convert(), rb_io_s_popen(), rb_scan_args(), rb_str_sub_bang(), str_gsub(), and vm_callee_setup_keyword_arg().
| VALUE rb_env_clear | ( | void | ) |
Definition at line 3225 of file hash.c.
References env_delete(), env_keys(), envtbl, NIL_P, Qnil, RARRAY_AREF, RARRAY_LEN, rb_f_getenv(), and val.
Referenced by Init_Hash(), and rb_execarg_run_options().
| int rb_env_path_tainted | ( | void | ) |
Definition at line 2685 of file hash.c.
References getenv, PATH_ENV, and path_tainted_p().
Referenced by security().
| static VALUE rb_env_size | ( | VALUE | ehash, | |
| VALUE | args, | |||
| VALUE | eobj | |||
| ) | [static] |
Definition at line 2937 of file hash.c.
References cnt, FREE_ENVIRON, GET_ENVIRON, LONG2FIX, and strchr().
Referenced by env_delete_if(), env_each_key(), env_each_pair(), env_each_value(), env_keep_if(), env_reject_bang(), env_select(), and env_select_bang().
| static VALUE rb_f_getenv | ( | VALUE | obj, | |
| VALUE | name | |||
| ) | [static] |
Definition at line 2595 of file hash.c.
References env, env_path_tainted(), env_str_new2(), ENVMATCH, getenv, PATH_ENV, Qnil, rb_eArgError, rb_filesystem_encoding(), rb_filesystem_str_new_cstr(), rb_obj_freeze(), rb_raise(), rb_str_conv_enc(), rb_str_new(), rb_utf8_encoding(), RSTRING_LEN, RSTRING_PTR, SafeStringValue, and strlen().
Referenced by env_reject_bang(), env_select(), env_select_bang(), env_update_i(), env_values_at(), Init_Hash(), and rb_env_clear().
| VALUE rb_hash | ( | VALUE | obj | ) |
Definition at line 106 of file hash.c.
References CHAR_BIT, FIXNUM_P, hash_recursive(), INTEGER_PACK_NATIVE_BYTE_ORDER, LONG2FIX, rb_exec_recursive_outer(), rb_integer_pack(), rb_to_int(), RB_TYPE_P, and T_BIGNUM.
Referenced by cdhash_hash(), hash_i(), nucomp_hash(), nurat_hash(), range_hash(), rb_any_hash(), rb_ary_hash(), rb_struct_hash(), and time_hash().
| VALUE rb_hash_aref | ( | VALUE | hash, | |
| VALUE | key | |||
| ) |
Definition at line 706 of file hash.c.
References hash_default_value(), RHASH, st_lookup(), and val.
Referenced by cbsubst_get_subst_arg(), cbsubst_scan_args(), cbsubst_sym_to_subst(), cParser_initialize(), cState_configure(), cto_i(), dump_output(), econv_opts(), econv_primitive_convert(), extract_binmode(), generate_json_object(), group_by_i(), hash2ptr_dispparams(), hash2result(), Init_Hash(), io_read_nonblock(), io_s_write(), iseq_build_from_ary_body(), JSON_parse_object(), mString_Extend_json_create(), open_key_args(), ossl_ssl_read_internal(), ossl_ssl_write_nonblock(), parse_main(), pruby_get_instance(), rawmode_opt(), rb_econv_open_opts(), rb_econv_prepare_options(), rb_hash_values_at(), rb_io_extract_modeenc(), rb_io_initialize(), rb_io_write_nonblock(), rb_str_sub_bang(), rb_thread_variable_get(), rb_threadptr_pending_interrupt_check_mask(), realpath_rec(), recursive_list_access(), str_gsub(), str_transcode0(), strio_read_nonblock(), tk_do_callback(), tr_setup_table(), transcode_loop(), and zstream_run().
| VALUE rb_hash_aset | ( | VALUE | hash, | |
| VALUE | key, | |||
| VALUE | val | |||
| ) |
Definition at line 1402 of file hash.c.
References hash_aset(), hash_aset_str(), hash_tbl(), identhash, no_new_key(), rb_cString, rb_hash_modify(), rb_obj_class(), RHASH, RHASH_ITER_LEV, and RHASH_UPDATE_ITER.
Referenced by add_activated_refinement(), ary_add_hash(), ary_add_hash_by(), cbsubst_table_setup(), cdhash_set_label_i(), check_exec_fds(), check_exec_fds_1(), check_exec_options_i_extract(), collect_values_of_values(), core_hash_merge(), count_nodes(), count_objects(), count_objects_size(), coverage(), coverage_result_i(), cState_to_h(), cto_i(), date_zone_to_diff(), debug_lines(), enum_to_h_i(), env_select(), env_to_hash(), fdbm_invert(), fdbm_to_hash(), fgdbm_invert(), fgdbm_to_hash(), fsdbm_invert(), fsdbm_to_hash(), gc_profile_record_get(), group_by_i(), Init_GC(), Init_Hash(), Init_ossl_asn1(), Init_ossl_x509name(), io_s_write(), iseq_data_to_ary(), JSON_parse_object(), mString_to_json_raw_object(), ole_const_load(), ossl_dh_get_params(), ossl_dsa_get_params(), ossl_rsa_get_params(), ossl_sslctx_get_session_cache_stats(), pruby_register_instance(), r_object0(), rb_ary_to_h(), rb_econv_prepare_options(), rb_enc_aliases_enc_i(), rb_hash_invert_i(), rb_hash_s_create(), rb_inflate_add_dictionary(), rb_mod_refine(), rb_struct_to_h(), rb_thread_variable_set(), rb_uninterruptible(), rb_using_refinement(), rb_vm_add_root_module(), reachable_object_from_root_i(), realpath_rec(), recursive_list_access(), recursive_push(), reg_named_captures_iter(), reject_i(), replace_i(), ripper_init_eventids1_table(), ripper_init_eventids2_table(), select_i(), separate_symbol(), set_state_ivars(), set_zero(), set_zero_i(), sig_list(), tk_install_cmd_core(), to_strkey(), tr_setup_table(), tr_trans(), and when_vals().
| VALUE rb_hash_assoc | ( | VALUE | hash, | |
| VALUE | key | |||
| ) |
Definition at line 2312 of file hash.c.
References args, assoc_cmp(), assoc_i(), reset_hash_type_arg::hash, identhash, lookup2_call(), reset_hash_type_arg::orighash, Qnil, Qundef, rb_assoc_new(), rb_ensure(), rb_hash_foreach(), reset_hash_type(), RHASH, and RHASH_EMPTY_P.
Referenced by Init_Hash().
| VALUE rb_hash_clear | ( | VALUE | hash | ) |
Definition at line 1333 of file hash.c.
References clear_i(), rb_hash_foreach(), rb_hash_modify_check(), RHASH, RHASH_ITER_LEV, and st_clear().
Referenced by Init_Hash(), and rb_hash_replace().
| static VALUE rb_hash_compare_by_id | ( | VALUE | hash | ) | [static] |
Definition at line 2454 of file hash.c.
References identhash, rb_hash_compare_by_id_p(), rb_hash_modify(), rb_hash_rehash(), and RHASH.
Referenced by Init_Hash().
| static VALUE rb_hash_compare_by_id_p | ( | VALUE | hash | ) | [static] |
Definition at line 2473 of file hash.c.
References identhash, Qfalse, Qtrue, and RHASH.
Referenced by Init_Hash(), and rb_hash_compare_by_id().
| static VALUE rb_hash_default | ( | int | argc, | |
| VALUE * | argv, | |||
| VALUE | hash | |||
| ) | [static] |
Definition at line 818 of file hash.c.
References FL_TEST, HASH_PROC_DEFAULT, id_yield, Qnil, rb_funcall(), rb_scan_args(), and RHASH_IFNONE.
Referenced by Init_Hash().
| static VALUE rb_hash_default_proc | ( | VALUE | hash | ) | [static] |
Definition at line 876 of file hash.c.
References FL_TEST, HASH_PROC_DEFAULT, Qnil, and RHASH_IFNONE.
Referenced by Init_Hash().
| VALUE rb_hash_delete | ( | VALUE | hash, | |
| VALUE | key | |||
| ) |
Definition at line 1005 of file hash.c.
References Qnil, Qundef, rb_block_given_p(), rb_hash_delete_key(), rb_hash_modify_check(), rb_yield(), and val.
Referenced by Init_Hash(), pruby_unregister_instance(), recursive_pop(), and tk_uninstall_cmd().
| VALUE rb_hash_delete_if | ( | VALUE | hash | ) |
Definition at line 1103 of file hash.c.
References delete_if_i(), hash_enum_size(), rb_hash_foreach(), rb_hash_modify_check(), RETURN_SIZED_ENUMERATOR, and RHASH.
Referenced by env_reject(), fdbm_reject(), fgdbm_reject(), fsdbm_reject(), and Init_Hash().
| static VALUE rb_hash_delete_key | ( | VALUE | hash, | |
| VALUE | key | |||
| ) | [static] |
Definition at line 969 of file hash.c.
References FL_SET, HASH_DELETED, Qundef, RHASH, RHASH_ITER_LEV, st_delete(), st_delete_safe(), and val.
Referenced by rb_hash_delete(), and rb_hash_shift().
| VALUE rb_hash_dup | ( | VALUE | hash | ) |
Definition at line 329 of file hash.c.
References rb_hash_dup_empty(), RHASH, RHASH_EMPTY_P, and st_copy().
Referenced by io_s_write(), and rb_using_refinement().
| static VALUE rb_hash_dup_empty | ( | VALUE | hash | ) | [static] |
Definition at line 313 of file hash.c.
References FL_EXIVAR, FL_SET, FL_TAINT, FL_TEST, HASH_PROC_DEFAULT, NEWOBJ_OF, rb_copy_generic_ivar(), rb_obj_class(), RBASIC, RHASH_IFNONE, RHASH_SET_IFNONE, and T_MASK.
Referenced by rb_hash_dup(), and rb_hash_reject().
| static VALUE rb_hash_each_key | ( | VALUE | hash | ) | [static] |
Definition at line 1596 of file hash.c.
References each_key_i(), hash_enum_size(), rb_hash_foreach(), and RETURN_SIZED_ENUMERATOR.
Referenced by Init_Hash().
| static VALUE rb_hash_each_pair | ( | VALUE | hash | ) | [static] |
Definition at line 1640 of file hash.c.
References each_pair_i(), each_pair_i_fast(), hash_enum_size(), rb_block_arity(), rb_hash_foreach(), and RETURN_SIZED_ENUMERATOR.
Referenced by Init_Hash().
| static VALUE rb_hash_each_value | ( | VALUE | hash | ) | [static] |
Definition at line 1563 of file hash.c.
References each_value_i(), hash_enum_size(), rb_hash_foreach(), and RETURN_SIZED_ENUMERATOR.
Referenced by Init_Hash().
| static VALUE rb_hash_empty_p | ( | VALUE | hash | ) | [static] |
Definition at line 1531 of file hash.c.
References Qfalse, Qtrue, and RHASH_EMPTY_P.
Referenced by Init_Hash().
| static VALUE rb_hash_eql | ( | VALUE | hash1, | |
| VALUE | hash2 | |||
| ) | [static] |
Definition at line 2024 of file hash.c.
References hash_equal(), and TRUE.
Referenced by Init_Hash().
| static VALUE rb_hash_equal | ( | VALUE | hash1, | |
| VALUE | hash2 | |||
| ) | [static] |
Definition at line 2010 of file hash.c.
References FALSE, and hash_equal().
Referenced by Init_Hash().
| VALUE rb_hash_fetch | ( | VALUE | hash, | |
| VALUE | key | |||
| ) |
Definition at line 791 of file hash.c.
References rb_hash_fetch_m().
| static VALUE rb_hash_fetch_m | ( | int | argc, | |
| VALUE * | argv, | |||
| VALUE | hash | |||
| ) | [static] |
Definition at line 763 of file hash.c.
References NIL_P, PRIsVALUE, rb_any_to_s(), rb_block_given_p(), rb_eKeyError, rb_inspect(), rb_protect(), rb_raise(), rb_scan_args(), rb_str_ellipsize(), rb_warn(), rb_yield(), RHASH, st_lookup(), and val.
Referenced by Init_Hash(), and rb_hash_fetch().
| static VALUE rb_hash_flatten | ( | int | argc, | |
| VALUE * | argv, | |||
| VALUE | hash | |||
| ) | [static] |
Definition at line 2409 of file hash.c.
References flatten_i(), id_flatten_bang, INT2FIX, level, NUM2INT, rb_ary_new_capa(), rb_funcall2, rb_hash_foreach(), rb_hash_to_a(), and RHASH_SIZE.
Referenced by Init_Hash().
| void rb_hash_foreach | ( | VALUE | hash, | |
| int(*)(ANYARGS) | func, | |||
| VALUE | farg | |||
| ) |
Definition at line 273 of file hash.c.
References hash_foreach_arg::arg, func, hash_foreach_arg::func, hash_foreach_arg::hash, hash_foreach_call(), hash_foreach_ensure(), rb_ensure(), RHASH, and RHASH_ITER_LEV.
Referenced by cbsubst_def_attr_aliases(), core_hash_merge_kwd(), env_replace(), env_update(), initialize(), inspect_hash(), iseq_data_to_ary(), iseq_set_sequence(), JSON_parse_string(), rb_hash_assoc(), rb_hash_clear(), rb_hash_delete_if(), rb_hash_each_key(), rb_hash_each_pair(), rb_hash_each_value(), rb_hash_flatten(), rb_hash_has_value(), rb_hash_hash(), rb_hash_invert(), rb_hash_keep_if(), rb_hash_key(), rb_hash_keys(), rb_hash_rassoc(), rb_hash_rehash(), rb_hash_reject(), rb_hash_reject_bang(), rb_hash_replace(), rb_hash_select(), rb_hash_select_bang(), rb_hash_shift(), rb_hash_to_a(), rb_hash_update(), rb_hash_update_by(), rb_hash_values(), rb_thread_s_handle_interrupt(), rb_thread_variables(), reachable_objects_from_root(), recursive_eql(), using_module_recursive(), and w_object().
| VALUE rb_hash_freeze | ( | VALUE | hash | ) |
Definition at line 62 of file hash.c.
References rb_obj_freeze().
Referenced by rb_coverage_result(), and rb_econv_prepare_options().
| static VALUE rb_hash_has_key | ( | VALUE | hash, | |
| VALUE | key | |||
| ) | [static] |
Definition at line 1876 of file hash.c.
References Qfalse, Qtrue, RHASH, and st_lookup().
Referenced by Init_Hash().
| static VALUE rb_hash_has_value | ( | VALUE | hash, | |
| VALUE | val | |||
| ) | [static] |
Definition at line 1912 of file hash.c.
References Qfalse, rb_hash_foreach(), and rb_hash_search_value().
Referenced by Init_Hash().
| static VALUE rb_hash_hash | ( | VALUE | hash | ) | [static] |
Definition at line 2050 of file hash.c.
References hash_i(), INT2FIX, rb_hash_end, rb_hash_foreach(), rb_hash_start(), rb_hash_uint, RHASH_SIZE, and size.
Referenced by Init_Hash().
| static VALUE rb_hash_index | ( | VALUE | hash, | |
| VALUE | value | |||
| ) | [static] |
Definition at line 962 of file hash.c.
References rb_hash_key(), and rb_warn().
Referenced by Init_Hash().
| static VALUE rb_hash_initialize | ( | int | argc, | |
| VALUE * | argv, | |||
| VALUE | hash | |||
| ) | [static] |
Definition at line 485 of file hash.c.
References default_proc_arity_check(), FL_SET, HASH_PROC_DEFAULT, rb_block_given_p(), rb_block_proc(), rb_check_arity, rb_hash_modify(), rb_scan_args(), and RHASH_SET_IFNONE.
Referenced by Init_Hash().
| static VALUE rb_hash_initialize_copy | ( | VALUE | hash, | |
| VALUE | hash2 | |||
| ) | [static] |
Definition at line 1431 of file hash.c.
References Check_Type, FL_SET, FL_TEST, FL_UNSET, HASH_PROC_DEFAULT, rb_hash_modify_check(), rb_hash_rehash(), RHASH, RHASH_IFNONE, RHASH_SET_IFNONE, st_clear(), st_copy(), st_free_table(), T_HASH, and to_hash().
Referenced by Init_Hash().
| static VALUE rb_hash_inspect | ( | VALUE | hash | ) | [static] |
Definition at line 1728 of file hash.c.
References inspect_hash(), rb_exec_recursive(), rb_usascii_str_new2, and RHASH_EMPTY_P.
Referenced by Init_Hash().
| static VALUE rb_hash_invert | ( | VALUE | hash | ) | [static] |
Definition at line 2082 of file hash.c.
References rb_hash_foreach(), rb_hash_invert_i(), and rb_hash_new().
Referenced by env_invert(), and Init_Hash().
| static int rb_hash_invert_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | hash | |||
| ) | [static] |
| VALUE rb_hash_keep_if | ( | VALUE | hash | ) |
Definition at line 1306 of file hash.c.
References hash_enum_size(), keep_if_i(), rb_hash_foreach(), rb_hash_modify_check(), RETURN_SIZED_ENUMERATOR, and RHASH.
Referenced by Init_Hash().
| static VALUE rb_hash_key | ( | VALUE | hash, | |
| VALUE | value | |||
| ) | [static] |
Definition at line 948 of file hash.c.
References args, key_i(), Qnil, and rb_hash_foreach().
Referenced by Init_Hash(), and rb_hash_index().
| VALUE rb_hash_keys | ( | VALUE | hash | ) |
Definition at line 1792 of file hash.c.
References keys_i(), OBJ_PROMOTED, Qundef, RARRAY_PTR_USE, rb_ary_new_capa(), rb_ary_set_len(), rb_gc_writebarrier_remember_promoted(), rb_hash_foreach(), RHASH, RHASH_SIZE, size, ST_DATA_COMPATIBLE_P, and st_keys_check().
Referenced by Init_Hash().
| VALUE rb_hash_lookup | ( | VALUE | hash, | |
| VALUE | key | |||
| ) |
Definition at line 728 of file hash.c.
References Qnil, and rb_hash_lookup2().
| VALUE rb_hash_lookup2 | ( | VALUE | hash, | |
| VALUE | key, | |||
| VALUE | def | |||
| ) |
Definition at line 717 of file hash.c.
References RHASH, st_lookup(), and val.
Referenced by ary_add_hash(), ary_add_hash_by(), lookup2_call(), rb_hash_lookup(), rb_io_extract_encoding_option(), recursive_check(), recursive_pop(), and recursive_push().
| static VALUE rb_hash_merge | ( | VALUE | hash1, | |
| VALUE | hash2 | |||
| ) | [static] |
Definition at line 2254 of file hash.c.
References rb_hash_update(), and rb_obj_dup().
Referenced by Init_Hash().
| static void rb_hash_modify | ( | VALUE | hash | ) | [static] |
Definition at line 366 of file hash.c.
References hash_tbl(), and rb_hash_modify_check().
Referenced by rb_hash_aset(), rb_hash_compare_by_id(), rb_hash_initialize(), rb_hash_reject_bang(), rb_hash_update(), and rb_hash_update_by().
| static void rb_hash_modify_check | ( | VALUE | hash | ) | [static] |
Definition at line 338 of file hash.c.
References rb_check_frozen.
Referenced by rb_hash_clear(), rb_hash_delete(), rb_hash_delete_if(), rb_hash_initialize_copy(), rb_hash_keep_if(), rb_hash_modify(), rb_hash_rehash(), rb_hash_replace(), rb_hash_select_bang(), rb_hash_set_default(), rb_hash_set_default_proc(), and rb_hash_shift().
| VALUE rb_hash_new | ( | void | ) |
Definition at line 307 of file hash.c.
References hash_alloc(), and rb_cHash.
Referenced by allocate_cbsubst_info(), ary_tmp_hash_new(), check_exec_fds(), check_exec_options_i_extract(), core_hash_from_ary(), count_nodes(), count_objects(), count_objects_size(), count_tdata_objects(), create_encoding_table_core(), cState_to_h(), date__httpdate(), date__iso8601(), date__jisx0301(), date__parse(), date__rfc2822(), date__rfc3339(), date__xmlschema(), date_s__strptime_internal(), date_zone_to_diff(), enum_group_by(), enum_to_h(), env_select(), env_to_hash(), fdbm_invert(), fdbm_to_hash(), fgdbm_invert(), fgdbm_to_hash(), fsdbm_invert(), fsdbm_to_hash(), gc_latest_gc_info(), gc_profile_record_get(), gc_stat(), hidden_identity_hash_new(), ident_hash_new(), Init_BareVM(), Init_GC(), Init_ossl_asn1(), Init_ossl_x509name(), Init_sizeof(), Init_tkutil(), Init_VM(), io_s_write(), iseq_compile_each(), iseq_data_to_ary(), JSON_parse_object(), make_compile_option_value(), mString_to_json_raw_object(), nil_to_h(), ole_const_load(), ossl_dh_get_params(), ossl_dsa_get_params(), ossl_rsa_get_params(), ossl_sslctx_get_session_cache_stats(), pruby_init(), r_object0(), rb_ary_to_h(), rb_coverage_result(), rb_coverage_start(), rb_econv_prepare_options(), rb_enc_aliases(), rb_execarg_fixup(), rb_Hash(), rb_hash_invert(), rb_hash_reject(), rb_hash_select(), rb_hash_to_h(), rb_inflate_s_allocate(), rb_realpath_internal(), rb_reg_named_captures(), rb_struct_to_h(), rb_uninterruptible(), reachable_object_from_root_i(), reachable_objects_from_root(), recursive_push(), ripper_init_eventids1_table(), ripper_init_eventids2_table(), ruby_thread_init(), separate_symbol(), sig_list(), tk_symbolkey2str(), tr_setup_table(), tr_trans(), vm_callee_setup_keyword_arg(), vm_default_params(), and vm_stat().
| VALUE rb_hash_rassoc | ( | VALUE | hash, | |
| VALUE | obj | |||
| ) |
Definition at line 2370 of file hash.c.
References args, Qnil, rassoc_i(), and rb_hash_foreach().
Referenced by Init_Hash().
| static VALUE rb_hash_rehash | ( | VALUE | hash | ) | [static] |
Definition at line 654 of file hash.c.
References hash_alloc(), rb_eRuntimeError, rb_hash_foreach(), rb_hash_modify_check(), rb_hash_rehash_i(), rb_raise(), RHASH, RHASH_ITER_LEV, st_free_table(), and st_init_table_with_size().
Referenced by Init_Hash(), rb_hash_compare_by_id(), and rb_hash_initialize_copy().
| static int rb_hash_rehash_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | arg | |||
| ) | [static] |
| VALUE rb_hash_reject | ( | VALUE | hash | ) |
Definition at line 1159 of file hash.c.
References FL_EXIVAR, FL_TAINT, FL_TEST, HAS_EXTRA_STATES, hash_enum_size(), HASH_PROC_DEFAULT, NIL_P, PRIsVALUE, rb_hash_dup_empty(), rb_hash_foreach(), rb_hash_new(), rb_obj_instance_variables, rb_warn(), reject_i(), result, RETURN_SIZED_ENUMERATOR, RHASH_EMPTY_P, RHASH_IFNONE, RTEST, and ruby_verbose.
Referenced by Init_Hash().
| VALUE rb_hash_reject_bang | ( | VALUE | hash | ) |
Definition at line 1122 of file hash.c.
References delete_if_i(), hash_enum_size(), Qnil, rb_hash_foreach(), rb_hash_modify(), RETURN_SIZED_ENUMERATOR, RHASH, and RHASH_SIZE.
Referenced by Init_Hash().
| static VALUE rb_hash_replace | ( | VALUE | hash, | |
| VALUE | hash2 | |||
| ) | [static] |
Definition at line 1477 of file hash.c.
References FL_SET, FL_TEST, FL_UNSET, HASH_PROC_DEFAULT, hash_tbl(), rb_hash_clear(), rb_hash_foreach(), rb_hash_modify_check(), replace_i(), RHASH, RHASH_IFNONE, RHASH_SET_IFNONE, and to_hash().
Referenced by Init_Hash().
| static VALUE rb_hash_s_create | ( | int | argc, | |
| VALUE * | argv, | |||
| VALUE | klass | |||
| ) | [static] |
Definition at line 526 of file hash.c.
References hash_alloc(), NIL_P, Qnil, RARRAY_AREF, RARRAY_LEN, rb_builtin_class_name(), rb_check_array_type(), rb_eArgError, rb_hash_aset(), rb_hash_s_try_convert(), rb_raise(), rb_warn(), RHASH, st_copy(), and val.
Referenced by Init_Hash().
| static VALUE rb_hash_s_try_convert | ( | VALUE | dummy, | |
| VALUE | hash | |||
| ) | [static] |
Definition at line 614 of file hash.c.
References rb_check_hash_type().
Referenced by Init_Hash(), and rb_hash_s_create().
| static int rb_hash_search_value | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | arg | |||
| ) | [static] |
Definition at line 1887 of file hash.c.
References Qtrue, and rb_equal().
Referenced by rb_hash_has_value().
| VALUE rb_hash_select | ( | VALUE | hash | ) |
Definition at line 1248 of file hash.c.
References hash_enum_size(), rb_hash_foreach(), rb_hash_new(), result, RETURN_SIZED_ENUMERATOR, RHASH_EMPTY_P, and select_i().
Referenced by Init_Hash().
| VALUE rb_hash_select_bang | ( | VALUE | hash | ) |
Definition at line 1279 of file hash.c.
References hash_enum_size(), keep_if_i(), Qnil, rb_hash_foreach(), rb_hash_modify_check(), RETURN_SIZED_ENUMERATOR, and RHASH.
Referenced by Init_Hash().
| static VALUE rb_hash_set_default | ( | VALUE | hash, | |
| VALUE | ifnone | |||
| ) | [static] |
Definition at line 852 of file hash.c.
References FL_UNSET, HASH_PROC_DEFAULT, rb_hash_modify_check(), and RHASH_SET_IFNONE.
Referenced by Init_Hash().
| static VALUE rb_hash_set_default_proc | ( | VALUE | hash, | |
| VALUE | proc | |||
| ) | [static] |
Definition at line 898 of file hash.c.
References default_proc_arity_check(), FL_SET, FL_UNSET, HASH_PROC_DEFAULT, NIL_P, rb_check_convert_type(), rb_eTypeError, rb_hash_modify_check(), rb_obj_classname(), rb_obj_is_proc(), rb_raise(), RHASH_SET_IFNONE, and T_DATA.
Referenced by Init_Hash().
| VALUE rb_hash_set_ifnone | ( | VALUE | hash, | |
| VALUE | ifnone | |||
| ) |
Definition at line 73 of file hash.c.
References RB_OBJ_WRITE, and RHASH.
| static VALUE rb_hash_shift | ( | VALUE | hash | ) | [static] |
Definition at line 1047 of file hash.c.
References hash_default_value(), shift_var::key, Qnil, Qundef, rb_assoc_new(), rb_hash_delete_key(), rb_hash_foreach(), rb_hash_modify_check(), RHASH, RHASH_ITER_LEV, shift_i_safe(), st_shift(), and shift_var::val.
Referenced by Init_Hash().
| static VALUE rb_hash_size | ( | VALUE | hash | ) | [static] |
Definition at line 1514 of file hash.c.
References INT2FIX, and RHASH_SIZE.
Referenced by hash_enum_size(), and Init_Hash().
| struct st_table* rb_hash_tbl | ( | VALUE | hash | ) | [read] |
Definition at line 353 of file hash.c.
References hash_tbl(), and OBJ_WB_UNPROTECT.
Referenced by collect_values_of_values().
| struct st_table* rb_hash_tbl_raw | ( | VALUE | hash | ) | [read] |
Definition at line 360 of file hash.c.
References hash_tbl().
Referenced by clear_coverage(), ident_hash_new(), iseq_compile_each(), rb_ary_and(), rb_ary_diff(), rb_ary_uniq_bang(), rb_check_exec_env(), rb_check_exec_options(), rb_execarg_extract_options(), rb_extract_keywords(), and unknown_keyword_error().
| static VALUE rb_hash_to_a | ( | VALUE | hash | ) | [static] |
Definition at line 1669 of file hash.c.
References OBJ_INFECT, rb_ary_new_capa(), rb_hash_foreach(), RHASH_SIZE, and to_a_i().
Referenced by Init_Hash(), and rb_hash_flatten().
| static VALUE rb_hash_to_h | ( | VALUE | hash | ) | [static] |
Definition at line 1757 of file hash.c.
References FL_SET, FL_TEST, HASH_PROC_DEFAULT, rb_cHash, rb_hash_new(), rb_obj_class(), RHASH, RHASH_EMPTY_P, RHASH_IFNONE, RHASH_SET_IFNONE, and st_copy().
Referenced by Init_Hash().
| static VALUE rb_hash_to_hash | ( | VALUE | hash | ) | [static] |
Definition at line 1743 of file hash.c.
Referenced by Init_Hash().
| static VALUE rb_hash_update | ( | VALUE | hash1, | |
| VALUE | hash2 | |||
| ) | [static] |
Definition at line 2165 of file hash.c.
References rb_block_given_p(), rb_hash_foreach(), rb_hash_modify(), rb_hash_update_block_i(), rb_hash_update_i(), and to_hash().
Referenced by Init_Hash(), and rb_hash_merge().
| static int rb_hash_update_block_callback | ( | st_data_t * | key, | |
| st_data_t * | value, | |||
| struct update_arg * | arg, | |||
| int | existing | |||
| ) | [static] |
Definition at line 2115 of file hash.c.
References update_arg::arg, if(), update_arg::new_key, update_arg::new_value, update_arg::old_value, and rb_yield_values().
Referenced by rb_hash_update_block_i().
| static int rb_hash_update_block_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | hash | |||
| ) | [static] |
Definition at line 2135 of file hash.c.
References rb_hash_update_block_callback(), and RHASH_UPDATE.
Referenced by rb_hash_update().
| VALUE rb_hash_update_by | ( | VALUE | hash1, | |
| VALUE | hash2, | |||
| rb_hash_update_func * | func | |||
| ) |
Definition at line 2217 of file hash.c.
References update_func_arg::func, update_func_arg::hash, rb_hash_foreach(), rb_hash_modify(), rb_hash_update_func_i(), rb_hash_update_i(), and to_hash().
| static int rb_hash_update_callback | ( | st_data_t * | key, | |
| st_data_t * | value, | |||
| struct update_arg * | arg, | |||
| int | existing | |||
| ) | [static] |
Definition at line 2091 of file hash.c.
References update_arg::arg, update_arg::new_key, update_arg::new_value, and update_arg::old_value.
Referenced by rb_hash_update_i().
| static int rb_hash_update_func_callback | ( | st_data_t * | key, | |
| st_data_t * | value, | |||
| struct update_arg * | arg, | |||
| int | existing | |||
| ) | [static] |
Definition at line 2185 of file hash.c.
References update_arg::arg, update_func_arg::func, if(), update_arg::new_key, update_arg::new_value, update_arg::old_value, and update_func_arg::value.
Referenced by rb_hash_update_func_i().
| static int rb_hash_update_func_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | arg0 | |||
| ) | [static] |
Definition at line 2206 of file hash.c.
References update_func_arg::hash, rb_hash_update_func_callback(), RHASH_UPDATE, and update_func_arg::value.
Referenced by rb_hash_update_by().
| static int rb_hash_update_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | hash | |||
| ) | [static] |
Definition at line 2108 of file hash.c.
References rb_hash_update_callback(), and RHASH_UPDATE.
Referenced by rb_hash_update(), and rb_hash_update_by().
| VALUE rb_hash_values | ( | VALUE | hash | ) |
Definition at line 1836 of file hash.c.
References OBJ_PROMOTED, Qundef, RARRAY_PTR_USE, rb_ary_new_capa(), rb_ary_set_len(), rb_gc_writebarrier_remember_promoted(), rb_hash_foreach(), RHASH, RHASH_SIZE, size, ST_DATA_COMPATIBLE_P, st_values_check(), and values_i().
Referenced by Init_Hash(), rb_ary_or(), and rb_ary_uniq().
| VALUE rb_hash_values_at | ( | int | argc, | |
| VALUE * | argv, | |||
| VALUE | hash | |||
| ) |
Definition at line 1213 of file hash.c.
References rb_ary_new2, rb_ary_push(), rb_hash_aref(), and result.
Referenced by Init_Hash().
| long rb_objid_hash | ( | st_index_t | index | ) |
Definition at line 159 of file hash.c.
References rb_any_hash(), rb_hash_end, rb_hash_start(), and rb_hash_uint.
Referenced by rb_any_hash(), and rb_obj_hash().
| static VALUE recursive_eql | ( | VALUE | hash, | |
| VALUE | dt, | |||
| int | recur | |||
| ) | [static] |
Definition at line 1946 of file hash.c.
References eql_i(), Qtrue, rb_hash_foreach(), and equal_data::result.
Referenced by hash_equal().
| static int reject_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | result | |||
| ) | [static] |
Definition at line 1136 of file hash.c.
References rb_hash_aset(), rb_yield_values(), and RTEST.
Referenced by rb_hash_reject().
| static int replace_i | ( | VALUE | key, | |
| VALUE | val, | |||
| VALUE | hash | |||
| ) | [static] |
| static VALUE reset_hash_type | ( | VALUE | arg | ) | [static] |
Definition at line 2278 of file hash.c.
References reset_hash_type_arg::hash, reset_hash_type_arg::orighash, Qundef, and RHASH.
Referenced by rb_hash_assoc().
| void ruby_setenv | ( | const char * | name, | |
| const char * | value | |||
| ) |
Definition at line 2756 of file hash.c.
References ALLOC_N, buf, check_envname(), envix(), fail, free, GET_ENVIRON, invalid_envname(), malloc, max(), rb_sprintf(), rb_str_resize(), rb_sys_fail_str(), REALLOC_N, RSTRING_PTR, ruby_strdup(), setenv, snprintf, strlen(), unsetenv, and xfree.
Referenced by env_aset(), env_delete(), rb_execarg_run_options(), and ruby_unsetenv().
| void ruby_unsetenv | ( | const char * | name | ) |
Definition at line 2865 of file hash.c.
References ruby_setenv().
| static int select_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | result | |||
| ) | [static] |
Definition at line 1225 of file hash.c.
References rb_hash_aset(), rb_yield_values(), and RTEST.
Referenced by rb_hash_select().
| static int shift_i_safe | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | arg | |||
| ) | [static] |
Definition at line 1024 of file hash.c.
References shift_var::key, and shift_var::val.
Referenced by rb_hash_shift().
| void st_foreach_safe | ( | st_table * | table, | |
| int(*)(ANYARGS) | func, | |||
| st_data_t | a | |||
| ) |
Definition at line 198 of file hash.c.
References foreach_safe_arg::arg, foreach_safe_i(), func, foreach_safe_arg::func, rb_eRuntimeError, rb_raise(), st_foreach_check(), and foreach_safe_arg::tbl.
Referenced by cvar_list(), find_class_path(), givar_i(), mod_cvar_at(), obj_ivar_each(), rb_const_list(), rb_f_global_variables(), rb_gc_mark_global_tbl(), rb_ivar_foreach(), rb_mark_generic_ivar_tbl(), rb_mod_const_at(), and w_ivar().
| static int tbl_update | ( | VALUE | hash, | |
| VALUE | key, | |||
| int(*)(st_data_t *key, st_data_t *val, st_data_t arg, int existing) | func, | |||
| st_data_t | optional_arg | |||
| ) | [static] |
Definition at line 408 of file hash.c.
References update_arg::arg, func, update_arg::hash, update_arg::new_key, update_arg::new_value, update_arg::old_key, update_arg::old_value, Qundef, RB_OBJ_WRITTEN, result, RHASH, and st_update().
| static int to_a_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | ary | |||
| ) | [static] |
Definition at line 1651 of file hash.c.
References rb_ary_push(), and rb_assoc_new().
Referenced by rb_hash_to_a().
| static VALUE to_hash | ( | VALUE | hash | ) | [static] |
Definition at line 591 of file hash.c.
References rb_convert_type(), and T_HASH.
Referenced by env_replace(), env_update(), rb_hash_initialize_copy(), rb_hash_replace(), rb_hash_update(), and rb_hash_update_by().
| static int values_i | ( | VALUE | key, | |
| VALUE | value, | |||
| VALUE | ary | |||
| ) | [static] |
| char** environ |
Definition at line 6 of file missing-pips.c.
VALUE envtbl [static] |
Definition at line 69 of file hash.c.
Referenced by env_delete_if(), env_keep_if(), env_reject_bang(), env_select_bang(), Init_Hash(), rb_env_clear(), and rb_execarg_fixup().
ID id_default [static] |
Definition at line 70 of file hash.c.
Referenced by hash_default_value(), and Init_Hash().
ID id_flatten_bang [static] |
Definition at line 70 of file hash.c.
Referenced by Init_Hash(), and rb_hash_flatten().
ID id_hash [static] |
Definition at line 70 of file hash.c.
Referenced by hash_recursive(), and Init_Hash().
ID id_yield [static] |
Definition at line 70 of file hash.c.
Referenced by hash_default_value(), Init_Hash(), and rb_hash_default().
struct st_hash_type objhash [static] |
{
rb_any_cmp,
rb_any_hash,
}
Definition at line 167 of file hash.c.
Referenced by hash_tbl().
char** origenviron [static] |
int path_tainted = -1 [static] |
| VALUE rb_cHash |
Definition at line 67 of file hash.c.
Referenced by cState_from_state_s(), generate_json(), has_extra_methods(), Init_Hash(), make_compile_option(), rb_hash_new(), rb_hash_to_h(), vm_redefinition_check_flag(), and w_object().
| struct st_hash_type st_hashtype_num |
Referenced by ident_hash_new(), and STATIC_ASSERT().
1.6.1