/
helpers.hpp
36 lines (29 loc) · 1.36 KB
/
helpers.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef RBX_HELPERS_HPP
#define RBX_HELPERS_HPP
namespace rubinius {
class CallFrame;
class Module;
class Class;
class Symbol;
class CompiledMethod;
class VM;
class Object;
class GlobalCacheEntry;
namespace Helpers {
void add_method(VM*, CallFrame* call_frame, Module* mod, Symbol* name, CompiledMethod* meth);
void attach_method(VM*, CallFrame* call_frame, Object* obj, Symbol* name, CompiledMethod* meth);
Object* const_get(VM*, Module* under, Symbol* name, bool* found);
Object* const_get(VM*, CallFrame* call_frame, Symbol* name, bool* found);
Object* const_missing(VM*, Module* under, Symbol* sym, CallFrame* call_frame);
void const_set(VM*, CallFrame* call_frame, Symbol* name, Object* val);
void const_set(VM*, Module* mod, Symbol* name, Object* val);
/** Locate method just as if sending. */
Object* locate_method_on(VM*, CallFrame* call_frame, Object* recv, Symbol* name, Object* priv);
Class* open_class(VM*, CallFrame* call_frame, Object* super, Symbol* name, bool* created);
Class* open_class(VM*, CallFrame* call_frame, Module* under, Object* super, Symbol* name, bool* created);
Module* open_module(VM*, CallFrame* call_frame, Symbol* name);
Module* open_module(VM*, CallFrame* call_frame, Module* under, Symbol* name);
void yield_debugger(VM*, CallFrame* call_frame);
};
}
#endif