Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
Macros | Enumerations | Functions
fl_type.h File Reference

Defines enum ruby_fl_type. More...

#include "ruby/internal/config.h"
#include "ruby/internal/attr/artificial.h"
#include "ruby/internal/attr/flag_enum.h"
#include "ruby/internal/attr/forceinline.h"
#include "ruby/internal/attr/noalias.h"
#include "ruby/internal/attr/pure.h"
#include "ruby/internal/cast.h"
#include "ruby/internal/core/rbasic.h"
#include "ruby/internal/dllexport.h"
#include "ruby/internal/special_consts.h"
#include "ruby/internal/stdbool.h"
#include "ruby/internal/value.h"
#include "ruby/internal/value_type.h"
#include "ruby/assert.h"
#include "ruby/defines.h"

Go to the source code of this file.

Macros

#define FL_SINGLETON   RBIMPL_CAST((VALUE)RUBY_FL_SINGLETON)
 
#define FL_WB_PROTECTED   RBIMPL_CAST((VALUE)RUBY_FL_WB_PROTECTED)
 
#define FL_PROMOTED0   RBIMPL_CAST((VALUE)RUBY_FL_PROMOTED0)
 
#define FL_PROMOTED1   RBIMPL_CAST((VALUE)RUBY_FL_PROMOTED1)
 
#define FL_FINALIZE   RBIMPL_CAST((VALUE)RUBY_FL_FINALIZE)
 
#define FL_TAINT   RBIMPL_CAST((VALUE)RUBY_FL_TAINT)
 
#define FL_SHAREABLE   RBIMPL_CAST((VALUE)RUBY_FL_SHAREABLE)
 
#define FL_UNTRUSTED   RBIMPL_CAST((VALUE)RUBY_FL_UNTRUSTED)
 
#define FL_SEEN_OBJ_ID   RBIMPL_CAST((VALUE)RUBY_FL_SEEN_OBJ_ID)
 
#define FL_EXIVAR   RBIMPL_CAST((VALUE)RUBY_FL_EXIVAR)
 
#define FL_FREEZE   RBIMPL_CAST((VALUE)RUBY_FL_FREEZE)
 
#define FL_USHIFT   RBIMPL_CAST((VALUE)RUBY_FL_USHIFT)
 
#define FL_USER0   RBIMPL_CAST((VALUE)RUBY_FL_USER0)
 
#define FL_USER1   RBIMPL_CAST((VALUE)RUBY_FL_USER1)
 
#define FL_USER2   RBIMPL_CAST((VALUE)RUBY_FL_USER2)
 
#define FL_USER3   RBIMPL_CAST((VALUE)RUBY_FL_USER3)
 
#define FL_USER4   RBIMPL_CAST((VALUE)RUBY_FL_USER4)
 
#define FL_USER5   RBIMPL_CAST((VALUE)RUBY_FL_USER5)
 
#define FL_USER6   RBIMPL_CAST((VALUE)RUBY_FL_USER6)
 
#define FL_USER7   RBIMPL_CAST((VALUE)RUBY_FL_USER7)
 
#define FL_USER8   RBIMPL_CAST((VALUE)RUBY_FL_USER8)
 
#define FL_USER9   RBIMPL_CAST((VALUE)RUBY_FL_USER9)
 
#define FL_USER10   RBIMPL_CAST((VALUE)RUBY_FL_USER10)
 
#define FL_USER11   RBIMPL_CAST((VALUE)RUBY_FL_USER11)
 
#define FL_USER12   RBIMPL_CAST((VALUE)RUBY_FL_USER12)
 
#define FL_USER13   RBIMPL_CAST((VALUE)RUBY_FL_USER13)
 
#define FL_USER14   RBIMPL_CAST((VALUE)RUBY_FL_USER14)
 
#define FL_USER15   RBIMPL_CAST((VALUE)RUBY_FL_USER15)
 
#define FL_USER16   RBIMPL_CAST((VALUE)RUBY_FL_USER16)
 
