Ruby: include/ruby/internal/intern/eval.h Source File

Ruby 3.2.5p208 (2024-07-26 revision 31d0f1a2e7dbfb60731d1f05b868e1d578cda493)

eval.h
Go to the documentation of this file.
1#ifndef RBIMPL_INTERN_EVAL_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_INTERN_EVAL_H
23#include "ruby/internal/attr/noreturn.h"
24#include "ruby/internal/dllexport.h"
25#include "ruby/internal/value.h"
26
27 RBIMPL_SYMBOL_EXPORT_BEGIN()
28
29/* eval.c */
30 RBIMPL_ATTR_NORETURN()
46void rb_exc_raise(VALUE exc);
47
48 RBIMPL_ATTR_NORETURN()
63void rb_exc_fatal(VALUE exc);
64
65/* process.c */
66
67 RBIMPL_ATTR_NORETURN()
80 VALUE rb_f_exit(int argc, const VALUE *argv);
81
82 RBIMPL_ATTR_NORETURN()
98 VALUE rb_f_abort(int argc, const VALUE *argv);
99
100/* eval.c*/
101
102 RBIMPL_ATTR_NORETURN()
109void rb_interrupt(void);
110
119 ID rb_frame_this_func(void);
120
121 RBIMPL_ATTR_NORETURN()
141void rb_jump_tag(int state);
142
152void rb_obj_call_init(VALUE obj, int argc, const VALUE *argv);
153
168void rb_obj_call_init_kw(VALUE, int, const VALUE*, int);
169
177 ID rb_frame_callee(void);
178
206 VALUE rb_make_exception(int argc, const VALUE *argv);
207
208/* eval_jump.c */
209
218void rb_set_end_proc(void (*func)(VALUE arg), VALUE arg);
219
220 RBIMPL_SYMBOL_EXPORT_END()
221
222#endif /* RBIMPL_INTERN_EVAL_H */
dllexport.h
Tweaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition dllexport.h:106
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition dllexport.h:97
rb_exc_raise
void rb_exc_raise(VALUE exc)
Identical to rb_raise(), except it raises the passed exception instance as- is instead of creating ne...
Definition eval.c:688
rb_exc_fatal
void rb_exc_fatal(VALUE exc)
Identical to rb_fatal(), except it raises the passed exception instance as- is instead of creating ne...
Definition eval.c:701
rb_frame_callee
ID rb_frame_callee(void)
Identical to rb_frame_this_func(), except it returns the named used to call the method.
Definition eval.c:1059
rb_frame_this_func
ID rb_frame_this_func(void)
Queries the name of the Ruby level method that is calling this function.
Definition eval.c:1053
rb_obj_call_init
void rb_obj_call_init(VALUE obj, int argc, const VALUE *argv)
Calls initialize method of the passed object with the passed arguments.
Definition eval.c:1680
rb_f_abort
VALUE rb_f_abort(int argc, const VALUE *argv)
This is similar to rb_f_exit().
Definition process.c:4597
rb_interrupt
void rb_interrupt(void)
Raises an instance of rb_eInterrupt.
Definition eval.c:707
rb_f_exit
VALUE rb_f_exit(int argc, const VALUE *argv)
Identical to rb_exit(), except how arguments are passed.
Definition process.c:4532
rb_make_exception
VALUE rb_make_exception(int argc, const VALUE *argv)
Constructs an exception object from the list of arguments, in a manner similar to Ruby's raise.
Definition eval.c:835
rb_jump_tag
void rb_jump_tag(int state)
This function is to re-throw global escapes.
Definition eval.c:859
rb_obj_call_init_kw
void rb_obj_call_init_kw(VALUE, int, const VALUE *, int)
Identical to rb_obj_call_init(), except you can specify how to handle the last element of the given a...
Definition eval.c:1686
rb_set_end_proc
void rb_set_end_proc(void(*func)(VALUE arg), VALUE arg)
Registers a function that shall run on process exit.
Definition eval_jump.c:59
noreturn.h
Defines RBIMPL_ATTR_NORETURN.
RBIMPL_ATTR_NORETURN
#define RBIMPL_ATTR_NORETURN()
Wraps (or simulates) [[noreturn]]
Definition noreturn.h:38
value.h
Defines VALUE and ID.
ID
uintptr_t ID
Type that represents a Ruby identifier such as a variable name.
Definition value.h:52
VALUE
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40