object.c File Reference

#include "ruby/ruby.h"
#include "ruby/st.h"
#include "ruby/util.h"
#include "ruby/encoding.h"
#include <stdio.h>
#include <errno.h>
#include <ctype.h>
#include <math.h>
#include <float.h>
#include "constant.h"
#include "internal.h"
#include "id.h"
#include "probes.h"

Go to the source code of this file.

Data Structures

struct  conv_method_tbl

Defines

#define id_eq   idEq
#define id_eql   idEqlP
#define id_match   idEqTilde
#define id_inspect   idInspect
#define id_init_copy   idInitialize_copy
#define id_init_clone   idInitialize_clone
#define id_init_dup   idInitialize_dup
#define id_const_missing   idConst_missing
#define CLASS_OR_MODULE_P(obj)
#define id_for_setter(name, type, message)   check_setter_id(name, rb_is_##type##_id, rb_is_##type##_name, message)
#define IMPLICIT_CONVERSIONS   7
#define OutOfRange()
#define rb_intern(str)   rb_intern_const(str)

Functions

VALUE rb_obj_hide (VALUE obj)
VALUE rb_obj_reveal (VALUE obj, VALUE klass)
VALUE rb_obj_setup (VALUE obj, VALUE klass, VALUE type)
VALUE rb_equal (VALUE obj1, VALUE obj2)
int rb_eql (VALUE obj1, VALUE obj2)
VALUE rb_obj_equal (VALUE obj1, VALUE obj2)
VALUE rb_obj_hash (VALUE obj)
VALUE rb_obj_not (VALUE obj)
VALUE rb_obj_not_equal (VALUE obj1, VALUE obj2)
VALUE rb_class_real (VALUE cl)
VALUE rb_obj_class (VALUE obj)
static VALUE rb_obj_singleton_class (VALUE obj)
void rb_obj_copy_ivar (VALUE dest, VALUE obj)
static void init_copy (VALUE dest, VALUE obj)
VALUE rb_obj_clone (VALUE obj)
VALUE rb_obj_dup (VALUE obj)
VALUE rb_obj_init_copy (VALUE obj, VALUE orig)
VALUE rb_obj_init_dup_clone (VALUE obj, VALUE orig)
VALUE rb_any_to_s (VALUE obj)
VALUE rb_inspect (VALUE obj)
static int inspect_i (st_data_t k, st_data_t v, st_data_t a)
static VALUE inspect_obj (VALUE obj, VALUE str, int recur)
static VALUE rb_obj_inspect (VALUE obj)
static VALUE class_or_module_required (VALUE c)
static VALUE class_search_ancestor (VALUE cl, VALUE c)
VALUE rb_obj_is_instance_of (VALUE obj, VALUE c)
VALUE rb_obj_is_kind_of (VALUE obj, VALUE c)
VALUE rb_class_search_ancestor (VALUE cl, VALUE c)
VALUE rb_obj_tap (VALUE obj)
static VALUE rb_obj_dummy (void)
VALUE rb_obj_tainted (VALUE obj)
VALUE rb_obj_taint (VALUE obj)
VALUE rb_obj_untaint (VALUE obj)
VALUE rb_obj_untrusted (VALUE obj)
VALUE rb_obj_untrust (VALUE obj)
VALUE rb_obj_trust (VALUE obj)
void rb_obj_infect (VALUE obj1, VALUE obj2)
VALUE rb_obj_freeze (VALUE obj)
VALUE rb_obj_frozen_p (VALUE obj)
static VALUE nil_to_i (VALUE obj)
static VALUE nil_to_f (VALUE obj)
static VALUE nil_to_s (VALUE obj)
static VALUE nil_to_a (VALUE obj)
static VALUE nil_to_h (VALUE obj)
static VALUE nil_inspect (VALUE obj)
static VALUE true_to_s (VALUE obj)
static VALUE true_and (VALUE obj, VALUE obj2)
static VALUE true_or (VALUE obj, VALUE obj2)
static VALUE true_xor (VALUE obj, VALUE obj2)
static VALUE false_to_s (VALUE obj)
static VALUE false_and (VALUE obj, VALUE obj2)
static VALUE false_or (VALUE obj, VALUE obj2)
static VALUE false_xor (VALUE obj, VALUE obj2)
static VALUE rb_true (VALUE obj)
static VALUE rb_false (VALUE obj)
static VALUE rb_obj_match (VALUE obj1, VALUE obj2)
static VALUE rb_obj_not_match (VALUE obj1, VALUE obj2)
static VALUE rb_obj_cmp (VALUE obj1, VALUE obj2)
static VALUE rb_mod_to_s (VALUE klass)
static VALUE rb_mod_freeze (VALUE mod)
static VALUE rb_mod_eqq (VALUE mod, VALUE arg)
VALUE rb_class_inherited_p (VALUE mod, VALUE arg)
static VALUE rb_mod_lt (VALUE mod, VALUE arg)
static VALUE rb_mod_ge (VALUE mod, VALUE arg)
static VALUE rb_mod_gt (VALUE mod, VALUE arg)
static VALUE rb_mod_cmp (VALUE mod, VALUE arg)
static VALUE rb_module_s_alloc (VALUE klass)
static VALUE rb_class_s_alloc (VALUE klass)
static VALUE rb_mod_initialize (VALUE module)
static VALUE rb_class_initialize (int argc, VALUE *argv, VALUE klass)
void rb_undefined_alloc (VALUE klass)
VALUE rb_obj_alloc (VALUE klass)
static VALUE rb_class_allocate_instance (VALUE klass)
VALUE rb_class_new_instance (int argc, VALUE *argv, VALUE klass)
VALUE rb_class_superclass (VALUE klass)
VALUE rb_class_get_superclass (VALUE klass)
static ID check_setter_id (VALUE name, int(*valid_id_p)(ID), int(*valid_name_p)(VALUE), const char *message)
static int rb_is_attr_id (ID id)
static int rb_is_attr_name (VALUE name)
static ID id_for_attr (VALUE name)
ID rb_check_attr_id (ID id)
static VALUE rb_mod_attr_reader (int argc, VALUE *argv, VALUE klass)
VALUE rb_mod_attr (int argc, VALUE *argv, VALUE klass)
static VALUE rb_mod_attr_writer (int argc, VALUE *argv, VALUE klass)
static VALUE rb_mod_attr_accessor (int argc, VALUE *argv, VALUE klass)
static VALUE rb_mod_const_get (int argc, VALUE *argv, VALUE mod)
static VALUE rb_mod_const_set (VALUE mod, VALUE name, VALUE value)
static VALUE rb_mod_const_defined (int argc, VALUE *argv, VALUE mod)
static VALUE rb_obj_ivar_get (VALUE obj, VALUE iv)
static VALUE rb_obj_ivar_set (VALUE obj, VALUE iv, VALUE val)
static VALUE rb_obj_ivar_defined (VALUE obj, VALUE iv)
static VALUE rb_mod_cvar_get (VALUE obj, VALUE iv)
static VALUE rb_mod_cvar_set (VALUE obj, VALUE iv, VALUE val)
static VALUE rb_mod_cvar_defined (VALUE obj, VALUE iv)
static VALUE rb_mod_singleton_p (VALUE klass)
static VALUE convert_type (VALUE val, const char *tname, const char *method, int raise)
VALUE rb_convert_type (VALUE val, int type, const char *tname, const char *method)
VALUE rb_check_convert_type (VALUE val, int type, const char *tname, const char *method)
static VALUE rb_to_integer (VALUE val, const char *method)
VALUE rb_check_to_integer (VALUE val, const char *method)
VALUE rb_to_int (VALUE val)
VALUE rb_check_to_int (VALUE val)
static VALUE rb_convert_to_integer (VALUE val, int base)
VALUE rb_Integer (VALUE val)
static VALUE rb_f_integer (int argc, VALUE *argv, VALUE obj)
double rb_cstr_to_dbl (const char *p, int badcheck)
double rb_str_to_dbl (VALUE str, int badcheck)
VALUE rb_Float (VALUE val)
static VALUE rb_f_float (VALUE obj, VALUE arg)
VALUE rb_to_float (VALUE val)
VALUE rb_check_to_float (VALUE val)
double rb_num2dbl (VALUE val)
VALUE rb_String (VALUE val)
static VALUE rb_f_string (VALUE obj, VALUE arg)
VALUE rb_Array (VALUE val)
static VALUE rb_f_array (VALUE obj, VALUE arg)
VALUE rb_Hash (VALUE val)
static VALUE rb_f_hash (VALUE obj, VALUE arg)
void Init_Object (void)
 Initializes the world of objects and classes.

