mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
* class.c, constant.h, gc.c, method.h, object.c, variable.c,
vm_insnhelper.c: use struct rb_constant_entry_t as entry of RCLASS_CONST_TBL. RCLASS_CONST_TBL has contained VALUE of constant directly. Now instead rb_const_entry_t is contained in RCLASS_CONST_TBL, rb_const_entry_t is managed by malloc, and have not only the value itself but also visibility flag. This is another preparation for private constant (see [ruby-dev:39685][ruby-core:32698]). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e169ea0cac
commit
a115768161
8 changed files with 116 additions and 18 deletions
26
constant.h
Normal file
26
constant.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
/**********************************************************************
|
||||
|
||||
constant.h -
|
||||
|
||||
$Author$
|
||||
created at: Sun Nov 15 00:09:33 2009
|
||||
|
||||
Copyright (C) 2009 Yusuke Endoh
|
||||
|
||||
**********************************************************************/
|
||||
#ifndef CONSTANT_H
|
||||
#define CONSTANT_H
|
||||
|
||||
typedef enum {
|
||||
CONST_PUBLIC = 0x00,
|
||||
CONST_PRIVATE = 0x01,
|
||||
} rb_const_flag_t;
|
||||
|
||||
typedef struct rb_const_entry_struct {
|
||||
rb_const_flag_t flag;
|
||||
VALUE value; /* should be mark */
|
||||
} rb_const_entry_t;
|
||||
|
||||
void rb_free_const_table(st_table *tbl);
|
||||
|
||||
#endif /* CONSTANT_H */
|
Loading…
Add table
Add a link
Reference in a new issue