Enhance my implementation of //rdar ://8747333 in r121597 to allow
for declaration of property setter/getter in forward
class extensions and also skip over
propeties which are @dynamic.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121617 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaObjC/property-in-class-extension.m b/test/SemaObjC/property-in-class-extension.m
index 0f0c884..6ae0b81 100644
--- a/test/SemaObjC/property-in-class-extension.m
+++ b/test/SemaObjC/property-in-class-extension.m
@@ -19,6 +19,7 @@
 @private
     NSObject *_bar;
     NSObject *_baz;
+    NSObject *_bam;
 }
 - (NSObject *)baz;
 @end
@@ -30,10 +31,20 @@
 @interface rdar8747333 ()
 @property (readwrite, assign) NSObject *bar;
 @property (readwrite, assign) NSObject *baz;
+@property (readwrite, assign) NSObject *bam;
+@property (readwrite, assign) NSObject *warn;
 @end
 
-@implementation rdar8747333
+@interface rdar8747333 ()
+- (NSObject *)bam;
+- (NSObject *)warn;	// expected-note {{method definition for 'warn' not found}}
+- (void)setWarn : (NSObject *)val; // expected-note {{method definition for 'setWarn:' not found}}
+@end
+
+@implementation rdar8747333 // expected-warning {{incomplete implementation}}
 @synthesize bar = _bar;
 @synthesize baz = _baz;
+@synthesize bam = _bam;
+@dynamic warn;
 @end