1/* Contributed by Nicola Pero - Thu Mar  8 16:27:46 CET 2001 */
2#include <stdlib.h>
3#import "../../objc-obj-c++-shared/Object1.h"
4#include <objc/objc-api.h>
5
6/* Test that by using -> we can access ivars of other objects of the same
7   class */
8
9@interface TestClass : Object
10{
11  int value;
12}
13- (int) value;
14- (int) setValue: (int)number;
15- (void) takeValueFrom: (TestClass *)object;
16@end
17
18@implementation TestClass : Object
19{
20  int value;
21}
22- (int) value
23{
24  return value;
25}
26- (int) setValue: (int)number
27{
28  value = number;
29}
30- (void) takeValueFrom: (TestClass *)object
31{
32  value = object->value;
33}
34@end
35
36int main (void)
37{
38  TestClass *a;
39  TestClass *b;
40
41  a = [TestClass new];
42  [a setValue: 10];
43
44  b = [TestClass new];
45  [b setValue: -10];
46
47  [b takeValueFrom: a];
48
49  if ([b value] != [a value])
50    {
51      abort ();
52    }
53
54  return 0;
55}
56