1// RUN: rm -rf %t 2// RUN: %clang_cc1 -extract-api --pretty-sgf --emit-sgf-symbol-labels-for-testing \ 3// RUN: -x objective-c-header -triple arm64-apple-macosx %s -o - -verify | FileCheck %s 4 5@protocol MyProtocol 6@end 7 8@interface MyInterface 9@property(copy, readwrite) id<MyProtocol> obj1; 10// CHECK-LABEL: "!testLabel": "c:objc(cs)MyInterface(py)obj1" 11// CHECK: "declarationFragments": [ 12// CHECK-NEXT: { 13// CHECK-NEXT: "kind": "keyword", 14// CHECK-NEXT: "spelling": "@property" 15// CHECK-NEXT: }, 16// CHECK-NEXT: { 17// CHECK-NEXT: "kind": "text", 18// CHECK-NEXT: "spelling": " (" 19// CHECK-NEXT: }, 20// CHECK-NEXT: { 21// CHECK-NEXT: "kind": "keyword", 22// CHECK-NEXT: "spelling": "copy" 23// CHECK-NEXT: }, 24// CHECK-NEXT: { 25// CHECK-NEXT: "kind": "text", 26// CHECK-NEXT: "spelling": ", " 27// CHECK-NEXT: }, 28// CHECK-NEXT: { 29// CHECK-NEXT: "kind": "keyword", 30// CHECK-NEXT: "spelling": "readwrite" 31// CHECK-NEXT: }, 32// CHECK-NEXT: { 33// CHECK-NEXT: "kind": "text", 34// CHECK-NEXT: "spelling": ") " 35// CHECK-NEXT: }, 36// CHECK-NEXT: { 37// CHECK-NEXT: "kind": "typeIdentifier", 38// CHECK-NEXT: "preciseIdentifier": "c:Qoobjc(pl)MyProtocol", 39// CHECK-NEXT: "spelling": "id<MyProtocol>" 40// CHECK-NEXT: }, 41// CHECK-NEXT: { 42// CHECK-NEXT: "kind": "text", 43// CHECK-NEXT: "spelling": " " 44// CHECK-NEXT: }, 45// CHECK-NEXT: { 46// CHECK-NEXT: "kind": "identifier", 47// CHECK-NEXT: "spelling": "obj1" 48// CHECK-NEXT: }, 49// CHECK-NEXT: { 50// CHECK-NEXT: "kind": "text", 51// CHECK-NEXT: "spelling": ";" 52// CHECK-NEXT: } 53// CHECK-NEXT: ], 54@end 55 56// expected-no-diagnostics 57