#define FL_USER17   RBIMPL_CAST((VALUE)RUBY_FL_USER17)
 
#define FL_USER18   RBIMPL_CAST((VALUE)RUBY_FL_USER18)
 
#define FL_USER19   RBIMPL_CAST((VALUE)(unsigned int)RUBY_FL_USER19)
 
#define ELTS_SHARED   RUBY_ELTS_SHARED
 
#define RUBY_ELTS_SHARED   RUBY_ELTS_SHARED
 
#define RB_OBJ_FREEZE   rb_obj_freeze_inline
 
#define FL_ABLE   RB_FL_ABLE
 
#define FL_ALL   RB_FL_ALL
 
#define FL_ALL_RAW   RB_FL_ALL_RAW
 
#define FL_ANY   RB_FL_ANY
 
#define FL_ANY_RAW   RB_FL_ANY_RAW
 
#define FL_REVERSE   RB_FL_REVERSE
 
#define FL_REVERSE_RAW   RB_FL_REVERSE_RAW
 
#define FL_SET   RB_FL_SET
 
#define FL_SET_RAW   RB_FL_SET_RAW
 
#define FL_TEST   RB_FL_TEST
 
#define FL_TEST_RAW   RB_FL_TEST_RAW
 
#define FL_UNSET   RB_FL_UNSET
 
#define FL_UNSET_RAW   RB_FL_UNSET_RAW
 
#define OBJ_FREEZE   RB_OBJ_FREEZE
 
#define OBJ_FREEZE_RAW   RB_OBJ_FREEZE_RAW
 
#define OBJ_FROZEN   RB_OBJ_FROZEN
 
#define OBJ_FROZEN_RAW   RB_OBJ_FROZEN_RAW
 
#define OBJ_INFECT   RB_OBJ_INFECT
 
#define OBJ_INFECT_RAW   RB_OBJ_INFECT_RAW
 
#define OBJ_TAINT   RB_OBJ_TAINT
 
#define OBJ_TAINTABLE   RB_OBJ_TAINTABLE
 
#define OBJ_TAINTED   RB_OBJ_TAINTED
 
#define OBJ_TAINTED_RAW   RB_OBJ_TAINTED_RAW
 
#define OBJ_TAINT_RAW   RB_OBJ_TAINT_RAW
 
#define OBJ_UNTRUST   RB_OBJ_UNTRUST
 
#define OBJ_UNTRUSTED   RB_OBJ_UNTRUSTED
 
#define RBIMPL_FL_USER_N(n)   RUBY_FL_USER##n = (1<<(RUBY_FL_USHIFT+n))
 
#define RUBY_FL_USER19   (RBIMPL_VALUE_ONE<<(RUBY_FL_USHIFT+19))
 

Enumerations

enum  ruby_fl_ushift { RUBY_FL_USHIFT = 12 }
 
enum  ruby_fl_type {
  RUBY_FL_WB_PROTECTED = (1<<5) , RUBY_FL_PROMOTED0 = (1<<5) , RUBY_FL_PROMOTED1 = (1<<6) , RUBY_FL_PROMOTED = RUBY_FL_PROMOTED0 | RUBY_FL_PROMOTED1 ,
  RUBY_FL_FINALIZE = (1<<7) , RUBY_FL_TAINT = (1<<8) , RUBY_FL_SHAREABLE = (1<<8) , RUBY_FL_UNTRUSTED = RUBY_FL_TAINT ,
  RUBY_FL_SEEN_OBJ_ID = (1<<9) , RUBY_FL_EXIVAR = (1<<10) , RUBY_FL_FREEZE = (1<<11) , RBIMPL_FL_USER_N =(0) ,
  RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) ,
  RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) ,
  RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) ,
  RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) ,
  RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) , RBIMPL_FL_USER_N =(0) , RUBY_ELTS_SHARED = RUBY_FL_USER2 ,
  RUBY_FL_SINGLETON = RUBY_FL_USER0
}
 
enum  { RUBY_FL_DUPPED = RUBY_T_MASK | RUBY_FL_EXIVAR | RUBY_FL_TAINT }
 

