Remove a fixme which was fixed in a previous commit.
[clang.git] / test / SemaObjC / newproperty-class-method-1.m
blobd4ea5e54a553757a76884672d5e77c0721051280
1 // RUN: %clang_cc1 %s -verify -fsyntax-only
3 void abort(void);
5 @interface Subclass
6 + (int)magicNumber;
7 + (void)setMagicNumber:(int)value;
8 + (void)setFakeSetterNumber:(int)value;
9 @end
11 @implementation Subclass
12 int _magicNumber = 0;
13 + (int)magicNumber {
14   return _magicNumber;
17 + (void)setMagicNumber:(int)value {
18   _magicNumber = value;
21 + (void)setFakeSetterNumber:(int)value {
22   _magicNumber = value;
25 + (void) classMeth
27         self.magicNumber = 10;
28         if (self.magicNumber != 10)
29           abort ();
31 @end
33 int main (void) {
34   
35   int a;
36   Subclass.magicNumber = 2 /*[Subclass setMagicNumber:2]*/;
37   if (Subclass.magicNumber != 0)
38     abort ();
39   if (Subclass.magicNumber != 2)
40     abort ();
41   Subclass.magicNumber += 3;
42   if (Subclass.magicNumber != 5)
43     abort ();
44   Subclass.magicNumber -= 5;
45   if (Subclass.magicNumber != 0)
46     abort ();
47   /* We only have a setter in the following case. */
48   Subclass.fakeSetterNumber = 123;
50   /* We read it using the other getter. */
51   if (Subclass.magicNumber != 123)
52    abort ();
53   Subclass.fakeSetterNumber = Subclass.magicNumber;
54   if (Subclass.magicNumber != 123)
55    abort ();
57   Subclass.fakeSetterNumberX = 123; // expected-error{{property 'fakeSetterNumberX' not found on object of type 'Subclass'}}
59   /* Test class methods using the new syntax. */
60   [Subclass classMeth];
61   return 0;