mirror of
https://github.com/ruby/ruby.git
synced 2025-08-23 21:14:23 +02:00
* class.c, gc.c, object.c, variable.c, vm_insnhelper.c,
include/ruby/ruby.h: separate RCLASS_CONST_TBL from RCLASS_IV_TBL. RCLASS_IV_TBL has contained not only instance variable table but also constant table. Now the two table are separated to RCLASS_CONST_TBL and RCLASS_IV_TBL. This is a preparation for private constant (see [ruby-dev:39685][ruby-core:32698]). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
6ca3ad34a0
commit
2285a8d813
7 changed files with 78 additions and 40 deletions
|
@ -608,6 +608,7 @@ struct RObject {
|
|||
typedef struct {
|
||||
VALUE super;
|
||||
struct st_table *iv_tbl;
|
||||
struct st_table *const_tbl;
|
||||
} rb_classext_t;
|
||||
|
||||
struct RClass {
|
||||
|
@ -617,10 +618,12 @@ struct RClass {
|
|||
struct st_table *iv_index_tbl;
|
||||
};
|
||||
#define RCLASS_IV_TBL(c) (RCLASS(c)->ptr->iv_tbl)
|
||||
#define RCLASS_CONST_TBL(c) (RCLASS(c)->ptr->const_tbl)
|
||||
#define RCLASS_M_TBL(c) (RCLASS(c)->m_tbl)
|
||||
#define RCLASS_SUPER(c) (RCLASS(c)->ptr->super)
|
||||
#define RCLASS_IV_INDEX_TBL(c) (RCLASS(c)->iv_index_tbl)
|
||||
#define RMODULE_IV_TBL(m) RCLASS_IV_TBL(m)
|
||||
#define RMODULE_CONST_TBL(m) RCLASS_CONST_TBL(m)
|
||||
#define RMODULE_M_TBL(m) RCLASS_M_TBL(m)
|
||||
#define RMODULE_SUPER(m) RCLASS_SUPER(m)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue