// RUN: rm -rf %t
// RUN: mkdir %t
// RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng -target x86_64-apple-darwin10 -fobjc-default-synthesize-properties -fobjc-arc %s > %t/out
// RUN: FileCheck %s < %t/out
// rdar://13757500

@class NSString;

@interface NSArray @end

@interface NSMutableArray : NSArray 
{
//! This is the name.
  NSString *Name;
}
//! This is WithLabel comment.
- (NSString *)WithLabel:(NSString * const)label;
// CHECK: <Declaration>- (NSString *)WithLabel:(NSString *const)label;</Declaration> 

//! This is a property to get the Name.
@property (copy) NSString *Name;
// CHECK: <Declaration>@property(readwrite, copy, atomic) NSString *Name;</Declaration>
@end

@implementation NSMutableArray
{
//! This is private ivar
  NSString *NickName;
// CHECK: <Declaration>NSString *NickName</Declaration>
}

- (NSString *)WithLabel:(NSString * const)label {
    return 0;
}
@synthesize Name = Name;
@end
