forked from rubinius/rubinius
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelpers.hpp
34 lines (28 loc) · 1.25 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
#ifndef RBX_HELPERS_HPP
#define RBX_HELPERS_HPP
namespace rubinius {
struct CallFrame;
class Module;
class Class;
class Symbol;
class CompiledMethod;
class VM;
class Object;
class GlobalCacheEntry;
namespace Helpers {
Object* const_get_under(VM*, Module* under, Symbol* name, bool* found);
Object* const_get(VM*, CallFrame* call_frame, Symbol* name, bool* found);
Object* const_missing_under(VM*, Module* under, Symbol* sym, CallFrame* call_frame);
Object* const_missing(VM*, 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);
bool yield_debugger(VM*, CallFrame* call_frame, Object* bp);
};
}
#endif