Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
vm.h
Go to the documentation of this file.
1#ifndef RBIMPL_INTERN_VM_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_INTERN_VM_H
25#include "ruby/internal/value.h"
26
28
29/* vm.c */
30int rb_sourceline(void);
31const char *rb_sourcefile(void);
32int rb_frame_method_id_and_class(ID *idp, VALUE *klassp);
33
34/* vm_eval.c */
37void rb_remove_method(VALUE, const char*);
39
42
47
48/* vm_method.c */
49#define HAVE_RB_DEFINE_ALLOC_FUNC 1
56void rb_alias(VALUE, ID, ID);
57void rb_attr(VALUE,ID,int,int,int);
58int rb_method_boundp(VALUE, ID, int);
60
61int rb_obj_respond_to(VALUE, ID, int);
63
66#if !defined(RUBY_EXPORT) && defined(_WIN32)
67RUBY_EXTERN VALUE (*const rb_f_notimplement_)(int, const VALUE *, VALUE, VALUE marker);
68#define rb_f_notimplement (*rb_f_notimplement_)
69#endif
70
71/* vm_backtrace.c */
72void rb_backtrace(void);
74
76
77#endif /* RBIMPL_INTERN_VM_H */
Tewaking visibility of C variables/functions.
#define RUBY_EXTERN
Definition: dllexport.h:36
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition: dllexport.h:86
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition: dllexport.h:77
VALUE rb_check_funcall_kw(VALUE, ID, int, const VALUE *, int)
Definition: vm_eval.c:613
void rb_remove_method_id(VALUE, ID)
Definition: vm_method.c:1351
void rb_attr(VALUE, ID, int, int, int)
Definition: vm_method.c:1508
VALUE rb_obj_instance_eval(int, const VALUE *, VALUE)
Definition: vm_eval.c:2092
int rb_obj_respond_to(VALUE, ID, int)
Definition: vm_method.c:2545
const char * rb_sourcefile(void)
Definition: vm.c:1571
void rb_clear_constant_cache(void)
Definition: vm_method.c:127
VALUE rb_check_funcall(VALUE, ID, int, const VALUE *)
Definition: vm_eval.c:619
VALUE rb_obj_instance_exec(int, const VALUE *, VALUE)
Definition: vm_eval.c:2124
int rb_respond_to(VALUE, ID)
Definition: vm_method.c:2561
VALUE rb_mod_module_eval(int, const VALUE *, VALUE)
Definition: vm_eval.c:2164
int rb_frame_method_id_and_class(ID *idp, VALUE *klassp)
Definition: vm.c:2446
void rb_define_alloc_func(VALUE, rb_alloc_func_t)
void rb_remove_method(VALUE, const char *)
Definition: vm_method.c:1357
void rb_alias(VALUE, ID, ID)
Definition: vm_method.c:1926
VALUE rb_apply(VALUE, ID, VALUE)
Calls a method.
Definition: vm_eval.c:1044
VALUE rb_mod_module_exec(int, const VALUE *, VALUE)
Definition: vm_eval.c:2198
int rb_method_boundp(VALUE, ID, int)
Definition: vm_method.c:1469
void rb_undef_alloc_func(VALUE)
Definition: vm_method.c:954
rb_alloc_func_t rb_get_alloc_func(VALUE)
Definition: vm_method.c:960
VALUE rb_f_notimplement(int argc, const VALUE *argv, VALUE obj, VALUE marker)
Definition: vm_method.c:299
VALUE rb_eval_cmd_kw(VALUE, VALUE, int)
Definition: vm_eval.c:1909
void rb_clear_method_cache_by_class(VALUE)
VALUE(* rb_alloc_func_t)(VALUE)
Definition: vm.h:50
VALUE rb_make_backtrace(void)
void rb_backtrace(void)
int rb_sourceline(void)
Definition: vm.c:1586
#define rb_method_basic_definition_p(...)
Definition: internal.h:78
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
Defines RBIMPL_ATTR_NORETURN.
#define RBIMPL_ATTR_NORETURN()
Wraps (or simulates) [[noreturn]]
Definition: noreturn.h:38
int argc
Definition: ruby.c:240
char ** argv
Definition: ruby.c:241
#define const
Definition: strftime.c:108
Defines VALUE and ID.
unsigned long VALUE
Definition: value.h:38
unsigned long ID
Definition: value.h:39
VALUE(*const rb_f_notimplement_)(int, const VALUE *, VALUE, VALUE)
Definition: win32.c:8174