Functions

void rb_obj_infect (VALUE victim, VALUE carrier)
 Does nothing. More...
 
void rb_freeze_singleton_class (VALUE klass)
 

Detailed Description

Defines enum ruby_fl_type.

Author
Ruby developers ruby-.nosp@m.core.nosp@m.@ruby.nosp@m.-lan.nosp@m.g.org
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.

Definition in file fl_type.h.

Macro Definition Documentation

◆ ELTS_SHARED

#define ELTS_SHARED   RUBY_ELTS_SHARED

Definition at line 84 of file fl_type.h.

◆ FL_EXIVAR

#define FL_EXIVAR   RBIMPL_CAST((VALUE)RUBY_FL_EXIVAR)

Definition at line 58 of file fl_type.h.

◆ FL_FINALIZE

#define FL_FINALIZE   RBIMPL_CAST((VALUE)RUBY_FL_FINALIZE)

Definition at line 53 of file fl_type.h.

◆ FL_FREEZE

#define FL_FREEZE   RBIMPL_CAST((VALUE)RUBY_FL_FREEZE)

Definition at line 59 of file fl_type.h.

◆ FL_PROMOTED0

#define FL_PROMOTED0   RBIMPL_CAST((VALUE)RUBY_FL_PROMOTED0)

Definition at line 51 of file fl_type.h.

◆ FL_PROMOTED1

#define FL_PROMOTED1   RBIMPL_CAST((VALUE)RUBY_FL_PROMOTED1)

Definition at line 52 of file fl_type.h.

◆ FL_SEEN_OBJ_ID

#define FL_SEEN_OBJ_ID   RBIMPL_CAST((VALUE)RUBY_FL_SEEN_OBJ_ID)

Definition at line 57 of file fl_type.h.

◆ FL_SHAREABLE

#define FL_SHAREABLE   RBIMPL_CAST((VALUE)RUBY_FL_SHAREABLE)

Definition at line 55 of file fl_type.h.

◆ FL_SINGLETON

#define FL_SINGLETON   RBIMPL_CAST((VALUE)RUBY_FL_SINGLETON)

Definition at line 49 of file fl_type.h.

◆ FL_TAINT

#define FL_TAINT   RBIMPL_CAST((VALUE)RUBY_FL_TAINT)

Definition at line 54 of file fl_type.h.

◆ FL_UNTRUSTED

#define FL_UNTRUSTED   RBIMPL_CAST((VALUE)RUBY_FL_UNTRUSTED)

Definition at line 56 of file fl_type.h.

◆ FL_USER0

#define FL_USER0   RBIMPL_CAST((VALUE)RUBY_FL_USER0)

Definition at line 63 of file fl_type.h.

◆ FL_USER1

#define FL_USER1   RBIMPL_CAST((VALUE)RUBY_FL_USER1)

Definition at line 64 of file fl_type.h.

◆ FL_USER10

#define FL_USER10   RBIMPL_CAST((VALUE)RUBY_FL_USER10)

Definition at line 73 of file fl_type.h.

◆ FL_USER11

#define FL_USER11   RBIMPL_CAST((VALUE)RUBY_FL_USER11)

Definition at line 74 of file fl_type.h.

◆ FL_USER12

#define FL_USER12   RBIMPL_CAST((VALUE)RUBY_FL_USER12)

Definition at line 75 of file fl_type.h.

◆ FL_USER13

#define FL_USER13   RBIMPL_CAST((VALUE)RUBY_FL_USER13)

Definition at line 76 of file fl_type.h.

◆ FL_USER14

#define FL_USER14   RBIMPL_CAST((VALUE)RUBY_FL_USER14)

Definition at line 77 of file fl_type.h.

◆ FL_USER15

#define FL_USER15   RBIMPL_CAST((VALUE)RUBY_FL_USER15)

Definition at line 78 of file fl_type.h.

◆ FL_USER16

#define FL_USER16   RBIMPL_CAST((VALUE)RUBY_FL_USER16)

