24#include "ruby/internal/cast.h"
45#define RB_NEWOBJ(obj,type) type *(obj) = RBIMPL_CAST((type *)rb_newobj())
58#define RB_NEWOBJ_OF(obj,type,klass,flags) type *(obj) = RBIMPL_CAST((type *)rb_newobj_of(klass, flags))
60#define NEWOBJ RB_NEWOBJ
61#define NEWOBJ_OF RB_NEWOBJ_OF
62#define OBJSETUP rb_obj_setup
63#define CLONESETUP rb_clone_setup
64#define DUPSETUP rb_dup_setup
173rb_clone_setup(VALUE clone, VALUE obj)
180RBIMPL_ATTR_DEPRECATED(("This is no longer how Object#dup works."))
192rb_dup_setup(VALUE dup, VALUE obj)
199#endif /* RBIMPL_NEWOBJ_H */
Defines RBIMPL_ATTR_DEPRECATED.
#define RBIMPL_ATTR_DEPRECATED(msg)
Wraps (or simulates) [[deprecated]]
Tweaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Defines enum ruby_fl_type.
VALUE rb_singleton_class_clone(VALUE obj)
Clones a singleton class.
void rb_singleton_class_attached(VALUE klass, VALUE obj)
Attaches a singleton class to its corresponding object.
VALUE rb_obj_class(VALUE obj)
Queries the class of an object.
VALUE rb_obj_setup(VALUE obj, VALUE klass, VALUE type)
Fills common fields in the object.
VALUE rb_newobj(void)
This is the implementation detail of RB_NEWOBJ.
void rb_copy_generic_ivar(VALUE clone, VALUE obj)
Copies the list of instance variables.
VALUE rb_newobj_of(VALUE klass, VALUE flags)
This is the implementation detail of RB_NEWOBJ_OF.
Defines enum ruby_special_consts.
uintptr_t VALUE
Type that represents a Ruby object.