| /* This test tests typedefs and protocol qualifiers. */ |
| |
| @protocol O |
| - (unsigned)j; |
| @end |
| |
| @interface T |
| @end |
| |
| |
| /* First test. */ |
| typedef T<O> *S; |
| |
| @interface I |
| + (unsigned char)T:(S[2])p |
| v:(S)h; |
| @end |
| |
| @implementation I |
| + (unsigned char)T:(S[2])p |
| v:(S)h |
| { |
| p[0] = (S) 0; |
| p[1] = (S) 0; |
| return 0; |
| } |
| @end |
| |
| |
| /* Second test. */ |
| typedef T<O> S1; |
| |
| @interface I1 |
| + (unsigned char)T1:(S1*[2])p |
| v1:(S1*)h; |
| @end |
| |
| @implementation I1 |
| + (unsigned char)T1:(S1*[2])p |
| v1:(S1*)h |
| { |
| p[0] = (S1*) 0; |
| p[1] = (S1*) 0; |
| return 0; |
| } |
| @end |
| |
| |
| /* Third test. */ |
| typedef T S2; |
| |
| @interface I2 |
| + (unsigned char)T1:(S2<O>*[2])p |
| v1:(S2<O>*)h; |
| @end |
| |
| @implementation I2 |
| + (unsigned char)T1:(S2<O>*[2])p |
| v1:(S2<O>*)h |
| { |
| p[0] = (S2<O>*) 0; |
| p[1] = (S2<O>*) 0; |
| return 0; |
| } |
| @end |