| // RUN: rm -rf %t | |
| // RUN: %clang_cc1 -extract-api --pretty-sgf --emit-sgf-symbol-labels-for-testing \ | |
| // RUN: -x objective-c-header -triple arm64-apple-macosx %s -o - -verify | FileCheck %s | |
| @protocol MyProtocol | |
| @end | |
| @interface MyInterface | |
| @property(copy, readwrite) id<MyProtocol> obj1; | |
| // CHECK-LABEL: "!testLabel": "c:objc(cs)MyInterface(py)obj1" | |
| // CHECK: "declarationFragments": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "kind": "keyword", | |
| // CHECK-NEXT: "spelling": "@property" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "kind": "text", | |
| // CHECK-NEXT: "spelling": " (" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "kind": "keyword", | |
| // CHECK-NEXT: "spelling": "copy" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "kind": "text", | |
| // CHECK-NEXT: "spelling": ", " | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "kind": "keyword", | |
| // CHECK-NEXT: "spelling": "readwrite" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "kind": "text", | |
| // CHECK-NEXT: "spelling": ") " | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "kind": "typeIdentifier", | |
| // CHECK-NEXT: "preciseIdentifier": "c:Qoobjc(pl)MyProtocol", | |
| // CHECK-NEXT: "spelling": "id<MyProtocol>" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "kind": "text", | |
| // CHECK-NEXT: "spelling": " " | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "kind": "identifier", | |
| // CHECK-NEXT: "spelling": "obj1" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "kind": "text", | |
| // CHECK-NEXT: "spelling": ";" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ], | |
| @end | |
| // expected-no-diagnostics |