Dispatch* dispatch() { if(dispatch_data) { if(!inline_method_p()) { return reinterpret_cast<Dispatch*>(dispatch_data); } } return NULL; }
jit::RuntimeData* runtime_data() { if(dispatch_data) { if(inline_method_p()) { return reinterpret_cast<jit::RuntimeData*>(dispatch_data); } } return NULL; }
Symbol* name() { if(inline_method_p() && dispatch_data) { return reinterpret_cast<jit::RuntimeData*>(dispatch_data)->name(); } else if(block_p()) { return reinterpret_cast<Symbol*>(cNil); } else if(arguments) { return arguments->name(); } return reinterpret_cast<Symbol*>(cNil); }
Symbol* name() { if(dispatch_data) { if(inline_method_p()) { return reinterpret_cast<jit::RuntimeData*>(dispatch_data)->name(); } else { return reinterpret_cast<Dispatch*>(dispatch_data)->name; } } return reinterpret_cast<Symbol*>(Qnil); }