diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-07-28 01:32:15 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-07-28 01:32:15 +0000 |
commit | 1f2255604087e9a7d7efcb2df61b5ca0e2daa200 (patch) | |
tree | 6af1e6dfb53a9f62443335cce60a95938d1b88de | |
parent | 9d10f9ee8fa07c173ec5da712d6e6d803a2e558b (diff) |
internal.h: moved RClass
* internal.h (struct RClass): moved from ruby/ruby.h to hide the
internals.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | include/ruby/ruby.h | 13 | ||||
-rw-r--r-- | internal.h | 10 | ||||
-rw-r--r-- | win32/Makefile.sub | 1 |
4 files changed, 22 insertions, 7 deletions
@@ -1,3 +1,8 @@ +Tue Jul 28 10:32:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * internal.h (struct RClass): moved from ruby/ruby.h to hide the + internals. + Tue Jul 28 08:48:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in (RUBY_TYPE_ATTRIBUTE): attribute declaration for diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index 8405f4c624..01b3c2efc6 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -38,6 +38,9 @@ extern "C" { #ifndef DEPRECATED_BY # define DEPRECATED_BY(n,x) DEPRECATED(x) #endif +#ifndef DEPRECATED_TYPE +# define DEPRECATED_TYPE(mesg, decl) decl +#endif #ifndef NOINLINE # define NOINLINE(x) x #endif @@ -821,15 +824,11 @@ struct RObject { RCLASS_IV_INDEX_TBL(rb_obj_class(o)) : \ ROBJECT(o)->as.heap.iv_index_tbl) -/** @internal */ -typedef struct rb_classext_struct rb_classext_t; - +#define RClass RClassDeprecated +DEPRECATED_TYPE(("RClass is internal use only"), struct RClass { struct RBasic basic; - VALUE super; - rb_classext_t *ptr; - struct st_table *m_tbl; -}; +}); #define RCLASS_SUPER(c) rb_class_get_superclass(c) #define RMODULE_IV_TBL(m) RCLASS_IV_TBL(m) #define RMODULE_CONST_TBL(m) RCLASS_CONST_TBL(m) diff --git a/internal.h b/internal.h index c2e5a5b757..58ff89763c 100644 --- a/internal.h +++ b/internal.h @@ -479,6 +479,16 @@ struct rb_classext_struct { rb_alloc_func_t allocator; }; +typedef struct rb_classext_struct rb_classext_t; + +#undef RClass +struct RClass { + struct RBasic basic; + VALUE super; + rb_classext_t *ptr; + struct st_table *m_tbl; +}; + void rb_class_subclass_add(VALUE super, VALUE klass); void rb_class_remove_from_super_subclasses(VALUE); diff --git a/win32/Makefile.sub b/win32/Makefile.sub index 75a606549a..db489ecb8c 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -584,6 +584,7 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub !endif !if $(MSC_VER) >= 1300 #define DEPRECATED(x) __declspec(deprecated) x +#define DEPRECATED_TYPE(mesg, x) __declspec(deprecated mesg) x #define NOINLINE(x) __declspec(noinline) x !endif #define UNREACHABLE __assume(0) |