1*b725ae77Skettenis#include <objc/Object.h> 2*b725ae77Skettenis 3*b725ae77Skettenis@interface Decode: Object 4*b725ae77Skettenis{ 5*b725ae77Skettenis} 6*b725ae77Skettenis- multipleDef; 7*b725ae77Skettenis- (const char *) myDescription; 8*b725ae77Skettenis@end 9*b725ae77Skettenis 10*b725ae77Skettenis@implementation Decode 11*b725ae77Skettenis 12*b725ae77Skettenis- multipleDef 13*b725ae77Skettenis{ 14*b725ae77Skettenis printf("method multipleDef\n"); 15*b725ae77Skettenis return self; 16*b725ae77Skettenis} 17*b725ae77Skettenis 18*b725ae77Skettenis- (const char *) myDescription 19*b725ae77Skettenis{ 20*b725ae77Skettenis return "Decode gdb test object"; 21*b725ae77Skettenis} 22*b725ae77Skettenis 23*b725ae77Skettenis@end 24*b725ae77Skettenis 25*b725ae77Skettenisint 26*b725ae77SkettenismultipleDef() 27*b725ae77Skettenis{ 28*b725ae77Skettenis printf("function multipleDef\n"); 29*b725ae77Skettenis return 0; 30*b725ae77Skettenis} 31*b725ae77Skettenis 32*b725ae77Skettenisint main (int argc, const char *argv[]) 33*b725ae77Skettenis{ 34*b725ae77Skettenis id obj; 35*b725ae77Skettenis obj = [Decode new]; 36*b725ae77Skettenis multipleDef(); 37*b725ae77Skettenis [obj multipleDef]; 38*b725ae77Skettenis return 0; 39*b725ae77Skettenis} 40*b725ae77Skettenis 41*b725ae77Skettenisconst char *_NSPrintForDebugger(id object) 42*b725ae77Skettenis{ 43*b725ae77Skettenis /* This is not really what _NSPrintForDebugger should do, but it 44*b725ae77Skettenis is a simple test if gdb can call this function */ 45*b725ae77Skettenis if (object && [object respondsTo: @selector(myDescription)]) 46*b725ae77Skettenis return [object myDescription]; 47*b725ae77Skettenis 48*b725ae77Skettenis return NULL; 49*b725ae77Skettenis} 50