|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.0 (the 'License'). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License."
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25: #import <objc/Object.h>
26: #import <stdio.h>
27:
28: @interface Test : Object
29: {
30: id x;
31: }
32:
33: + new;
34: - free;
35:
36: @end
37:
38: @interface Test (Category)
39:
40: + y;
41: - x;
42:
43: @end
44:
45: @implementation Test
46:
47: + new
48: {
49: return [super new];
50: }
51:
52: - free
53: {
54: return [super free];
55: }
56:
57: @end
58:
59: @implementation Test (Category)
60:
61: + y
62: {
63: return self;
64: }
65:
66: - x
67: {
68: return [Test y];
69: }
70:
71: @end
72:
73: void main (void)
74: {
75: Test *test = [Test new];
76:
77: if ([test x] == [Test class])
78: printf ("ok\n");
79: else
80: printf ("bad\n");
81:
82: [test free];
83:
84: printf ("done.\n");
85: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.