|
1 |
| -// RUN: %empty-directory(%t.mod) |
2 |
| -// RUN: %swift -enable-experimental-concurrency -emit-module -o %t.mod/async.swiftmodule %s -parse-as-library -emit-module-doc-path %t.mod/async.swiftdoc |
3 |
| -// RUN: %sourcekitd-test -req=doc-info -module async -- -I %t.mod | %FileCheck %s |
4 |
| - |
5 | 1 | // REQUIRES: concurrency
|
| 2 | +// REQUIRES: objc_interop |
| 3 | + |
| 4 | +// RUN: %sourcekitd-test -req=doc-info %s -- -module-name asyncmod -target %target-triple | %FileCheck %s |
| 5 | + |
| 6 | +// RUN: %sourcekitd-test -req=doc-info -module asyncmod -- -target %target-triple %clang-importer-sdk-nosource -I %S/Inputs/async/ | %FileCheck %s --check-prefix=CHECK-OBJC |
| 7 | +// CHECK-OBJC: key.name: "method()", |
| 8 | +// CHECK-OBJC: key.usr: "c:objc(cs)AsyncImports(im)methodWithCompletion:" |
| 9 | +// CHECK-OBJC-NOT: }, |
| 10 | +// CHECK-OBJC: key.is_async: 1 |
| 11 | +// CHECK-OBJC: }, |
| 12 | + |
| 13 | +// CHECK-OBJC: key.name: "asyncProp", |
| 14 | +// CHECK-OBJC: key.usr: "c:objc(cs)AsyncImports(im)propWithCompletion:" |
| 15 | +// CHECK-OBJC: key.fully_annotated_decl: |
| 16 | +// CHECK-OBJC-NEXT: key.is_async: 1 |
| 17 | +// CHECK-OBJC: } |
6 | 18 |
|
7 | 19 | public protocol AsyncProto {
|
| 20 | + // CHECK: key.usr: "s:8asyncmod10AsyncProtoP05protoB4PropSivp" |
| 21 | + // CHECK-NOT: }, |
| 22 | + // CHECK: key.is_async: 1 |
| 23 | + // CHECK: }, |
| 24 | + var protoAsyncProp: Int { get async } |
| 25 | + // CHECK: key.usr: "s:8asyncmod10AsyncProtoP08protoNonB4PropSivp" |
| 26 | + // CHECK-NOT: key.is_async: 1 |
| 27 | + // CHECK: }, |
| 28 | + var protoNonAsyncProp: Int { get } |
| 29 | + |
8 | 30 | func protoAsyncFunc() async
|
9 |
| - // CHECK: key.usr: "s:5async10AsyncProtoP05protoB4FuncyyYaF" |
| 31 | + // CHECK: key.usr: "s:8asyncmod10AsyncProtoP05protoB4FuncyyYaF" |
10 | 32 | // CHECK-NOT: }
|
11 | 33 | // CHECK: key.is_async: 1
|
12 | 34 | // CHECK: }
|
13 | 35 | func protoNonAsyncFunc()
|
14 |
| - // CHECK: key.usr: "s:5async10AsyncProtoP08protoNonB4FuncyyF" |
| 36 | + // CHECK: key.usr: "s:8asyncmod10AsyncProtoP08protoNonB4FuncyyF" |
15 | 37 | // CHECK-NOT: key.is_async: 1
|
16 | 38 | // CHECK: }
|
17 | 39 | }
|
18 | 40 |
|
19 | 41 | public struct AsyncStruct: AsyncProto {
|
| 42 | + // CHECK: key.usr: "s:8asyncmod11AsyncStructV05protoB4PropSivp" |
| 43 | + // CHECK-NOT: }, |
| 44 | + // CHECK: key.is_async: 1 |
| 45 | + // CHECK: }, |
| 46 | + public var protoAsyncProp: Int { get async { return 1 } } |
| 47 | + // CHECK: key.usr: "s:8asyncmod11AsyncStructV08protoNonB4PropSivp" |
| 48 | + // CHECK-NOT: key.is_async: 1 |
| 49 | + // CHECK: }, |
| 50 | + public var protoNonAsyncProp: Int |
| 51 | + |
20 | 52 | public func structAsyncFunc() async { }
|
21 |
| - // CHECK: key.usr: "s:5async11AsyncStructV06structB4FuncyyYaF" |
| 53 | + // CHECK: key.usr: "s:8asyncmod11AsyncStructV06structB4FuncyyYaF" |
22 | 54 | // CHECK-NOT: }
|
23 | 55 | // CHECK: key.is_async: 1
|
24 | 56 | // CHECK: }
|
25 | 57 | public func structNonAsyncFunc() { }
|
26 |
| - // CHECK: key.usr: "s:5async11AsyncStructV09structNonB4FuncyyF" |
| 58 | + // CHECK: key.usr: "s:8asyncmod11AsyncStructV09structNonB4FuncyyF" |
27 | 59 | // CHECK-NOT: key.is_async: 1
|
28 | 60 | // CHECK: }
|
29 | 61 |
|
30 | 62 | public func protoAsyncFunc() async { }
|
31 |
| - // CHECK: key.usr: "s:5async11AsyncStructV05protoB4FuncyyYaF" |
| 63 | + // CHECK: key.usr: "s:8asyncmod11AsyncStructV05protoB4FuncyyYaF" |
32 | 64 | // CHECK-NOT: }
|
33 | 65 | // CHECK: key.conforms
|
34 | 66 | // CHECK: {
|
35 |
| - // CHECK: key.usr: "s:5async10AsyncProtoP05protoB4FuncyyYaF" |
| 67 | + // CHECK: key.usr: "s:8asyncmod10AsyncProtoP05protoB4FuncyyYaF" |
36 | 68 | // CHECK-NOT: }
|
37 | 69 | // CHECK: key.is_async: 1
|
38 | 70 | // CHECK: }
|
39 | 71 | // CHECK: key.is_async: 1
|
40 | 72 | // CHECK: }
|
41 | 73 | public func protoNonAsyncFunc() { }
|
42 |
| - // CHECK: key.usr: "s:5async11AsyncStructV08protoNonB4FuncyyF" |
| 74 | + // CHECK: key.usr: "s:8asyncmod11AsyncStructV08protoNonB4FuncyyF" |
43 | 75 | // CHECK-NOT: key.is_async: 1
|
44 | 76 | // CHECK: }
|
45 | 77 | }
|
46 | 78 |
|
47 | 79 | public func topLevelAsyncFunc() async { }
|
48 |
| -// CHECK: key.usr: "s:5async17topLevelAsyncFuncyyYaF" |
| 80 | +// CHECK: key.usr: "s:8asyncmod17topLevelAsyncFuncyyYaF" |
49 | 81 | // CHECK-NOT: }
|
50 | 82 | // CHECK: key.is_async: 1
|
51 | 83 | // CHECK: }
|
52 | 84 | public func topLevelNonAsyncFunc() { }
|
53 |
| -// CHECK: key.usr: "s:5async20topLevelNonAsyncFuncyyF" |
| 85 | +// CHECK: key.usr: "s:8asyncmod20topLevelNonAsyncFuncyyF" |
54 | 86 | // CHECK-NOT: key.is_async: 1
|
55 | 87 | // CHECK: }
|
56 | 88 |
|
0 commit comments