Ruby: rb_iseq_constant_body::rb_iseq_parameters Struct Reference

Ruby 4.0.5p0 (2026-05-20 revision 64336ffd0ee9e1f4c05891695a3d7b49cb709721)

Data Structures | Data Fields
rb_iseq_constant_body::rb_iseq_parameters Struct Reference

parameter information More...

`#include <vm_core.h>`

## Data Structures
struct | rb_iseq_param_keyword

## Data Fields
struct { |
unsigned int has_lead: 1 |
unsigned int has_opt: 1 |
unsigned int has_rest: 1 |
unsigned int has_post: 1 |
unsigned int has_kw: 1 |
unsigned int has_kwrest: 1 |
unsigned int has_block: 1 |
unsigned int ambiguous_param0: 1 |
unsigned int accepts_no_kwarg: 1 |
unsigned int ruby2_keywords: 1 |
unsigned int anon_rest: 1 |
unsigned int anon_kwrest: 1 |
unsigned int use_block: 1 |
unsigned int forwardable: 1 |
} | flags
unsigned int | size
int | lead_num
int | opt_num
int | rest_start
int | post_start
int | post_num
int | block_start
const VALUE * | opt_table
const struct rb_iseq_constant_body::rb_iseq_parameters::rb_iseq_param_keyword * | keyword

## Detailed Description

parameter information

def m(a1, a2, ..., aM, # mandatory b1=(...), b2=(...), ..., bN=(...), # optional *c, # rest d1, d2, ..., dO, # post e1:(...), e2:(...), ..., eK:(...), # keyword **f, # keyword_rest &g) # block =>

lead_num = M opt_num = N rest_start = M+N post_start = M+N+(*1) post_num = O keyword_num = K block_start = M+N+(*1)+O+K keyword_bits = M+N+(*1)+O+K+(&1) size = M+N+O+(*1)+K+(&1)+(**1) // parameter size.

Definition at line 434 of file vm_core.h.

## Field Documentation

## ◆ accepts_no_kwarg

unsigned int rb_iseq_constant_body::rb_iseq_parameters::accepts_no_kwarg

Definition at line 445 of file vm_core.h.

## ◆ ambiguous_param0

unsigned int rb_iseq_constant_body::rb_iseq_parameters::ambiguous_param0

Definition at line 444 of file vm_core.h.

## ◆ anon_kwrest

unsigned int rb_iseq_constant_body::rb_iseq_parameters::anon_kwrest

Definition at line 448 of file vm_core.h.

## ◆ anon_rest

unsigned int rb_iseq_constant_body::rb_iseq_parameters::anon_rest

Definition at line 447 of file vm_core.h.

## ◆ block_start

int rb_iseq_constant_body::rb_iseq_parameters::block_start

Definition at line 460 of file vm_core.h.

## ◆ forwardable

unsigned int rb_iseq_constant_body::rb_iseq_parameters::forwardable

Definition at line 450 of file vm_core.h.

## ◆ has_block

unsigned int rb_iseq_constant_body::rb_iseq_parameters::has_block

Definition at line 442 of file vm_core.h.

## ◆ has_kw

unsigned int rb_iseq_constant_body::rb_iseq_parameters::has_kw

Definition at line 440 of file vm_core.h.

## ◆ has_kwrest

unsigned int rb_iseq_constant_body::rb_iseq_parameters::has_kwrest

Definition at line 441 of file vm_core.h.

## ◆ has_lead

unsigned int rb_iseq_constant_body::rb_iseq_parameters::has_lead

Definition at line 436 of file vm_core.h.

## ◆ has_opt

unsigned int rb_iseq_constant_body::rb_iseq_parameters::has_opt

Definition at line 437 of file vm_core.h.

## ◆ has_post

unsigned int rb_iseq_constant_body::rb_iseq_parameters::has_post

Definition at line 439 of file vm_core.h.

## ◆ has_rest

unsigned int rb_iseq_constant_body::rb_iseq_parameters::has_rest

Definition at line 438 of file vm_core.h.

## ◆ lead_num

int rb_iseq_constant_body::rb_iseq_parameters::lead_num

Definition at line 455 of file vm_core.h.

## ◆ opt_num

int rb_iseq_constant_body::rb_iseq_parameters::opt_num

Definition at line 456 of file vm_core.h.

## ◆ opt_table

const VALUE* rb_iseq_constant_body::rb_iseq_parameters::opt_table

Definition at line 462 of file vm_core.h.

## ◆ post_num

int rb_iseq_constant_body::rb_iseq_parameters::post_num

Definition at line 459 of file vm_core.h.

## ◆ post_start

int rb_iseq_constant_body::rb_iseq_parameters::post_start

Definition at line 458 of file vm_core.h.

## ◆ rest_start

int rb_iseq_constant_body::rb_iseq_parameters::rest_start

Definition at line 457 of file vm_core.h.

## ◆ ruby2_keywords

unsigned int rb_iseq_constant_body::rb_iseq_parameters::ruby2_keywords

Definition at line 446 of file vm_core.h.

## ◆ size

unsigned int rb_iseq_constant_body::rb_iseq_parameters::size

Definition at line 453 of file vm_core.h.

## ◆ use_block

unsigned int rb_iseq_constant_body::rb_iseq_parameters::use_block

Definition at line 449 of file vm_core.h.

The documentation for this struct was generated from the following file:

- vm_core.h