aboutsummaryrefslogtreecommitdiffstats
path: root/constant.h
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-10-26 17:27:32 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-10-26 17:27:32 +0000
commita11576816197d75fa17d959e74cabb612ba8b8be (patch)
tree22614a970841b61b3ac1bac4dca118b5561e4ed2 /constant.h
parente169ea0cacc981c506f75a2d3e093558e599d21d (diff)
downloadruby-a11576816197d75fa17d959e74cabb612ba8b8be.tar.gz
* 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
Diffstat (limited to 'constant.h')
-rw-r--r--constant.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/constant.h b/constant.h
new file mode 100644
index 0000000000..5c04b01f41
--- /dev/null
+++ b/constant.h
@@ -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 */