Variables

VALUE rb_cBasicObject
VALUE rb_mKernel
VALUE rb_cObject
VALUE rb_cModule
VALUE rb_cClass
VALUE rb_cData
VALUE rb_cNilClass
VALUE rb_cTrueClass
VALUE rb_cFalseClass
static st_table * immediate_frozen_tbl = 0
static const char invalid_attribute_name [] = "invalid attribute name `%"PRIsVALUE"'"
static struct conv_method_tbl conv_method_names []

Define Documentation

#define CLASS_OR_MODULE_P ( obj   ) 
Value:
(!SPECIAL_CONST_P(obj) && \
     (BUILTIN_TYPE(obj) == T_CLASS || BUILTIN_TYPE(obj) == T_MODULE))

Definition at line 48 of file object.c.

#define id_const_missing   idConst_missing

Definition at line 46 of file object.c.

Referenced by rb_mod_const_get().

#define id_eq   idEq
#define id_eql   idEqlP

Definition at line 40 of file object.c.

Referenced by rb_eql().

#define id_for_setter ( name,
type,
message   )     check_setter_id(name, rb_is_##type##_id, rb_is_##type##_name, message)

Definition at line 1910 of file object.c.

Referenced by id_for_attr(), rb_mod_const_set(), rb_mod_cvar_set(), and rb_obj_ivar_set().

#define id_init_clone   idInitialize_clone

Definition at line 44 of file object.c.

Referenced by rb_obj_clone().

#define id_init_copy   idInitialize_copy

Definition at line 43 of file object.c.

Referenced by rb_obj_init_dup_clone().

#define id_init_dup   idInitialize_dup

Definition at line 45 of file object.c.

Referenced by rb_obj_dup().

#define id_inspect   idInspect

Definition at line 42 of file object.c.

Referenced by Init_Complex(), and rb_inspect().

#define id_match   idEqTilde

Definition at line 41 of file object.c.

Referenced by rb_obj_not_match().

#define IMPLICIT_CONVERSIONS   7

Definition at line 2602 of file object.c.

Referenced by convert_type().

 
#define OutOfRange (  ) 
Value:
((end - p > max_width) ? \
                      (w = max_width, ellipsis = "...") : \
                      (w = (int)(end - p), ellipsis = ""))

Referenced by rb_cstr_to_dbl().

#define rb_intern ( str   )     rb_intern_const(str)

Function Documentation

static ID check_setter_id ( VALUE  name,
int(*)(ID)  valid_id_p,
int(*)(VALUE)  valid_name_p,
const char *  message 
) [static]
static VALUE class_or_module_required ( VALUE  c  )  [static]
static VALUE class_search_ancestor ( VALUE  cl,
VALUE  c 
) [static]

Definition at line 655 of file object.c.

References RCLASS_M_TBL_WRAPPER, and RCLASS_SUPER.

Referenced by rb_class_inherited_p(), rb_class_search_ancestor(), and rb_obj_is_kind_of().

static VALUE convert_type ( VALUE  val,
const char *  tname,
const char *  method,
int  raise 
) [static]
static VALUE false_and ( VALUE  obj,
VALUE  obj2 
) [static]

Definition at line 1315 of file object.c.

References Qfalse.

Referenced by Init_Object().

static VALUE false_or ( VALUE  obj,
VALUE  obj2 
) [static]

Definition at line 1331 of file object.c.

References Qfalse, Qtrue, and RTEST.

Referenced by Init_Object().

static VALUE false_to_s ( VALUE  obj  )  [static]

Definition at line 1299 of file object.c.

References rb_usascii_str_new2.

Referenced by Init_Object().

static VALUE false_xor ( VALUE  obj,
VALUE  obj2 
) [static]

Definition at line 1350 of file object.c.

References Qfalse, Qtrue, and RTEST.

Referenced by Init_Object().

static ID id_for_attr ( VALUE  name  )  [static]

Definition at line 1952 of file object.c.

References id_for_setter.

Referenced by rb_mod_attr(), rb_mod_attr_accessor(), rb_mod_attr_reader(), and rb_mod_attr_writer().

static void init_copy ( VALUE  dest,
VALUE  obj 
) [static]
static int inspect_i ( st_data_t  k,
st_data_t  v,
st_data_t  a 
) [static]
static VALUE inspect_obj ( VALUE  obj,
VALUE  str,
int  recur 
) [static]

Definition at line 514 of file object.c.

References inspect_i(), OBJ_INFECT, rb_ivar_foreach(), rb_str_cat2(), and RSTRING_PTR.

Referenced by rb_obj_inspect().

static VALUE nil_inspect ( VALUE  obj  )  [static]

Definition at line 1199 of file object.c.

References rb_usascii_str_new2.

Referenced by Init_Object().

static VALUE nil_to_a ( VALUE  obj  )  [static]

Definition at line 1169 of file object.c.

References rb_ary_new2.

Referenced by Init_Object().

static VALUE nil_to_f ( VALUE  obj  )  [static]

Definition at line 1139 of file object.c.

References DBL2NUM.

Referenced by Init_Object().

static VALUE nil_to_h ( VALUE  obj  )  [static]

Definition at line 1186 of file object.c.

References rb_hash_new().

Referenced by Init_Object().

static VALUE nil_to_i ( VALUE  obj  )  [static]

Definition at line 1124 of file object.c.

References INT2FIX.

Referenced by Init_Object().

static VALUE nil_to_s ( VALUE  obj  )  [static]

Definition at line 1152 of file object.c.

References rb_usascii_str_new().

Referenced by Init_Object().

VALUE rb_any_to_s ( VALUE  obj  ) 
VALUE rb_Array ( VALUE  val  ) 
ID rb_check_attr_id ( ID  id  ) 

Definition at line 1958 of file object.c.

References QUOTE_ID, rb_is_attr_id(), and rb_name_error_str().

Referenced by rb_attr().

VALUE rb_check_convert_type ( VALUE  val,
int  type,
const char *  tname,
const char *  method 
)
VALUE rb_check_to_float ( VALUE  val  ) 

Definition at line 2977 of file object.c.

References Qnil, rb_check_convert_type(), rb_cNumeric, rb_obj_is_kind_of(), RB_TYPE_P, and T_FLOAT.

Referenced by rand_random(), and rand_range().

VALUE rb_check_to_int ( VALUE  val  ) 

Definition at line 2706 of file object.c.

References rb_check_to_integer().

Referenced by exit_initialize().

VALUE rb_check_to_integer ( VALUE  val,
const char *  method 
)
static VALUE rb_class_allocate_instance ( VALUE  klass  )  [static]

Definition at line 1838 of file object.c.

References FL_WB_PROTECTED, NEWOBJ_OF, RGENGC_WB_PROTECTED_OBJECT, and T_OBJECT.

Referenced by Init_Object().

VALUE rb_class_get_superclass ( VALUE  klass  ) 

Definition at line 1905 of file object.c.

References RCLASS.

VALUE rb_class_inherited_p ( VALUE  mod,
VALUE  arg 
)
static VALUE rb_class_initialize ( int  argc,
VALUE *  argv,
VALUE  klass 
) [static]
VALUE rb_class_new_instance ( int  argc,
VALUE *  argv,
VALUE  klass 
)
VALUE rb_class_real ( VALUE  cl  ) 
static VALUE rb_class_s_alloc ( VALUE  klass  )  [static]

Definition at line 1678 of file object.c.

References rb_class_boot().

Referenced by Init_Object().

VALUE rb_class_search_ancestor ( VALUE  cl,
VALUE  c 
)

Definition at line 666 of file object.c.

References class_or_module_required(), class_search_ancestor(), and RCLASS_ORIGIN.

Referenced by umethod_bind().

VALUE rb_class_superclass ( VALUE  klass  ) 
static VALUE rb_convert_to_integer ( VALUE  val,
int  base 
) [static]
VALUE rb_convert_type ( VALUE  val,
int  type,
const char *  tname,
const char *  method 
)
double rb_cstr_to_dbl ( const char *  p,
int  badcheck 
)
int rb_eql ( VALUE  obj1,
VALUE  obj2 
)

Definition at line 100 of file object.c.

References id_eql, rb_funcall(), and RTEST.

Referenced by cdhash_cmp(), eql_i(), hash_equal(), rb_any_cmp(), and recursive_eql().

VALUE rb_equal ( VALUE  obj1,
VALUE  obj2 
)
static VALUE rb_f_array ( VALUE  obj,
VALUE  arg 
) [static]

Definition at line 3063 of file object.c.

References rb_Array().

Referenced by Init_Object().

static VALUE rb_f_float ( VALUE  obj,
VALUE  arg 
) [static]

Definition at line 2957 of file object.c.

References rb_Float().

Referenced by Init_Object().

static VALUE rb_f_hash ( VALUE  obj,
VALUE  arg 
) [static]

Definition at line 3098 of file object.c.

References rb_Hash().

Referenced by Init_Object().

static VALUE rb_f_integer ( int  argc,
VALUE *  argv,
VALUE  obj 
) [static]

Definition at line 2787 of file object.c.

References NULL, NUM2INT, Qnil, rb_convert_to_integer(), and rb_scan_args().

Referenced by Init_Object().

static VALUE rb_f_string ( VALUE  obj,
VALUE  arg 
) [static]

Definition at line 3032 of file object.c.

References rb_String().

Referenced by Init_Object().

static VALUE rb_false ( VALUE  obj  )  [static]

Definition at line 1380 of file object.c.

References Qfalse.

Referenced by Init_Object().

VALUE rb_Float ( VALUE  val  ) 
VALUE rb_Hash ( VALUE  val  ) 
VALUE rb_inspect ( VALUE  obj  ) 
VALUE rb_Integer ( VALUE  val  ) 
static int rb_is_attr_id ( ID  id  )  [static]

Definition at line 1938 of file object.c.

References rb_is_const_id(), and rb_is_local_id().

Referenced by rb_check_attr_id().

static int rb_is_attr_name ( VALUE  name  )  [static]

Definition at line 1944 of file object.c.

References rb_is_const_name(), and rb_is_local_name().

VALUE rb_mod_attr ( int  argc,
VALUE *  argv,
VALUE  klass 
)

Definition at line 1991 of file object.c.

References id_for_attr(), Qfalse, Qnil, Qtrue, rb_attr(), rb_mod_attr_reader(), rb_warning(), RTEST, and TRUE.

Referenced by Init_Object().

static VALUE rb_mod_attr_accessor ( int  argc,
VALUE *  argv,
VALUE  klass 
) [static]

Definition at line 2040 of file object.c.

References id_for_attr(), Qnil, rb_attr(), and TRUE.

Referenced by Init_Object().

static VALUE rb_mod_attr_reader ( int  argc,
VALUE *  argv,
VALUE  klass 
) [static]

Definition at line 1980 of file object.c.

References FALSE, id_for_attr(), Qnil, rb_attr(), and TRUE.

Referenced by Init_Object(), and rb_mod_attr().

static VALUE rb_mod_attr_writer ( int  argc,
VALUE *  argv,
VALUE  klass 
) [static]

Definition at line 2012 of file object.c.

References FALSE, id_for_attr(), Qnil, rb_attr(), and TRUE.

Referenced by Init_Object().

static VALUE rb_mod_cmp ( VALUE  mod,
VALUE  arg 
) [static]

Definition at line 1651 of file object.c.

References CLASS_OR_MODULE_P, cmp, INT2FIX, NIL_P, Qnil, and rb_class_inherited_p().

Referenced by Init_Object().

static VALUE rb_mod_const_defined ( int  argc,
VALUE *  argv,
VALUE  mod 
) [static]
static VALUE rb_mod_const_get ( int  argc,
VALUE *  argv,
VALUE  mod 
) [static]
static VALUE rb_mod_const_set ( VALUE  mod,
VALUE  name,
VALUE  value 
) [static]

Definition at line 2203 of file object.c.

References id_for_setter, PRIsVALUE, and rb_const_set().

Referenced by Init_Object().

static VALUE rb_mod_cvar_defined ( VALUE  obj,
VALUE  iv 
) [static]
static VALUE rb_mod_cvar_get ( VALUE  obj,
VALUE  iv 
) [static]
static VALUE rb_mod_cvar_set ( VALUE  obj,
VALUE  iv,
VALUE  val 
) [static]

Definition at line 2522 of file object.c.

References id_for_setter, PRIsVALUE, and rb_cvar_set().

Referenced by Init_Object().

static VALUE rb_mod_eqq ( VALUE  mod,
VALUE  arg 
) [static]

Definition at line 1542 of file object.c.

References rb_obj_is_kind_of().

Referenced by Init_Object().

static VALUE rb_mod_freeze ( VALUE  mod  )  [static]

Definition at line 1525 of file object.c.

References rb_class_name(), and rb_obj_freeze().

Referenced by Init_Object().

static VALUE rb_mod_ge ( VALUE  mod,
VALUE  arg 
) [static]

Definition at line 1611 of file object.c.

References CLASS_OR_MODULE_P, rb_class_inherited_p(), rb_eTypeError, and rb_raise().

Referenced by Init_Object(), and rb_mod_gt().

static VALUE rb_mod_gt ( VALUE  mod,
VALUE  arg 
) [static]

Definition at line 1632 of file object.c.

References Qfalse, and rb_mod_ge().

Referenced by Init_Object().

static VALUE rb_mod_initialize ( VALUE  module  )  [static]

Definition at line 1710 of file object.c.

References Qnil, rb_block_given_p(), and rb_mod_module_exec().

Referenced by Init_Object(), and rb_class_initialize().

static VALUE rb_mod_lt ( VALUE  mod,
VALUE  arg 
) [static]

Definition at line 1591 of file object.c.

References Qfalse, and rb_class_inherited_p().

Referenced by Init_Object().

static VALUE rb_mod_singleton_p ( VALUE  klass  )  [static]

Definition at line 2580 of file object.c.

References FL_SINGLETON, FL_TEST, Qfalse, Qtrue, RB_TYPE_P, and T_CLASS.

Referenced by Init_Object().

static VALUE rb_mod_to_s ( VALUE  klass  )  [static]
static VALUE rb_module_s_alloc ( VALUE  klass  )  [static]

Definition at line 1669 of file object.c.

References mod, rb_module_new(), and RBASIC_SET_CLASS.

Referenced by Init_Object().

double rb_num2dbl ( VALUE  val  ) 

Definition at line 2987 of file object.c.

References rb_eTypeError, rb_Float(), rb_raise(), RFLOAT_VALUE, T_FLOAT, T_NIL, T_STRING, and TYPE.

Referenced by thread_join_m().

VALUE rb_obj_alloc ( VALUE  klass  ) 
VALUE rb_obj_class ( VALUE  obj  ) 

Definition at line 226 of file object.c.

References CLASS_OF, and rb_class_real().

Referenced by ary_make_shared_copy(), BigDecimal_new(), cannot_be_coerced_into_BigDecimal(), cbsubst_initialize(), coerce_failed(), copy_path_class(), d_lite_plus(), dup_obj(), dup_obj_as_complex(), enc_inspect(), encoded_dup(), exc_equal(), extract_user_token(), get_new_timeval(), get_timeval(), Init_Object(), inspect_enumerator(), inspect_struct(), io_reopen(), ip_eval(), ip_invoke_with_position(), mString_to_json_raw_object(), mSyslog_log(), name_err_mesg_equal(), not_encoding(), ossl_asn1_default_tag(), ossl_cipher_init(), ossl_x509_inspect(), path_basename(), path_dirname(), path_each_entry(), path_entries(), path_expand_path(), path_readlink(), path_realdirpath(), path_realpath(), path_split(), path_sub(), path_sub_ext(), random_equal(), rb_ary_slice_bang(), rb_ary_subseq(), rb_ary_times(), rb_ary_to_a(), rb_ary_uniq(), rb_digest_base_block_length(), rb_digest_base_copy(), rb_digest_base_digest_length(), rb_digest_base_finish(), rb_digest_base_reset(), rb_digest_base_update(), rb_dlptr_inspect(), rb_fiddle_ptr_inspect(), rb_hash_aset(), rb_hash_dup_empty(), rb_hash_to_h(), rb_ivar_set(), rb_obj_alloc(), rb_obj_clone(), rb_obj_dup(), rb_obj_init_copy(), rb_obj_is_instance_of(), rb_profile_frame_classpath(), rb_stat_cmp(), rb_str_dup(), rb_str_new_frozen(), rb_str_new_shared(), rb_str_new_with_class(), rb_str_substr(), rb_str_to_s(), rb_struct_eql(), rb_struct_equal(), rb_struct_hash(), rb_struct_initialize_m(), rb_struct_members(), rb_struct_members_m(), rb_tmp_class_path(), str_byte_substr(), str_gsub(), strscan_inspect(), syserr_initialize(), take_items(), tcl_protect_core(), time_dup(), tk_funcall(), undumpable(), and vm_search_super_method().

VALUE rb_obj_clone ( VALUE  obj  ) 
static VALUE rb_obj_cmp ( VALUE  obj1,
VALUE  obj2 
) [static]

Definition at line 1436 of file object.c.

References INT2FIX, Qnil, and rb_equal().

Referenced by Init_Object().

void rb_obj_copy_ivar ( VALUE  dest,
VALUE  obj 
)

Definition at line 255 of file object.c.

References ALLOC_N, MEMCPY, RBASIC, ROBJECT, ROBJECT_EMBED, ROBJECT_EMBED_LEN_MAX, ROBJECT_IVPTR, and xfree.

Referenced by init_copy().

static VALUE rb_obj_dummy ( void   )  [static]

Definition at line 924 of file object.c.

References Qnil.

Referenced by Init_Object().

VALUE rb_obj_dup ( VALUE  obj  ) 
VALUE rb_obj_equal ( VALUE  obj1,
VALUE  obj2 
)

Definition at line 142 of file object.c.

References Qfalse, and Qtrue.

Referenced by Init_Object(), and opt_eq_func().

VALUE rb_obj_freeze ( VALUE  obj  ) 
VALUE rb_obj_frozen_p ( VALUE  obj  ) 

Definition at line 1096 of file object.c.

References immediate_frozen_tbl, OBJ_FROZEN, Qfalse, Qtrue, SPECIAL_CONST_P, and st_lookup().

Referenced by dump_object(), generic_ivar_set(), and Init_Object().

VALUE rb_obj_hash ( VALUE  obj  ) 

Definition at line 162 of file object.c.

References LONG2FIX, NUM2LONG, rb_obj_id(), and rb_objid_hash().

Referenced by Init_Object().

VALUE rb_obj_hide ( VALUE  obj  ) 
void rb_obj_infect ( VALUE  obj1,
VALUE  obj2 
)

Definition at line 1041 of file object.c.

References OBJ_INFECT.

VALUE rb_obj_init_copy ( VALUE  obj,
VALUE  orig 
)

Definition at line 422 of file object.c.

References rb_check_frozen, rb_check_trusted, rb_eTypeError, rb_obj_class(), rb_raise(), and TYPE.

Referenced by Init_Object().

VALUE rb_obj_init_dup_clone ( VALUE  obj,
VALUE  orig 
)

Definition at line 435 of file object.c.

References id_init_copy, and rb_funcall().

Referenced by Init_Object().

static VALUE rb_obj_inspect ( VALUE  obj  )  [static]
VALUE rb_obj_is_instance_of ( VALUE  obj,
VALUE  c 
)
VALUE rb_obj_is_kind_of ( VALUE  obj,
VALUE  c 
)

Definition at line 646 of file object.c.

References CLASS_OF, class_or_module_required(), class_search_ancestor(), Qfalse, Qtrue, and RCLASS_ORIGIN.

Referenced by case_when_optimizable_literal(), check_match(), check_type_val2variant(), cState_from_state_s(), discrete_object_p(), error_handle(), ev_advise(), EVENTSINK_Invoke(), f_kind_of_p(), fole_s_const_load(), fole_s_show_help(), folemethod_initialize(), foleparam_initialize(), get_eval_string_core(), GetBNPtr(), gzfile_read_raw_rescue(), host_str(), Init_Object(), ip_eval(), ip_invoke_with_position(), ip_is_slave_of_p(), ip_rbTkWaitCommand(), ip_rbUpdateCommand(), ip_rbVwaitCommand(), linear_object_p(), make_exception(), ole_invoke(), ole_val2variant(), os_obj_of_i(), ossl_asn1cons_to_der(), ossl_asn1data_to_der(), ossl_bn_coerce(), ossl_bn_initialize(), parse(), path_cmp(), path_eq(), pending_exception_check0(), pending_exception_check1(), range_eq(), range_eql(), range_max(), range_size(), range_step(), range_step_size(), rb_ary_bsearch(), rb_check_to_float(), rb_check_to_integer(), rb_digest_instance_equal(), rb_dlptr2cptr(), rb_dlptr_aset(), rb_dlptr_cmp(), rb_dlptr_eql(), rb_dlptr_s_to_ptr(), rb_enumeratorize_with_size(), rb_fiddle_ptr2cptr(), rb_fiddle_ptr_aset(), rb_fiddle_ptr_cmp(), rb_fiddle_ptr_eql(), rb_fiddle_ptr_s_to_ptr(), rb_method_call_status(), rb_mod_eqq(), rb_range_values(), rb_rescue2(), rb_set_errinfo(), rb_stat_cmp(), rb_thread_pending_interrupt_p(), rb_to_float(), rb_to_integer(), ruby_cleanup(), setup_exception(), syserr_eqq(), tcl_protect_core(), thread_start_func_2(), tk_funcall(), total_i(), umethod_bind(), vm_call_method(), and vm_search_super_method().

static VALUE rb_obj_ivar_defined ( VALUE  obj,
VALUE  iv 
) [static]
static VALUE rb_obj_ivar_get ( VALUE  obj,
VALUE  iv 
) [static]
static VALUE rb_obj_ivar_set ( VALUE  obj,
VALUE  iv,
VALUE  val 
) [static]

Definition at line 2416 of file object.c.

References id_for_setter, PRIsVALUE, and rb_ivar_set().

Referenced by Init_Object().

static VALUE rb_obj_match ( VALUE  obj1,
VALUE  obj2 
) [static]

Definition at line 1396 of file object.c.

References Qnil.

Referenced by Init_Object().

VALUE rb_obj_not ( VALUE  obj  ) 

Definition at line 184 of file object.c.

References Qfalse, Qtrue, and RTEST.

Referenced by Init_Object().

VALUE rb_obj_not_equal ( VALUE  obj1,
VALUE  obj2 
)

Definition at line 197 of file object.c.

References id_eq, Qfalse, Qtrue, rb_funcall(), result, and RTEST.

Referenced by Init_Object().

static VALUE rb_obj_not_match ( VALUE  obj1,
VALUE  obj2 
) [static]

Definition at line 1410 of file object.c.

References id_match, Qfalse, Qtrue, rb_funcall(), result, and RTEST.

Referenced by Init_Object().

VALUE rb_obj_reveal ( VALUE  obj,
VALUE  klass 
)
VALUE rb_obj_setup ( VALUE  obj,
VALUE  klass,
VALUE  type 
)

Definition at line 71 of file object.c.

References FL_SET, FL_TAINT, rb_safe_level, RBASIC, and RBASIC_SET_CLASS.

static VALUE rb_obj_singleton_class ( VALUE  obj  )  [static]

Definition at line 249 of file object.c.

References rb_singleton_class().

Referenced by Init_Object().

VALUE rb_obj_taint ( VALUE  obj  ) 
VALUE rb_obj_tainted ( VALUE  obj  ) 

Definition at line 939 of file object.c.

References OBJ_TAINTED, Qfalse, and Qtrue.

Referenced by Init_Object(), and rb_obj_untrusted().

VALUE rb_obj_tap ( VALUE  obj  ) 

Definition at line 689 of file object.c.

References rb_yield().

Referenced by Init_Object().

VALUE rb_obj_trust ( VALUE  obj  ) 

Definition at line 1034 of file object.c.

References rb_obj_untaint(), and rb_warning().

Referenced by Init_Object().

VALUE rb_obj_untaint ( VALUE  obj  ) 

Definition at line 987 of file object.c.

References FL_TAINT, FL_UNSET, OBJ_TAINTED, rb_check_frozen, and rb_secure().

Referenced by Init_Object(), path_untaint(), rb_obj_trust(), and time_zone().

VALUE rb_obj_untrust ( VALUE  obj  ) 

Definition at line 1019 of file object.c.

References rb_obj_taint(), and rb_warning().

Referenced by Init_Object(), and tk_obj_untrust().

VALUE rb_obj_untrusted ( VALUE  obj  ) 

Definition at line 1005 of file object.c.

References rb_obj_tainted(), and rb_warning().

Referenced by Init_Object().

double rb_str_to_dbl ( VALUE  str,
int  badcheck 
)
VALUE rb_String ( VALUE  val  ) 
VALUE rb_to_float ( VALUE  val  ) 
VALUE rb_to_int ( VALUE  val  ) 
static VALUE rb_to_integer ( VALUE  val,
const char *  method 
) [static]
static VALUE rb_true ( VALUE  obj  )  [static]

Definition at line 1363 of file object.c.

References Qtrue.

Referenced by Init_Object().

void rb_undefined_alloc ( VALUE  klass  ) 

Definition at line 1775 of file object.c.

References PRIsVALUE, rb_eTypeError, and rb_raise().

Referenced by enc_s_alloc(), and rb_obj_alloc().

static VALUE true_and ( VALUE  obj,
VALUE  obj2 
) [static]

Definition at line 1237 of file object.c.

References Qfalse, Qtrue, and RTEST.

Referenced by Init_Object().

static VALUE true_or ( VALUE  obj,
VALUE  obj2 
) [static]

Definition at line 1259 of file object.c.

References Qtrue.

Referenced by Init_Object().

static VALUE true_to_s ( VALUE  obj  )  [static]

Definition at line 1222 of file object.c.

References rb_usascii_str_new2.

Referenced by Init_Object().

static VALUE true_xor ( VALUE  obj,
VALUE  obj2 
) [static]

Definition at line 1275 of file object.c.

References Qfalse, Qtrue, and RTEST.

Referenced by Init_Object().


Variable Documentation

Referenced by convert_type(), and Init_Object().

st_table* immediate_frozen_tbl = 0 [static]

Definition at line 1046 of file object.c.

Referenced by rb_obj_freeze(), and rb_obj_frozen_p().

const char invalid_attribute_name[] = "invalid attribute name `%"PRIsVALUE"'" [static]

Definition at line 1949 of file object.c.

VALUE rb_cClass
VALUE rb_cData

Definition at line 37 of file object.c.

Referenced by Init_Object(), and special_singleton_class_of().

VALUE rb_cModule
VALUE rb_cNilClass

Definition at line 35 of file object.c.

Referenced by Init_Complex(), Init_Object(), Init_Rational(), and special_singleton_class_of().

VALUE rb_cObject

Definition at line 30 of file object.c.

Referenced by boot_defclass(), classname(), compile_colon2(), compile_cpath(), debug_lines(), fc_path(), find_class_path(), Init_Array(), Init_Binding(), Init_bubblebabble(), Init_class_hierarchy(), Init_Complex(), Init_Cont(), Init_cparse(), Init_date_core(), Init_dbm(), Init_digest(), Init_Dir(), Init_dlcfunc(), Init_dlhandle(), Init_dlptr(), Init_Encoding(), Init_Exception(), Init_fiddle_closure(), Init_fiddle_function(), Init_fiddle_handle(), Init_fiddle_pointer(), Init_File(), Init_GC(), Init_gdbm(), Init_generator(), Init_Hash(), Init_IO(), Init_ISeq(), Init_md5(), Init_Numeric(), Init_Object(), Init_objspace(), Init_ossl_asn1(), Init_ossl_cipher(), Init_ossl_config(), Init_ossl_hmac(), Init_ossl_ns_spki(), Init_ossl_pkcs12(), Init_ossl_pkcs7(), Init_ossl_pkey(), Init_ossl_ssl(), Init_ossl_ssl_session(), Init_ossl_x509attr(), Init_ossl_x509cert(), Init_ossl_x509crl(), Init_ossl_x509ext(), Init_ossl_x509name(), Init_ossl_x509req(), Init_ossl_x509revoked(), Init_ossl_x509store(), Init_parser(), Init_pathname(), Init_Proc(), Init_process(), Init_psych_emitter(), Init_psych_parser(), Init_psych_to_ruby(), Init_psych_yaml_tree(), Init_Random(), Init_Range(), Init_Rational(), Init_readline(), Init_Regexp(), Init_rmd160(), Init_sdbm(), Init_sha1(), Init_String(), Init_strscan(), Init_Struct(), Init_tcltklib(), Init_Thread(), Init_thread(), Init_Time(), Init_tkutil(), Init_top_self(), Init_VM(), Init_vm_backtrace(), Init_vm_trace(), Init_win32ole(), Init_zlib(), InitVM_Enumerator(), ip_ruby_cmd_receiver_const_get(), iseq_compile_each(), process_options(), range_dumper(), range_loader(), rb_alias(), rb_catch(), rb_class_inherited(), rb_class_initialize(), rb_clear_method_cache_by_class(), rb_const_defined_0(), rb_const_get_0(), rb_const_set(), rb_define_class(), rb_define_class_id(), rb_define_global_const(), rb_define_module(), rb_execarg_fixup(), rb_export_method(), rb_f_catch(), rb_method_entry_make(), rb_mod_const_defined(), rb_mod_const_get(), rb_mod_const_of(), rb_mod_modfunc(), rb_path_to_class(), rb_set_class_path(), rb_set_class_path_string(), rb_uninterruptible(), rb_using_module(), rsock_init_ancdata(), rsock_init_sockopt(), ruby_Init_Continuation_body(), ruby_init_loadpath_safe(), ruby_init_prelude(), save_env(), set_relation(), top_define_method(), top_include(), top_private(), top_public(), uninitialized_constant(), vm_search_const_defined_class(), vm_set_main_stack(), and vm_set_top_stack().

Definition at line 36 of file object.c.

Referenced by Init_Object(), and special_singleton_class_of().

VALUE rb_mKernel

Generated on 18 May 2020 for Ruby by  doxygen 1.6.1