// RUN: clang -rewrite-test %s | clang
            
@protocol P @end

@interface MyList
@end
    
@implementation MyList
- (unsigned int)countByEnumeratingWithState:  (struct __objcFastEnumerationState *)state objects:  (id *)items count:(unsigned int)stackcount
{
        return 0;
}
@end

@interface MyList (BasicTest)
- (void)compilerTestAgainst;
@end

int LOOP();
@implementation MyList (BasicTest)
- (void)compilerTestAgainst {
  id el;
        for (el in self) 
	  { LOOP(); }
        for (id el1 in self) 
	  LOOP();

	for (el in (self)) 
          if (el)
            LOOP(); 

	for (el in ((self))) 
          if (el)
            LOOP(); 
}
@end

