1
+ // BEGIN _Helper.swift
2
+ public struct HelperTy { }
3
+ public func helperFunc( ) { }
4
+
1
5
// BEGIN MyModule.swift
6
+ @_exported import _Helper
7
+
2
8
public struct MyModuleTy { }
3
9
public func myModuleFunc( ) { }
4
10
5
-
6
- // BEGIN _Hidden.swift
11
+ // BEGIN _Explicit.swift
7
12
public struct HiddenTy { }
8
13
public func hiddenFunc( ) { }
9
14
10
15
// BEGIN App.swift
11
16
12
17
import MyModule
13
- import _Hidden
18
+ import _Explicit
14
19
15
20
func test( ) {
16
21
let _ = #^EXPR^#
@@ -19,35 +24,49 @@ func test() {
19
24
}
20
25
21
26
// EXPR: Begin completion
27
+
22
28
// EXPR-NOT: _Concurrency[#Module#]
23
29
// EXPR-NOT: SwiftShims[#Module#]
24
30
// EXPR-NOT: SwiftOnoneSupport[#Module#]
31
+ // EXPR-NOT: _Helper[#Module#]
32
+
25
33
// EXPR-DAG: Decl[Module]/None: swift_ide_test[#Module#]; name=swift_ide_test
26
34
// EXPR-DAG: Decl[Module]/None/IsSystem: Swift[#Module#]; name=Swift
27
35
// EXPR-DAG: Decl[Module]/None: MyModule[#Module#]; name=MyModule
36
+ // EXPR-DAG: Decl[Module]/None: _Explicit[#Module#]; name=_Explicit
28
37
// EXPR-DAG: Decl[Struct]/OtherModule[MyModule]: MyModuleTy[#MyModuleTy#]; name=MyModuleTy
29
- // EXPR-DAG: Decl[Struct]/OtherModule[_Hidden]: HiddenTy[#HiddenTy#]; name=HiddenTy
38
+ // EXPR-DAG: Decl[Struct]/OtherModule[_Explicit]: HiddenTy[#HiddenTy#]; name=HiddenTy
39
+ // EXPR-DAG: Decl[Struct]/OtherModule[_Helper]: HelperTy[#HelperTy#]; name=HelperTy
30
40
// EXPR-DAG: Decl[FreeFunction]/OtherModule[MyModule]: myModuleFunc()[#Void#]; name=myModuleFunc()
31
- // EXPR-DAG: Decl[FreeFunction]/OtherModule[_Hidden]: hiddenFunc()[#Void#]; name=hiddenFunc()
41
+ // EXPR-DAG: Decl[FreeFunction]/OtherModule[_Explicit]: hiddenFunc()[#Void#]; name=hiddenFunc()
42
+ // EXPR-DAG: Decl[FreeFunction]/OtherModule[_Helper]: helperFunc()[#Void#]; name=helperFunc()
43
+
32
44
// EXPR: End completions
33
45
34
46
// TYPE: Begin completion
47
+
35
48
// TYPE-NOT: _Concurrency[#Module#]
36
49
// TYPE-NOT: SwiftShims[#Module#]
37
50
// TYPE-NOT: SwiftOnoneSupport[#Module#]
51
+ // TYPE-NOT: _Helper[#Module#]
52
+
38
53
// TYPE-DAG: Decl[Module]/None: swift_ide_test[#Module#]; name=swift_ide_test
39
54
// TYPE-DAG: Decl[Module]/None/IsSystem: Swift[#Module#]; name=Swift
40
55
// TYPE-DAG: Decl[Module]/None: MyModule[#Module#]; name=MyModule
56
+ // TYPE-DAG: Decl[Module]/None: _Explicit[#Module#]; name=_Explicit
41
57
// TYPE-DAG: Decl[Struct]/OtherModule[MyModule]: MyModuleTy[#MyModuleTy#]; name=MyModuleTy
42
- // TYPE-DAG: Decl[Struct]/OtherModule[_Hidden]: HiddenTy[#HiddenTy#]; name=HiddenTy
58
+ // TYPE-DAG: Decl[Struct]/OtherModule[_Explicit]: HiddenTy[#HiddenTy#]; name=HiddenTy
59
+ // TYPE-DAG: Decl[Struct]/OtherModule[_Helper]: HelperTy[#HelperTy#]; name=HelperTy
60
+
43
61
// TYPE: End completions
44
62
45
63
// RUN: %empty-directory(%t)
46
64
// RUN: %{python} %utils/split_file.py -o %t %s
47
65
48
66
// RUN: %empty-directory(%t/Modules)
49
- // RUN: %target-swift-frontend -emit-module -module-name MyModule -o %t/Modules %t/MyModule.swift
50
- // RUN: %target-swift-frontend -emit-module -module-name _Hidden -o %t/Modules %t/_Hidden.swift
67
+ // RUN: %target-swift-frontend -emit-module -module-name _Helper -o %t/Modules %t/_Helper.swift
68
+ // RUN: %target-swift-frontend -emit-module -module-name MyModule -o %t/Modules %t/MyModule.swift -I %t/Modules
69
+ // RUN: %target-swift-frontend -emit-module -module-name _Explicit -o %t/Modules %t/_Explicit.swift -I %t/Modules
51
70
52
71
// RUN: %empty-directory(%t/Out)
53
72
// RUN: %target-swift-ide-test -batch-code-completion -source-filename %t/App.swift -filecheck %raw-FileCheck -completion-output-dir %t/Out -I %t/Modules
0 commit comments