xref: /llvm-project/clang/test/ExtractAPI/objc_property.m (revision e05c1b46d0d3739cc48ad912dbe6e9affce05927)
1// RUN: rm -rf %t
2// RUN: %clang_cc1 -extract-api --pretty-sgf --emit-sgf-symbol-labels-for-testing \
3// RUN:   -triple arm64-apple-macosx -x objective-c-header %s -o - -verify | FileCheck %s
4
5@protocol Protocol
6@property(class) int myProtocolTypeProp;
7// CHECK-DAG: "!testRelLabel": "memberOf $ c:objc(pl)Protocol(cpy)myProtocolTypeProp $ c:objc(pl)Protocol"
8@property int myProtocolInstanceProp;
9// CHECK-DAG: "!testRelLabel": "memberOf $ c:objc(pl)Protocol(py)myProtocolInstanceProp $ c:objc(pl)Protocol"
10@end
11
12@interface Interface
13@property(class) int myInterfaceTypeProp;
14// CHECk-DAG: "!testRelLabel": "memberOf $ c:objc(cs)Interface(cpy)myInterfaceTypeProp $ c:objc(cs)Interface"
15@property int myInterfaceInstanceProp;
16// CHECK-DAG: "!testRelLabel": "memberOf $ c:objc(cs)Interface(py)myInterfaceInstanceProp $ c:objc(cs)Interface"
17@end
18
19@interface Interface (Category) <Protocol>
20@property(class) int myCategoryTypeProp;
21// CHECK-DAG: "!testRelLabel": "memberOf $ c:objc(cs)Interface(cpy)myCategoryTypeProp $ c:objc(cs)Interface"
22@property int myCategoryInstanceProp;
23// CHECK-DAG "!testRelLabel": "memberOf $ c:objc(cs)Interface(py)myCategoryInstanceProp $ c:objc(cs)Interface"
24@end
25
26// expected-no-diagnostics
27