X7ROOT File Manager
Current Path:
/opt/alt/ruby30/include/ruby/internal
opt
/
alt
/
ruby30
/
include
/
ruby
/
internal
/
📁
..
📄
anyargs.h
(36.23 KB)
📁
arithmetic
📄
arithmetic.h
(2.04 KB)
📄
assume.h
(3.26 KB)
📁
attr
📄
cast.h
(2.33 KB)
📁
compiler_is
📄
compiler_is.h
(2.05 KB)
📄
compiler_since.h
(2.71 KB)
📄
config.h
(4.55 KB)
📄
constant_p.h
(1.8 KB)
📁
core
📄
core.h
(1.83 KB)
📄
ctype.h
(4.96 KB)
📄
dllexport.h
(3.48 KB)
📄
dosish.h
(1.99 KB)
📄
error.h
(3.83 KB)
📄
eval.h
(2.44 KB)
📄
event.h
(3.29 KB)
📄
fl_type.h
(13.29 KB)
📄
gc.h
(2.25 KB)
📄
glob.h
(1.69 KB)
📄
globals.h
(4.94 KB)
📁
has
📁
intern
📄
interpreter.h
(3.04 KB)
📄
iterator.h
(3.02 KB)
📄
memory.h
(8.66 KB)
📄
method.h
(1.86 KB)
📄
module.h
(1.78 KB)
📄
newobj.h
(3.12 KB)
📄
rgengc.h
(5.92 KB)
📄
scan_args.h
(13.5 KB)
📄
special_consts.h
(6.38 KB)
📄
static_assert.h
(3.14 KB)
📄
stdalign.h
(4.52 KB)
📄
stdbool.h
(1.99 KB)
📄
symbol.h
(3.63 KB)
📄
token_paste.h
(3.3 KB)
📄
value.h
(2.73 KB)
📄
value_type.h
(10.49 KB)
📄
variable.h
(2.59 KB)
📄
warning_push.h
(4.31 KB)
📄
xmalloc.h
(15.61 KB)
Editing: newobj.h
#ifndef RBIMPL_NEWOBJ_H /*-*-C++-*-vi:se ft=cpp:*/ #define RBIMPL_NEWOBJ_H /** * @file * @author Ruby developers <ruby-core@ruby-lang.org> * @copyright This file is a part of the programming language Ruby. * Permission is hereby granted, to either redistribute and/or * modify this file, provided that the conditions mentioned in the * file COPYING are met. Consult the file for details. * @warning Symbols prefixed with either `RBIMPL` or `rbimpl` are * implementation details. Don't take them as canon. They could * rapidly appear then vanish. The name (path) of this header file * is also an implementation detail. Do not expect it to persist * at the place it is now. Developers are free to move it anywhere * anytime at will. * @note To ruby-core: remember that this header can be possibly * recursively included from extension libraries written in C++. * Do not expect for instance `__VA_ARGS__` is always available. * We assume C99 for ruby itself but we don't assume languages of * extension libraries. They could be written in C++98. * @brief Defines #NEWOBJ. */ #include "ruby/internal/cast.h" #include "ruby/internal/core/rbasic.h" #include "ruby/internal/dllexport.h" #include "ruby/internal/fl_type.h" #include "ruby/internal/special_consts.h" #include "ruby/internal/value.h" #include "ruby/assert.h" #define RB_NEWOBJ(obj,type) type *(obj) = RBIMPL_CAST((type *)rb_newobj()) #define RB_NEWOBJ_OF(obj,type,klass,flags) type *(obj) = RBIMPL_CAST((type *)rb_newobj_of(klass, flags)) #define NEWOBJ RB_NEWOBJ #define NEWOBJ_OF RB_NEWOBJ_OF /* core has special NEWOBJ_OF() in internal.h */ #define OBJSETUP rb_obj_setup /* use NEWOBJ_OF instead of NEWOBJ()+OBJSETUP() */ #define CLONESETUP rb_clone_setup #define DUPSETUP rb_dup_setup RBIMPL_SYMBOL_EXPORT_BEGIN() VALUE rb_newobj(void); VALUE rb_newobj_of(VALUE, VALUE); VALUE rb_obj_setup(VALUE obj, VALUE klass, VALUE type); VALUE rb_obj_class(VALUE); VALUE rb_singleton_class_clone(VALUE); void rb_singleton_class_attached(VALUE,VALUE); void rb_copy_generic_ivar(VALUE,VALUE); RBIMPL_SYMBOL_EXPORT_END() static inline void rb_clone_setup(VALUE clone, VALUE obj) { RBIMPL_ASSERT_OR_ASSUME(! RB_SPECIAL_CONST_P(obj)); RBIMPL_ASSERT_OR_ASSUME(! RB_SPECIAL_CONST_P(clone)); const VALUE flags = RUBY_FL_PROMOTED0 | RUBY_FL_PROMOTED1 | RUBY_FL_FINALIZE; rb_obj_setup(clone, rb_singleton_class_clone(obj), RB_FL_TEST_RAW(obj, ~flags)); rb_singleton_class_attached(RBASIC_CLASS(clone), clone); if (RB_FL_TEST(obj, RUBY_FL_EXIVAR)) rb_copy_generic_ivar(clone, obj); } static inline void rb_dup_setup(VALUE dup, VALUE obj) { RBIMPL_ASSERT_OR_ASSUME(! RB_SPECIAL_CONST_P(obj)); RBIMPL_ASSERT_OR_ASSUME(! RB_SPECIAL_CONST_P(dup)); rb_obj_setup(dup, rb_obj_class(obj), RB_FL_TEST_RAW(obj, RUBY_FL_DUPPED)); if (RB_FL_TEST(obj, RUBY_FL_EXIVAR)) rb_copy_generic_ivar(dup, obj); } #endif /* RBIMPL_NEWOBJ_H */
Upload File
Create Folder