diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-05-18 02:06:09 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-05-18 02:06:09 +0900 |
| commit | 5d5d189dee7cd28e9811cef460b3c7ffc1da315d (patch) | |
| tree | db47d3b152b1d7c587df502aec2050382c244cfa /src | |
| parent | 74d29edf5cae3dbc7515deb7bfd6fe5c7e968f3b (diff) | |
| download | mruby-5d5d189dee7cd28e9811cef460b3c7ffc1da315d.tar.gz mruby-5d5d189dee7cd28e9811cef460b3c7ffc1da315d.zip | |
remove src/method.h
Diffstat (limited to 'src')
| -rw-r--r-- | src/method.h | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/src/method.h b/src/method.h deleted file mode 100644 index 9d917cae4..000000000 --- a/src/method.h +++ /dev/null @@ -1,99 +0,0 @@ -/* -** method.h - method structures and functions -** -** See Copyright Notice in mruby.h -*/ - -#ifndef METHOD_H -#define METHOD_H - -typedef enum { - NOEX_PUBLIC = 0x00, - NOEX_NOSUPER = 0x01, - NOEX_PRIVATE = 0x02, - NOEX_PROTECTED = 0x04, - NOEX_MASK = 0x06, - NOEX_BASIC = 0x08, - NOEX_UNDEF = NOEX_NOSUPER, - NOEX_MODFUNC = 0x12, - NOEX_SUPER = 0x20, - NOEX_VCALL = 0x40, - NOEX_RESPONDS = 0x80 -} mrb_method_flag_t; - -#define NOEX_SAFE(n) ((int)((n) >> 8) & 0x0F) -#define NOEX_WITH(n, s) ((s << 8) | (n) | (ruby_running ? 0 : NOEX_BASIC)) -#define NOEX_WITH_SAFE(n) NOEX_WITH(n, mrb_safe_level()) - -/* method data type */ - -typedef enum { - VM_METHOD_TYPE_ISEQ, - VM_METHOD_TYPE_CFUNC, - VM_METHOD_TYPE_ATTRSET, - VM_METHOD_TYPE_IVAR, - VM_METHOD_TYPE_BMETHOD, - VM_METHOD_TYPE_ZSUPER, - VM_METHOD_TYPE_UNDEF, - VM_METHOD_TYPE_NOTIMPLEMENTED, - VM_METHOD_TYPE_OPTIMIZED, /* Kernel#send, Proc#call, etc */ - VM_METHOD_TYPE_MISSING /* wrapper for method_missing(id) */ -} mrb_method_type_t; - -typedef struct mrb_method_cfunc_struct { - mrb_value (*func)(ANYARGS); - int argc; -} mrb_method_cfunc_t; - -typedef struct mrb_method_attr_struct { - mrb_sym id; - mrb_value location; -} mrb_method_attr_t; - -typedef struct mrb_iseq_struct mrb_iseq_t; - -typedef struct mrb_method_definition_struct { - mrb_method_type_t type; /* method type */ - mrb_sym original_id; - union { - mrb_iseq_t *iseq; /* should be mark */ - mrb_method_cfunc_t cfunc; - mrb_method_attr_t attr; - mrb_value proc; /* should be mark */ - enum method_optimized_type { - OPTIMIZED_METHOD_TYPE_SEND, - OPTIMIZED_METHOD_TYPE_CALL - } optimize_type; - } body; - int alias_count; -} mrb_method_definition_t; - -typedef struct mrb_method_entry_struct { - mrb_method_flag_t flag; - char mark; - mrb_method_definition_t *def; - mrb_sym called_id; - mrb_value klass; /* should be mark */ -} mrb_method_entry_t; - -struct unlinked_method_entry_list_entry { - struct unlinked_method_entry_list_entry *next; - mrb_method_entry_t *me; -}; - -#define UNDEFINED_METHOD_ENTRY_P(me) (!(me) || !(me)->def || (me)->def->type == VM_METHOD_TYPE_UNDEF) - -void mrb_add_method_cfunc(mrb_value klass, mrb_sym mid, mrb_value (*func)(ANYARGS), int argc, mrb_method_flag_t noex); -mrb_method_entry_t *mrb_add_method(mrb_value klass, mrb_sym mid, mrb_method_type_t type, void *option, mrb_method_flag_t noex); -mrb_method_entry_t *mrb_method_entry(mrb_state *mrb, mrb_value klass, mrb_sym id); - -mrb_method_entry_t *mrb_method_entry_get_without_cache(mrb_value klass, mrb_sym id); -mrb_method_entry_t *mrb_method_entry_set(mrb_value klass, mrb_sym mid, const mrb_method_entry_t *, mrb_method_flag_t noex); - -int mrb_method_entry_arity(const mrb_method_entry_t *me); - -void mrb_mark_method_entry(const mrb_method_entry_t *me); -void mrb_free_method_entry(mrb_method_entry_t *me); -void mrb_sweep_method_entry(void *vm); - -#endif /* METHOD_H */ |
