Ruby 4.0.0dev (2025-11-27 revision 2e770cdf773d79327cfdeb8178a1cb9b340f4560)
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 VALUEopt_table
 
const struct rb_iseq_constant_body::rb_iseq_parameters::rb_iseq_param_keywordkeyword
 

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: