Ruby  2.5.0dev(2017-10-22revision60238)
Data Structures | Macros | Enumerations | Functions
vm_args.c File Reference

Go to the source code of this file.

Data Structures

struct  args_info
 
struct  fill_values_arg
 

Macros

#define IS_ARGS_SPLAT(ci)   ((ci)->flag & VM_CALL_ARGS_SPLAT)
 
#define IS_ARGS_KEYWORD(ci)   ((ci)->flag & VM_CALL_KWARG)
 
#define CALLER_SETUP_ARG(cfp, calling, ci)
 

Enumerations

enum  arg_setup_type { arg_setup_method, arg_setup_block }
 

Functions

 NORETURN (static void raise_argument_error(rb_thread_t *th, const rb_iseq_t *iseq, const VALUE exc))
 
 NORETURN (static void argument_arity_error(rb_thread_t *th, const rb_iseq_t *iseq, const int miss_argc, const int min_argc, const int max_argc))
 
 NORETURN (static void argument_kw_error(rb_thread_t *th, const rb_iseq_t *iseq, const char *error, const VALUE keys))
 
VALUE rb_keyword_error_new (const char *error, VALUE keys)
 

Macro Definition Documentation

◆ CALLER_SETUP_ARG

#define CALLER_SETUP_ARG (   cfp,
  calling,
  ci 
)
Value:
do { \
if (UNLIKELY(IS_ARGS_SPLAT(ci))) vm_caller_setup_arg_splat((cfp), (calling)); \
if (UNLIKELY(IS_ARGS_KEYWORD(ci))) vm_caller_setup_arg_kw((cfp), (calling), (ci)); \
} while (0)
#define IS_ARGS_KEYWORD(ci)
Definition: vm_args.c:885
#define UNLIKELY(x)
Definition: internal.h:43
#define IS_ARGS_SPLAT(ci)
Definition: vm_args.c:884

Definition at line 887 of file vm_args.c.

◆ IS_ARGS_KEYWORD

#define IS_ARGS_KEYWORD (   ci)    ((ci)->flag & VM_CALL_KWARG)

Definition at line 885 of file vm_args.c.

◆ IS_ARGS_SPLAT

#define IS_ARGS_SPLAT (   ci)    ((ci)->flag & VM_CALL_ARGS_SPLAT)

Definition at line 884 of file vm_args.c.

Enumeration Type Documentation

◆ arg_setup_type

Enumerator
arg_setup_method 
arg_setup_block 

Definition at line 30 of file vm_args.c.

Function Documentation

◆ NORETURN() [1/3]

NORETURN ( static void   raise_argument_errorrb_thread_t *th, const rb_iseq_t *iseq, const VALUE exc)

◆ NORETURN() [2/3]

NORETURN ( static void   argument_arity_errorrb_thread_t *th, const rb_iseq_t *iseq, const int miss_argc, const int min_argc, const int max_argc)

◆ NORETURN() [3/3]

NORETURN ( static void   argument_kw_errorrb_thread_t *th, const rb_iseq_t *iseq, const char *error, const VALUE keys)