Ruby
2.1.10p492(2016-04-01revision54464)
|
Go to the source code of this file.
Data Structures | |
struct | METHOD |
Macros | |
#define | attached id__attached__ |
#define | IS_METHOD_PROC_NODE(node) (nd_type(node) == NODE_IFUNC && (node)->nd_cfnc == bmcall) |
#define | check_argc(argc) (argc) |
#define | get_proc_iseq rb_proc_get_iseq |
#define attached id__attached__ |
Definition at line 36 of file proc.c.
Referenced by method_inspect(), and rb_method_name_error().
Definition at line 740 of file proc.c.
Referenced by bmcall(), curry(), rb_method_entry_min_max_arity(), and rb_proc_call().
#define get_proc_iseq rb_proc_get_iseq |
Definition at line 891 of file proc.c.
Referenced by method_get_iseq(), rb_proc_location(), and rb_proc_parameters().
#define IS_METHOD_PROC_NODE | ( | node | ) | (nd_type(node) == NODE_IFUNC && (node)->nd_cfnc == bmcall) |
Definition at line 40 of file proc.c.
Referenced by proc_binding(), rb_block_min_max_arity(), and rb_proc_get_iseq().
Definition at line 371 of file proc.c.
References args, Qnil, rb_f_eval(), and rb_scan_args().
Referenced by Init_Binding().
Definition at line 527 of file proc.c.
References check_local_id(), rb_binding_t::env, get_local_variable_ptr(), GetBindingPtr, Qfalse, and Qtrue.
Referenced by Init_Binding().
Definition at line 446 of file proc.c.
References check_local_id(), rb_binding_t::env, get_local_variable_ptr(), GetBindingPtr, NULL, PRIsVALUE, ptr, rb_name_error_str(), and undefined.
Referenced by Init_Binding().
Definition at line 490 of file proc.c.
References check_local_id(), rb_binding_t::env, get_local_variable_ptr(), GetBindingPtr, NULL, ptr, rb_binding_add_dynavars(), rb_intern_str, and val.
Referenced by Init_Binding().
Definition at line 312 of file proc.c.
References binding_dup(), and CLONESETUP.
Referenced by Init_Binding().
Definition at line 297 of file proc.c.
References rb_binding_t::blockprocval, dst, rb_binding_t::env, rb_binding_t::first_lineno, GetBindingPtr, rb_binding_t::path, rb_binding_alloc(), rb_cBinding, and src.
Referenced by binding_clone(), and Init_Binding().
Definition at line 245 of file proc.c.
References ptr, RUBY_FREE_ENTER, RUBY_FREE_LEAVE, and ruby_xfree().
Definition at line 257 of file proc.c.
References rb_binding_t::blockprocval, rb_binding_t::env, rb_binding_t::path, ptr, RUBY_MARK_ENTER, RUBY_MARK_LEAVE, and RUBY_MARK_UNLESS_NULL.
Definition at line 1078 of file proc.c.
References data, GET_VM, rb_method_entry_struct::mark, METHOD::me, unlinked_method_entry_list_entry::me, unlinked_method_entry_list_entry::next, ptr, METHOD::ume, and xfree.
Definition at line 1068 of file proc.c.
References data, METHOD::defined_class, METHOD::me, ptr, rb_gc_mark(), rb_mark_method_entry(), METHOD::rclass, and METHOD::recv.
Definition at line 2294 of file proc.c.
References a, args, check_argc, CLASS_OF, RARRAY_LEN, RARRAY_PTR(), rb_ary_new3, rb_cArray, RB_GC_GUARD(), rb_method_call_with_block(), and ret.
Referenced by method_proc().
Definition at line 408 of file proc.c.
References name, PRIsVALUE, rb_check_id(), rb_id2str(), rb_is_local_id(), rb_is_local_name(), rb_name_error_str(), and sym.
Referenced by bind_local_variable_defined_p(), bind_local_variable_get(), and bind_local_variable_set().
Definition at line 2447 of file proc.c.
References check_argc, FIX2INT, make_curry_proc(), NIL_P(), proc, RARRAY_AREF, RARRAY_CONST_PTR, RARRAY_LEN, rb_ary_freeze(), rb_ary_new4, rb_ary_plus(), rb_proc_call_with_block(), and rb_warn().
Referenced by make_curry_proc().
Definition at line 381 of file proc.c.
References rb_env_t::block, env, rb_env_t::env, GetEnvPtr, i, rb_block_struct::iseq, rb_iseq_struct::local_table, rb_iseq_struct::local_table_size, and rb_env_t::prev_envval.
Referenced by bind_local_variable_defined_p(), bind_local_variable_get(), and bind_local_variable_set().
Definition at line 2733 of file proc.c.
References bind_eval(), bind_local_variable_defined_p(), bind_local_variable_get(), bind_local_variable_set(), binding_clone(), binding_dup(), CLASS_OF, rb_cBinding, rb_cObject, rb_define_class(), rb_define_global_function(), rb_define_method(), rb_f_binding(), rb_undef_alloc_func(), and rb_undef_method().
Definition at line 2593 of file proc.c.
References CLASS_OF, localjump_reason(), localjump_xvalue(), method_arity_m(), method_clone(), method_eq(), method_hash(), method_inspect(), method_name(), method_original_name(), method_owner(), method_proc(), method_receiver(), method_unbind(), OBJ_TAINT, proc_arity(), proc_binding(), proc_call(), proc_clone(), proc_curry(), proc_dup(), proc_hash(), proc_to_proc(), proc_to_s(), rb_add_method(), rb_block_lambda(), rb_block_proc(), rb_cMethod, rb_cModule, rb_cObject, rb_cProc, rb_cUnboundMethod, rb_define_alias(), rb_define_class(), rb_define_global_function(), rb_define_method(), rb_define_private_method(), rb_define_singleton_method(), rb_eException, rb_eLocalJumpError, rb_eStandardError, rb_eSysStackError, rb_exc_new3, rb_intern, rb_method_call(), rb_method_location(), rb_method_parameters(), rb_mKernel, rb_mod_define_method(), rb_mod_instance_method(), rb_mod_public_instance_method(), rb_obj_define_method(), rb_obj_freeze(), rb_obj_method(), rb_obj_public_method(), rb_obj_singleton_method(), rb_proc_lambda_p(), rb_proc_location(), rb_proc_parameters(), rb_proc_s_new(), rb_singleton_class(), rb_str_new2, rb_undef_alloc_func(), rb_undef_method(), rb_vm_top_self(), sysstack_error, top_define_method(), umethod_bind(), and VM_METHOD_TYPE_OPTIMIZED.
Definition at line 915 of file proc.c.
References rb_iseq_struct::line_info_table, rb_iseq_struct::location, rb_iseq_location_struct::path, Qnil, rb_ary_new4, rb_iseq_first_lineno(), and rb_iseq_struct::self.
Referenced by method_def_location(), and rb_proc_location().
Definition at line 2430 of file proc.c.
References args, curry(), GetProcPtr, rb_proc_t::is_lambda, proc, rb_ary_freeze(), rb_ary_new3, and rb_proc_new().
Referenced by curry(), and proc_curry().
Definition at line 2078 of file proc.c.
References data, METHOD::me, method_data_type, rb_method_entry_arity(), and TypedData_Get_Struct.
Referenced by method_arity_m(), and rb_method_parameters().
Definition at line 2071 of file proc.c.
References INT2FIX, method_arity(), and n.
Referenced by Init_Proc().
Definition at line 1760 of file proc.c.
References rb_method_definition_struct::alias_count, ALLOC, CLASS_OF, CLONESETUP, data, rb_method_entry_struct::def, METHOD::me, method_data_type, TypedData_Get_Struct, TypedData_Make_Struct, and METHOD::ume.
Referenced by Init_Proc().
|
static |
Definition at line 2153 of file proc.c.
References rb_method_definition_struct::attr, rb_method_definition_struct::body, iseq_location(), rb_method_attr_struct::location, method_get_iseq(), Qnil, rb_ary_dup(), rb_method_definition_struct::type, VM_METHOD_TYPE_ATTRSET, and VM_METHOD_TYPE_IVAR.
Referenced by rb_method_entry_location(), and rb_method_location().
Definition at line 1252 of file proc.c.
References Check_TypedStruct, CLASS_OF, DATA_PTR(), METHOD::me, method_data_type, Qfalse, Qtrue, rb_method_entry_eq(), rb_obj_is_method(), METHOD::rclass, and METHOD::recv.
Referenced by Init_Proc().
|
inlinestatic |
Definition at line 2125 of file proc.c.
References data, rb_method_entry_struct::def, METHOD::me, method_data_type, and TypedData_Get_Struct.
Referenced by rb_method_get_iseq(), and rb_method_location().
|
static |
Definition at line 2134 of file proc.c.
References rb_method_definition_struct::body, get_proc_iseq, rb_method_definition_struct::iseq, rb_method_definition_struct::proc, rb_method_definition_struct::type, VM_METHOD_TYPE_BMETHOD, and VM_METHOD_TYPE_ISEQ.
Referenced by method_def_location(), method_proc(), and rb_method_get_iseq().
Definition at line 1282 of file proc.c.
References hash, INT2FIX, m, METHOD::me, method_data_type, rb_hash_end, rb_hash_method_entry(), rb_hash_start(), rb_hash_uint, METHOD::rclass, METHOD::recv, and TypedData_Get_Struct.
Referenced by Init_Proc().
Definition at line 2226 of file proc.c.
References attached, data, rb_method_entry_struct::def, FL_SINGLETON, FL_TEST, METHOD::id, rb_method_entry_struct::klass, METHOD::me, method_data_type, rb_method_definition_struct::original_id, PRIsVALUE, Qundef, rb_class_name(), rb_id2str(), rb_inspect(), rb_ivar_get(), rb_obj_classname(), rb_str_append(), rb_str_buf_append(), rb_str_buf_cat2(), rb_str_buf_new2, rb_str_catf(), METHOD::rclass, METHOD::recv, s, str, rb_method_definition_struct::type, TypedData_Get_Struct, v, and VM_METHOD_TYPE_NOTIMPLEMENTED.
Referenced by Init_Proc().
Definition at line 2102 of file proc.c.
References data, METHOD::me, method_data_type, rb_method_entry_min_max_arity(), and TypedData_Get_Struct.
Referenced by rb_block_min_max_arity().
Definition at line 1351 of file proc.c.
References data, METHOD::id, ID2SYM, method_data_type, and TypedData_Get_Struct.
Referenced by Init_Proc(), and rb_profile_frame_qualified_method_name().
Definition at line 1367 of file proc.c.
References data, rb_method_entry_struct::def, ID2SYM, METHOD::me, method_data_type, rb_method_definition_struct::original_id, and TypedData_Get_Struct.
Referenced by Init_Proc().
Definition at line 1383 of file proc.c.
References data, METHOD::defined_class, method_data_type, RB_TYPE_P, RBASIC_CLASS, T_ICLASS, and TypedData_Get_Struct.
Referenced by Init_Proc().
Definition at line 2328 of file proc.c.
References rb_proc_t::block, rb_env_t::block, bmcall(), rb_method_entry_struct::def, METHOD::defined_class, env, rb_proc_t::envval, GetEnvPtr, GetProcPtr, rb_proc_t::is_from_method, rb_block_struct::iseq, rb_block_struct::klass, METHOD::me, method_data_type, method_get_iseq(), mlambda(), proc, rb_iterate(), METHOD::recv, rb_block_struct::self, and TypedData_Get_Struct.
Referenced by Init_Proc().
Definition at line 1335 of file proc.c.
References data, method_data_type, METHOD::recv, and TypedData_Get_Struct.
Referenced by Init_Proc().
Definition at line 1306 of file proc.c.
References rb_method_definition_struct::alias_count, ALLOC, data, rb_method_entry_struct::def, METHOD::defined_class, METHOD::id, METHOD::me, method, method_data_type, OBJ_INFECT, Qundef, rb_cUnboundMethod, METHOD::rclass, METHOD::recv, TypedData_Get_Struct, TypedData_Make_Struct, and METHOD::ume.
Referenced by Init_Proc().
Definition at line 2288 of file proc.c.
References rb_funcall(), and rb_mRubyVMFrozenCore.
Referenced by method_proc().
Definition at line 1208 of file proc.c.
References METHOD::defined_class, METHOD::me, mnew_from_me(), and rb_method_entry_without_refinements().
Referenced by rb_mod_instance_method(), rb_mod_public_instance_method(), rb_obj_method(), and rb_obj_public_method().
|
static |
Definition at line 1117 of file proc.c.
References rb_method_definition_struct::alias_count, ALLOC, rb_method_entry_struct::called_id, data, rb_method_entry_struct::def, METHOD::defined_class, FL_SINGLETON, FL_TEST, rb_method_entry_struct::flag, flag, METHOD::id, id, ID2SYM, idRespond_to_missing, rb_method_entry_struct::klass, klass, rb_method_entry_struct::mark, METHOD::me, method, method_data_type, NOEX_MASK, NOEX_PRIVATE, NOEX_PROTECTED, NOEX_PUBLIC, NOEX_UNDEF, obj, OBJ_INFECT, rb_method_definition_struct::original_id, PRIsVALUE, Qfalse, Qtrue, Qundef, rb_class_name(), rb_funcall(), rb_id2name(), rb_method_basic_definition_p(), rb_method_entry_without_refinements(), rb_name_error(), rb_print_undef(), RB_TYPE_P, METHOD::rclass, RCLASS_SUPER, METHOD::recv, RTEST, sym, T_ICLASS, T_MODULE, rb_method_definition_struct::type, TypedData_Make_Struct, METHOD::ume, UNDEFINED_METHOD_ENTRY_P, v, VM_METHOD_TYPE_MISSING, and VM_METHOD_TYPE_ZSUPER.
Referenced by mnew(), and rb_obj_singleton_method().
Definition at line 2282 of file proc.c.
References rb_funcall2(), and rb_mRubyVMFrozenCore.
Referenced by rb_proc_new().
|
static |
Definition at line 2087 of file proc.c.
References rb_method_entry_struct::def, METHOD::me, rb_method_definition_struct::original_id, rb_method_entry(), METHOD::rclass, RCLASS_SUPER, rb_method_definition_struct::type, and VM_METHOD_TYPE_ZSUPER.
Referenced by rb_mod_method_arity(), and rb_mod_method_location().
Definition at line 809 of file proc.c.
References INT2FIX, and rb_proc_arity().
Referenced by Init_Proc().
Definition at line 2399 of file proc.c.
References rb_proc_t::block, rb_proc_t::blockprocval, rb_binding_t::blockprocval, rb_binding_t::env, rb_proc_t::envval, rb_binding_t::first_lineno, FIX2INT, GetBindingPtr, GetProcPtr, IS_METHOD_PROC_NODE, rb_block_struct::iseq, rb_iseq_struct::location, rb_iseq_location_struct::path, rb_binding_t::path, proc, Qnil, rb_binding_alloc(), rb_cBinding, rb_eArgError, rb_iseq_first_lineno(), rb_raise(), RB_TYPE_P, RUBY_VM_NORMAL_ISEQ_P, rb_iseq_struct::self, and T_NODE.
Referenced by Init_Proc().
Definition at line 705 of file proc.c.
References rb_iseq_struct::arg_block, rb_proc_t::block, BUILTIN_TYPE, GET_THREAD(), GetProcPtr, rb_block_struct::iseq, proc, rb_block_given_p(), rb_block_proc(), RB_GC_GUARD(), rb_vm_invoke_proc(), and T_NODE.
Referenced by Init_Proc().
Definition at line 125 of file proc.c.
References CLONESETUP, and proc_dup().
Referenced by Init_Proc().
Definition at line 2512 of file proc.c.
References FIX2INT, INT2FIX, make_curry_proc(), NIL_P(), rb_ary_new(), rb_check_arity, rb_proc_lambda_p(), rb_proc_min_max_arity(), and rb_scan_args().
Referenced by Init_Proc().
Definition at line 106 of file proc.c.
References rb_proc_t::block, rb_proc_t::blockprocval, dst, rb_proc_t::envval, GetProcPtr, rb_proc_t::is_lambda, rb_block_struct::proc, rb_cProc, rb_proc_alloc(), rb_proc_t::safe_level, and src.
Referenced by Init_Proc(), proc_clone(), proc_new(), and rb_mod_define_method().
Definition at line 43 of file proc.c.
References RUBY_FREE_ENTER, RUBY_FREE_LEAVE, and ruby_xfree().
Definition at line 1002 of file proc.c.
References hash, LONG2FIX, rb_hash_end, rb_hash_proc(), and rb_hash_start().
Referenced by Init_Proc().
Definition at line 53 of file proc.c.
References rb_proc_t::block, rb_proc_t::blockprocval, rb_proc_t::envval, rb_block_struct::iseq, rb_block_struct::proc, proc, ptr, RUBY_MARK_ENTER, RUBY_MARK_LEAVE, RUBY_MARK_UNLESS_NULL, RUBY_VM_IFUNC_P, and rb_block_struct::self.
Definition at line 539 of file proc.c.
References block, rb_thread_struct::cfp, GET_THREAD(), GetProcPtr, rb_proc_t::is_lambda, rb_block_struct::proc, proc, proc_dup(), Qnil, rb_eArgError, rb_raise(), rb_vm_control_frame_block_ptr(), rb_vm_make_proc(), rb_warn(), RBASIC, RBASIC_SET_CLASS, RUBY_VM_PREVIOUS_CONTROL_FRAME, th, and TRUE.
Referenced by rb_block_lambda(), rb_block_proc(), and rb_proc_s_new().
Definition at line 1062 of file proc.c.
Referenced by Init_Proc().
Definition at line 1020 of file proc.c.
References rb_proc_t::block, FIX2INT, GetProcPtr, rb_proc_t::is_lambda, rb_block_struct::iseq, rb_iseq_struct::line_info_table, rb_iseq_struct::location, OBJ_TAINT, OBJ_TAINTED, rb_iseq_location_struct::path, PRIsVALUE, proc, rb_iseq_first_lineno(), rb_obj_classname(), rb_sprintf(), RUBY_VM_NORMAL_ISEQ_P, rb_iseq_struct::self, and str.
Referenced by Init_Proc().
Definition at line 287 of file proc.c.
References obj, and TypedData_Make_Struct.
Referenced by binding_dup(), proc_binding(), and rb_vm_make_binding().
Definition at line 326 of file proc.c.
References rb_thread_struct::cfp, GET_THREAD(), rb_binding_new_with_cfp(), and th.
Referenced by call_trace_func(), Init_VM(), and rb_f_binding().
VALUE rb_binding_new_with_cfp | ( | rb_thread_t * | th, |
const rb_control_frame_t * | src_cfp | ||
) |
Definition at line 320 of file proc.c.
References rb_vm_make_binding().
Referenced by collect_caller_bindings(), rb_binding_new(), and rb_tracearg_binding().
Definition at line 871 of file proc.c.
References block, rb_thread_struct::cfp, GET_THREAD(), GetProcPtr, rb_proc_t::is_lambda, max(), min(), rb_block_struct::proc, proc, rb_block_min_max_arity(), rb_eArgError, rb_raise(), rb_vm_control_frame_block_ptr(), th, and UNLIMITED_ARGUMENTS.
Referenced by env_each_pair(), rb_ary_zip(), rb_hash_each_pair(), and rb_struct_each_pair().
Definition at line 640 of file proc.c.
References env, rb_env_t::env, rb_proc_t::envval, GetEnvPtr, GetProcPtr, proc, and Qnil.
Referenced by sym_to_proc().
Definition at line 634 of file proc.c.
References proc_new(), rb_cProc, and TRUE.
Referenced by Init_Proc(), Init_VM(), rb_f_lambda(), and rb_mod_define_method().
|
static |
Definition at line 826 of file proc.c.
References BUILTIN_TYPE, IS_METHOD_PROC_NODE, rb_block_struct::iseq, method_min_max_arity(), rb_iseq_min_max_arity(), T_NODE, and UNLIMITED_ARGUMENTS.
Referenced by rb_block_arity(), and rb_proc_min_max_arity().
Definition at line 620 of file proc.c.
References FALSE, proc_new(), and rb_cProc.
Referenced by define_final(), enum_chunk(), enum_slice_before(), enumerator_initialize(), ev_on_event(), generator_initialize(), if(), Init_Proc(), Init_VM(), lazy_to_enum(), m_core_set_postexe(), obj_to_enum(), ossl_x509store_verify(), proc_call(), rb_f_at_exit(), rb_f_trace_var(), rb_fiber_init(), rb_hash_initialize(), rb_method_call(), rb_scan_args(), sig_trap(), thread_create_core(), tracepoint_new_s(), and yielder_initialize().
Definition at line 651 of file proc.c.
References rb_block_lambda(), and rb_warn().
st_index_t rb_hash_proc | ( | st_index_t | hash, |
VALUE | prc | ||
) |
Definition at line 985 of file proc.c.
References rb_proc_t::block, rb_proc_t::envval, rb_block_struct::ep, GetProcPtr, rb_block_struct::iseq, proc, and rb_hash_uint.
Referenced by proc_hash(), and rb_hash_method_definition().
Definition at line 816 of file proc.c.
References rb_iseq_struct::arg_keyword, rb_iseq_struct::arg_keyword_required, rb_iseq_struct::arg_opts, rb_iseq_struct::arg_post_len, rb_iseq_struct::arg_rest, rb_iseq_struct::argc, and UNLIMITED_ARGUMENTS.
Referenced by rb_block_min_max_arity(), and rb_method_entry_min_max_arity().
Definition at line 1791 of file proc.c.
References proc, Qnil, rb_block_given_p(), rb_block_proc(), and rb_method_call_with_block().
Referenced by Init_Proc(), and method_fallback().
Definition at line 1798 of file proc.c.
References rb_proc_t::block, block, BUILTIN_TYPE, data, METHOD::defined_class, EXEC_TAG, GET_THREAD(), GetProcPtr, METHOD::id, JUMP_TAG, METHOD::me, method_data_type, NIL_P(), OBJ_TAINTED, rb_thread_struct::passed_block, POP_TAG, PUSH_TAG, Qnil, Qundef, rb_eTypeError, rb_raise(), rb_safe_level, rb_set_safe_level_force(), rb_vm_call(), METHOD::rclass, METHOD::recv, result, safe, state, T_MODULE, th, and TypedData_Get_Struct.
Referenced by bmcall(), and rb_method_call().
int rb_method_entry_arity | ( | const rb_method_entry_t * | me | ) |
Definition at line 2031 of file proc.c.
References max(), min(), and rb_method_entry_min_max_arity().
Referenced by check_funcall_respond_to(), method_arity(), and rb_mod_method_arity().
VALUE rb_method_entry_location | ( | rb_method_entry_t * | me | ) |
Definition at line 2164 of file proc.c.
References rb_method_entry_struct::def, method_def_location(), and Qnil.
Referenced by rb_mod_method_location().
|
static |
Definition at line 1982 of file proc.c.
References rb_method_cfunc_struct::argc, rb_method_definition_struct::body, rb_method_definition_struct::cfunc, check_argc, rb_method_entry_struct::def, rb_method_definition_struct::iseq, rb_method_definition_struct::optimize_type, rb_method_definition_struct::proc, rb_bug(), rb_iseq_min_max_arity(), rb_proc_min_max_arity(), rb_method_definition_struct::type, UNLIMITED_ARGUMENTS, UNREACHABLE, VM_METHOD_TYPE_ATTRSET, VM_METHOD_TYPE_BMETHOD, VM_METHOD_TYPE_CFUNC, VM_METHOD_TYPE_ISEQ, VM_METHOD_TYPE_IVAR, VM_METHOD_TYPE_MISSING, VM_METHOD_TYPE_NOTIMPLEMENTED, VM_METHOD_TYPE_OPTIMIZED, VM_METHOD_TYPE_REFINED, VM_METHOD_TYPE_UNDEF, and VM_METHOD_TYPE_ZSUPER.
Referenced by method_min_max_arity(), and rb_method_entry_arity().
Definition at line 2147 of file proc.c.
References method_get_def(), and method_get_iseq().
Referenced by iseq_s_of(), rb_method_parameters(), and rb_proc_get_iseq().
Definition at line 2192 of file proc.c.
References method_def_location(), and method_get_def().
Referenced by Init_Proc().
Definition at line 1399 of file proc.c.
References attached, c, FL_SINGLETON, FL_TEST, klass, obj, PRIsVALUE, QUOTE, rb_class_name(), rb_ivar_get(), rb_name_error_str(), RB_TYPE_P, T_CLASS, T_MODULE, and TYPE.
Referenced by rb_mod_instance_method(), rb_mod_public_instance_method(), rb_mod_undef_method(), rb_obj_method(), and rb_obj_public_method().
Definition at line 2206 of file proc.c.
References method_arity(), rb_iseq_parameters(), rb_method_get_iseq(), and unnamed_parameters().
Referenced by Init_Proc().
Definition at line 1614 of file proc.c.
References rb_proc_t::block, BUILTIN_TYPE, DATA_PTR(), rb_iseq_struct::defined_method_id, FL_SINGLETON, FL_TEST, GetProcPtr, id, ID2SYM, int, rb_proc_t::is_from_method, rb_proc_t::is_lambda, rb_block_struct::iseq, rb_iseq_struct::klass, rb_block_struct::klass, METHOD::me, method, mod, NOEX_MODFUNC, NOEX_PUBLIC, PRIsVALUE, proc, proc_dup(), rb_add_method(), rb_block_lambda(), rb_check_arity, rb_class_inherited_p(), rb_class_name(), rb_eTypeError, RB_GC_GUARD(), rb_method_entry_set(), rb_obj_classname(), rb_obj_is_method(), rb_obj_is_proc(), RB_OBJ_WRITE, rb_raise(), rb_singleton_class(), rb_to_id(), RB_TYPE_P, rb_vm_cref_in_context(), METHOD::rclass, RTEST, rb_iseq_struct::self, T_MODULE, T_NODE, TRUE, and VM_METHOD_TYPE_BMETHOD.
Referenced by Init_Proc(), rb_obj_define_method(), and top_define_method().
Definition at line 1550 of file proc.c.
References FALSE, mnew(), Qundef, rb_check_id(), rb_cUnboundMethod, and rb_method_name_error().
Referenced by Init_Proc().
Definition at line 2111 of file proc.c.
References METHOD::me, original_method_entry(), and rb_method_entry_arity().
Referenced by rb_obj_method_arity().
Definition at line 2171 of file proc.c.
References METHOD::me, original_method_entry(), and rb_method_entry_location().
Referenced by rb_obj_method_location(), and rb_obj_respond_to().
Definition at line 1567 of file proc.c.
References mnew(), Qundef, rb_check_id(), rb_cUnboundMethod, rb_method_name_error(), and TRUE.
Referenced by Init_Proc().
Definition at line 1712 of file proc.c.
References klass, rb_mod_define_method(), and rb_singleton_class().
Referenced by Init_Proc().
Definition at line 1106 of file proc.c.
References method_data_type, Qfalse, Qtrue, and rb_typeddata_is_kind_of().
Referenced by method_eq(), rb_econv_prepare_options(), rb_mod_define_method(), and transcode_loop().
Definition at line 94 of file proc.c.
References Qfalse, Qtrue, and rb_typeddata_is_kind_of().
Referenced by generator_initialize(), iseq_s_of(), rb_econv_prepare_options(), rb_hash_set_default_proc(), rb_mod_define_method(), set_trace_func(), thread_add_trace_func(), transcode_loop(), and vm_caller_setup_args().
Definition at line 1450 of file proc.c.
References CLASS_OF, FALSE, mnew(), rb_check_id(), rb_cMethod, and rb_method_name_error().
Referenced by Init_Proc(), and wmap_allocate().
Definition at line 2119 of file proc.c.
References CLASS_OF, and rb_mod_method_arity().
Referenced by rb_obj_respond_to().
Definition at line 2178 of file proc.c.
References CLASS_OF, and rb_mod_method_location().
Definition at line 1467 of file proc.c.
References CLASS_OF, mnew(), rb_check_id(), rb_cMethod, rb_method_name_error(), and TRUE.
Referenced by Init_Proc().
Definition at line 1501 of file proc.c.
References FALSE, klass, METHOD::me, mnew_from_me(), NIL_P(), PRIsVALUE, QUOTE, QUOTE_ID, rb_check_id(), rb_cMethod, rb_method_entry_at(), rb_name_error(), rb_name_error_str(), and rb_singleton_class_get().
Referenced by Init_Proc().
Definition at line 87 of file proc.c.
References proc, and TypedData_Make_Struct.
Referenced by proc_dup(), and rb_vm_make_proc().
Definition at line 862 of file proc.c.
References GetProcPtr, rb_proc_t::is_lambda, max(), min(), proc, rb_proc_min_max_arity(), and UNLIMITED_ARGUMENTS.
Referenced by default_proc_arity_check(), proc_arity(), and rb_proc_parameters().
Definition at line 744 of file proc.c.
References check_argc, GET_THREAD(), GetProcPtr, proc, RARRAY_CONST_PTR, RARRAY_LEN, RB_GC_GUARD(), and rb_vm_invoke_proc().
Referenced by generator_each(), proc_fallback(), rb_call_end_proc(), and yielder_yield().
Definition at line 756 of file proc.c.
References rb_proc_t::block, block, GET_THREAD(), GetProcPtr, NIL_P(), proc, RB_GC_GUARD(), and rb_vm_invoke_proc().
Referenced by call_trace_func(), curry(), tp_call_trace(), and vm_once_exec().
Definition at line 894 of file proc.c.
References rb_proc_t::block, GetProcPtr, rb_proc_t::is_lambda, IS_METHOD_PROC_NODE, rb_block_struct::iseq, proc, rb_method_get_iseq(), and RUBY_VM_NORMAL_ISEQ_P.
Referenced by rb_method_entry_make().
Definition at line 234 of file proc.c.
References GetProcPtr, rb_proc_t::is_lambda, proc, Qfalse, and Qtrue.
Referenced by default_proc_arity_check(), Init_Proc(), and proc_curry().
Definition at line 939 of file proc.c.
References get_proc_iseq, and iseq_location().
Referenced by Init_Proc(), and thread_initialize().
Definition at line 852 of file proc.c.
References rb_proc_t::block, block, GetProcPtr, proc, and rb_block_min_max_arity().
Referenced by proc_curry(), rb_method_entry_min_max_arity(), and rb_proc_arity().
Definition at line 2312 of file proc.c.
References func, mproc(), and rb_iterate().
Referenced by if(), make_curry_proc(), rb_fiber_new(), sym_to_proc(), and yielder_new().
Definition at line 974 of file proc.c.
References get_proc_iseq, rb_iseq_parameters(), rb_proc_arity(), and unnamed_parameters().
Referenced by Init_Proc().
Definition at line 604 of file proc.c.
References block, FALSE, proc_new(), and rb_obj_call_init().
Referenced by Init_Proc().
Definition at line 1027 of file vm.c.
References rb_thread_struct::cfp, rb_control_frame_struct::ep, GET_THREAD(), rb_control_frame_struct::iseq, NULL, rb_vm_get_cref(), rb_vm_get_ruby_level_next_cfp(), rb_control_frame_struct::self, and th.
Referenced by rb_mod_define_method().
Definition at line 1727 of file proc.c.
References GET_THREAD(), klass, rb_cObject, rb_mod_define_method(), rb_warning(), th, and rb_thread_struct::top_wrapper.
Referenced by Init_Proc().
Definition at line 1933 of file proc.c.
References rb_method_definition_struct::alias_count, ALLOC, BUILTIN_TYPE, CLASS_OF, data, rb_method_entry_struct::def, METHOD::defined_class, FL_SINGLETON, FL_TEST, METHOD::me, method, method_data_type, PRIsVALUE, rb_class_name(), rb_class_search_ancestor(), rb_cMethod, rb_eTypeError, rb_include_class_new(), rb_obj_is_kind_of(), rb_raise(), RB_TYPE_P, METHOD::rclass, METHOD::recv, T_MODULE, TypedData_Get_Struct, TypedData_Make_Struct, and METHOD::ume.
Referenced by Init_Proc().
Definition at line 945 of file proc.c.
References a, CONST_ID, ID2SYM, n, OBJ_FREEZE, param, rb_ary_new2, rb_ary_new3, rb_ary_push(), and rb_ary_store().
Referenced by rb_method_parameters(), and rb_proc_parameters().
|
static |
Definition at line 1095 of file proc.c.
Referenced by method_arity(), method_clone(), method_eq(), method_get_def(), method_hash(), method_inspect(), method_min_max_arity(), method_name(), method_original_name(), method_owner(), method_proc(), method_receiver(), method_unbind(), mnew_from_me(), rb_method_call_with_block(), rb_obj_is_method(), and umethod_bind().
|
static |
const rb_data_type_t ruby_binding_data_type |
Definition at line 276 of file proc.c.
Referenced by eval_string_with_cref().