Definition at line 79 of file fl_type.h.

◆ FL_USER17

#define FL_USER17   RBIMPL_CAST((VALUE)RUBY_FL_USER17)

Definition at line 80 of file fl_type.h.

◆ FL_USER18

#define FL_USER18   RBIMPL_CAST((VALUE)RUBY_FL_USER18)

Definition at line 81 of file fl_type.h.

◆ FL_USER19

#define FL_USER19   RBIMPL_CAST((VALUE)(unsigned int)RUBY_FL_USER19)

Definition at line 82 of file fl_type.h.

◆ FL_USER2

#define FL_USER2   RBIMPL_CAST((VALUE)RUBY_FL_USER2)

Definition at line 65 of file fl_type.h.

◆ FL_USER3

#define FL_USER3   RBIMPL_CAST((VALUE)RUBY_FL_USER3)

Definition at line 66 of file fl_type.h.

◆ FL_USER4

#define FL_USER4   RBIMPL_CAST((VALUE)RUBY_FL_USER4)

Definition at line 67 of file fl_type.h.

◆ FL_USER5

#define FL_USER5   RBIMPL_CAST((VALUE)RUBY_FL_USER5)

Definition at line 68 of file fl_type.h.

◆ FL_USER6

#define FL_USER6   RBIMPL_CAST((VALUE)RUBY_FL_USER6)

Definition at line 69 of file fl_type.h.

◆ FL_USER7

#define FL_USER7   RBIMPL_CAST((VALUE)RUBY_FL_USER7)

Definition at line 70 of file fl_type.h.

◆ FL_USER8

#define FL_USER8   RBIMPL_CAST((VALUE)RUBY_FL_USER8)

Definition at line 71 of file fl_type.h.

◆ FL_USER9

#define FL_USER9   RBIMPL_CAST((VALUE)RUBY_FL_USER9)

Definition at line 72 of file fl_type.h.

◆ FL_USHIFT

#define FL_USHIFT   RBIMPL_CAST((VALUE)RUBY_FL_USHIFT)

Definition at line 61 of file fl_type.h.

◆ FL_WB_PROTECTED

#define FL_WB_PROTECTED   RBIMPL_CAST((VALUE)RUBY_FL_WB_PROTECTED)

Definition at line 50 of file fl_type.h.

◆ RB_OBJ_FREEZE

#define RB_OBJ_FREEZE   rb_obj_freeze_inline

Definition at line 86 of file fl_type.h.

◆ RBIMPL_FL_USER_N

#define RBIMPL_FL_USER_N (   n)    RUBY_FL_USER##n = (1<<(RUBY_FL_USHIFT+n))

Definition at line 175 of file fl_type.h.

◆ RUBY_ELTS_SHARED

#define RUBY_ELTS_SHARED   RUBY_ELTS_SHARED

Definition at line 85 of file fl_type.h.

◆ RUBY_FL_USER19

#define RUBY_FL_USER19   (RBIMPL_VALUE_ONE<<(RUBY_FL_USHIFT+19))

Definition at line 198 of file fl_type.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RUBY_FL_DUPPED 

Definition at line 207 of file fl_type.h.

◆ ruby_fl_type

Enumerator
RUBY_FL_WB_PROTECTED 
RUBY_FL_PROMOTED0 
RUBY_FL_PROMOTED1 
RUBY_FL_PROMOTED 
RUBY_FL_FINALIZE 
RUBY_FL_TAINT 
RUBY_FL_SHAREABLE 
RUBY_FL_UNTRUSTED 
RUBY_FL_SEEN_OBJ_ID 
RUBY_FL_EXIVAR 
RUBY_FL_FREEZE 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RBIMPL_FL_USER_N 
RUBY_ELTS_SHARED 
RUBY_FL_SINGLETON 

Definition at line 160 of file fl_type.h.

◆ ruby_fl_ushift

Enumerator
RUBY_FL_USHIFT 

Definition at line 150 of file fl_type.h.