Ruby: include/ruby/internal/fl_type.h File Reference

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

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.

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

enum 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

enum ruby_fl_ushift

Enumerator
RUBY_FL_USHIFT |

Definition at line 150 of file fl_type.h.