Ruby 2.0.0p247(2013-06-27revision41674)

- Main Page
- Modules
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Data Fields

Data Fields
rb_method_definition_struct Struct Reference

`#include <method.h>`

## Data Fields
rb_method_type_t | type
ID | original_id
union {
enum | method_optimized_type { OPTIMIZED_METHOD_TYPE_SEND, OPTIMIZED_METHOD_TYPE_CALL, OPTIMIZED_METHOD_TYPE__MAX }
rb_iseq_t * iseq
rb_method_cfunc_t cfunc
rb_method_attr_t attr
VALUE proc
enum rb_method_definition_struct:: { ... } ::method_optimized_type optimize_type
struct rb_method_entry_struct * orig_me
} | body
int | alias_count

## Detailed Description

Definition at line 76 of file method.h.

## Field Documentation

int rb_method_definition_struct::alias_count

Definition at line 92 of file method.h.

Referenced by make_method_entry_refined(), method_clone(), method_unbind(), mnew(), rb_add_method(), rb_method_entry_make(), release_method_definition(), and umethod_bind().

rb_method_attr_t rb_method_definition_struct::attr

Definition at line 82 of file method.h.

Referenced by mark_method_entry(), method_def_location(), rb_add_method(), rb_hash_method_definition(), rb_method_definition_eq(), vm_call0_body(), vm_call_attrset(), and vm_call_ivar().

union { ... } rb_method_definition_struct::body

Referenced by check_cfunc(), clone_method(), get_original_method_entry(), make_method_entry_refined(), mark_method_entry(), method_def_location(), method_get_iseq(), move_refined_method(), rb_add_method(), rb_export_method(), rb_hash_method_definition(), rb_method_definition_eq(), rb_method_entry_make(), rb_method_entry_min_max_arity(), rb_obj_basic_to_s_p(), release_method_definition(), vm_call0_body(), vm_call0_cfunc_with_frame(), vm_call_attrset(), vm_call_bmethod_body(), vm_call_cfunc_with_frame(), vm_call_iseq_setup(), vm_call_iseq_setup_normal(), vm_call_iseq_setup_tailcall(), vm_call_ivar(), vm_call_method(), and vm_search_super_method().

rb_method_cfunc_t rb_method_definition_struct::cfunc

Definition at line 81 of file method.h.

Referenced by check_cfunc(), rb_add_method(), rb_hash_method_definition(), rb_method_definition_eq(), rb_method_entry_min_max_arity(), rb_obj_basic_to_s_p(), vm_call0_cfunc_with_frame(), and vm_call_cfunc_with_frame().

rb_iseq_t* rb_method_definition_struct::iseq

Definition at line 80 of file method.h.

Referenced by clone_method(), mark_method_entry(), method_get_iseq(), rb_add_method(), rb_hash_method_definition(), rb_method_definition_eq(), rb_method_entry_make(), rb_method_entry_min_max_arity(), vm_call_iseq_setup(), vm_call_iseq_setup_normal(), vm_call_iseq_setup_tailcall(), and vm_search_super_method().

enum { ... } ::method_optimized_type rb_method_definition_struct::optimize_type

Referenced by rb_add_method(), rb_hash_method_definition(), rb_method_definition_eq(), rb_method_entry_min_max_arity(), vm_call0_body(), and vm_call_method().

struct rb_method_entry_struct* rb_method_definition_struct::orig_me

Definition at line 90 of file method.h.

Referenced by get_original_method_entry(), make_method_entry_refined(), mark_method_entry(), move_refined_method(), rb_add_method(), rb_export_method(), rb_hash_method_definition(), rb_method_definition_eq(), release_method_definition(), vm_call0_body(), and vm_call_method().

ID rb_method_definition_struct::original_id

Definition at line 78 of file method.h.

Referenced by control_frame_dump(), frame_func_id(), make_method_entry_refined(), method_inspect(), mnew(), original_method_entry(), rb_add_method(), rb_alias(), rb_hash_method_definition(), rb_method_call_status(), rb_method_definition_eq(), rb_method_entry_make(), rb_thread_current_status(), rb_vm_control_frame_id_and_class(), vm_call_super(), and vm_search_superclass().

VALUE rb_method_definition_struct::proc

Definition at line 83 of file method.h.

Referenced by mark_method_entry(), method_get_iseq(), rb_add_method(), rb_hash_method_definition(), rb_method_definition_eq(), rb_method_entry_make(), rb_method_entry_min_max_arity(), and vm_call_bmethod_body().

rb_method_type_t rb_method_definition_struct::type

Definition at line 77 of file method.h.

Referenced by add_opt_method(), check_cfunc(), clone_method(), make_method_entry_refined(), mark_method_entry(), method_def_location(), method_get_iseq(), method_inspect(), mnew(), move_refined_method(), original_method_entry(), rb_add_method(), rb_alias(), rb_export_method(), rb_hash_method_definition(), rb_method_boundp(), rb_method_definition_eq(), rb_method_entry_make(), rb_method_entry_min_max_arity(), rb_method_entry_set(), rb_method_entry_with_refinements(), rb_method_entry_without_refinements(), rb_mod_modfunc(), rb_obj_basic_to_s_p(), rb_resolve_refined_method(), rb_vm_check_redefinition_opt_method(), release_method_definition(), remove_method(), vm_call0_body(), vm_call_method(), and vm_search_super_method().

The documentation for this struct was generated from the following file:

- method.h