VALUE rbx_subtend_hidden_global(RbxSubtendHiddenGlobal type) {
NativeMethodEnvironment* env = NativeMethodEnvironment::get();
/* @todo Move these to static */switch (type) {
case RbxQfalse:
return env->get_handle_global(<false immediate>);
case RbxQtrue:
return env->get_handle_global(<true ...>);
case RbxQnil:
return env->get_handle_global(<nil ...>);
case RbxQundef:
return env->get_handle_global(<undef ...>);
case RbxArray:
return env->get_handle_global(env->state()->globals.array.get());
ruby.h
1
2
3
4
5
6
7
8
9
10
11
12
/* The immediates. */#defineQfalse (rbx_subtend_hidden_global(RbxQfalse))#defineQtrue (rbx_subtend_hidden_global(RbxQtrue))#defineQnil (rbx_subtend_hidden_global(RbxQnil))/** The undef object. NEVER EXPOSE THIS TO USER CODE. EVER. */#defineQundef (rbx_subtend_hidden_global(RbxQundef))/* Global Class objects */#definerb_cArray (rbx_subtend_hidden_global(RbxArray))#definerb_cBignum (rbx_subtend_hidden_global(RbxBignum))