Sync usage with man page.
[netbsd-mini2440.git] / gnu / dist / gdb6 / gdb / testsuite / gdb.objc / basicclass.m
blob0de12db25a1b6e583870f56f1a00fa5579395ebc
1 #include <objc/Object.h>
3 @interface BasicClass: Object
5   id object;
7 + newWithArg: arg;
8 - doIt;
9 - takeArg: arg;
10 - printHi;
11 - (int) printNumber: (int)number;
12 - (const char *) myDescription;
13 @end
15 @interface BasicClass (Private)
16 - hiddenMethod;
17 @end
19 @implementation BasicClass
20 + newWithArg: arg
22   id obj = [self new];
23   [obj takeArg: arg];
24   return obj;
27 - doIt
29   return self;
32 - takeArg: arg
34   object = arg;
35   [self hiddenMethod];
36   return self;
39 - printHi
41   printf("Hi\n");
42   return self;
45 - (int) printNumber: (int)number
47   printf("%d\n", number);
48   return number+1;
51 - (const char *) myDescription
53   return "BasicClass gdb test object";
56 @end
58 @implementation BasicClass (Private)
59 - hiddenMethod
61   return self;
63 @end
65 int main (int argc, const char *argv[])
67   id obj;
68   obj = [BasicClass new];
69   [obj takeArg: obj];
70   return 0;
73 const char *_NSPrintForDebugger(id object)
75   /* This is not really what _NSPrintForDebugger should do, but it
76      is a simple test if gdb can call this function */
77   if (object && [object respondsTo: @selector(myDescription)])
78     return [object myDescription];
80   return NULL;