File tree Expand file tree Collapse file tree 2 files changed +55
-2
lines changed
test/SourceKit/CursorInfo Expand file tree Collapse file tree 2 files changed +55
-2
lines changed Original file line number Diff line number Diff line change @@ -1099,8 +1099,7 @@ ClangImporter::create(ASTContext &ctx,
1099
1099
1100
1100
// Wrap Swift's FS to allow Clang to override the working directory
1101
1101
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS =
1102
- llvm::vfs::RedirectingFileSystem::create ({}, true ,
1103
- *ctx.SourceMgr .getFileSystem ());
1102
+ new llvm::vfs::OverlayFileSystem (ctx.SourceMgr .getFileSystem ());
1104
1103
1105
1104
// Create a new Clang compiler invocation.
1106
1105
{
Original file line number Diff line number Diff line change
1
+ // RUN: %empty-directory(%t)
2
+ // RUN: split-file --leading-lines %s %t
3
+ // RUN: sed -e "s@EXTERNAL_DIR@%{/t:regex_replacement}/A@g" -e "s@NAME_DIR@%{/t:regex_replacement}/B@g" %t/base.yaml > %t/overlay.yaml
4
+
5
+ //--- use.swift
6
+ import MyMod
7
+
8
+ // RUN: %sourcekitd-test -req=cursor -pos=%(line+3):13 %t/use.swift -- -I%t/B -vfsoverlay %t/overlay.yaml %t/use.swift | %FileCheck --check-prefix=CHECK-A %s
9
+ // RUN: %sourcekitd-test -req=cursor -pos=%(line+2):22 %t/use.swift -- -I%t/B -vfsoverlay %t/overlay.yaml %t/use.swift | %FileCheck --check-prefix=CHECK-B %s
10
+ // RUN: %sourcekitd-test -req=cursor -pos=%(line+1):31 %t/use.swift -- -I%t/B -vfsoverlay %t/overlay.yaml %t/use.swift | %FileCheck --check-prefix=CHECK-C %s
11
+ func f( arg: A , arg2: B , arg3: C ) { }
12
+
13
+ //--- A/A.h
14
+ // CHECK-A: source.lang.swift.ref.struct ({{.*}}{{/|\\}}A{{/|\\}}A.h:[[@LINE+1]]:8-[[@LINE+1]]:9)
15
+ struct A {
16
+ int a;
17
+ } ;
18
+
19
+ //--- A/B.h
20
+
21
+ //--- A/C.h
22
+ // CHECK-C: source.lang.swift.ref.struct ({{.*}}{{/|\\}}A{{/|\\}}C.h:[[@LINE+1]]:8-[[@LINE+1]]:9)
23
+ struct C {
24
+ int c;
25
+ } ;
26
+
27
+ //--- B/B.h
28
+ #include " C.h "
29
+
30
+ // CHECK-B: source.lang.swift.ref.struct ({{.*}}{{/|\\}}B{{/|\\}}B.h:[[@LINE+1]]:8-[[@LINE+1]]:9)
31
+ struct B {
32
+ int b;
33
+ } ;
34
+
35
+ //--- B/module.modulemap
36
+ module MyMod {
37
+ header " A.h "
38
+ header " B.h "
39
+ }
40
+
41
+ //--- base.yaml
42
+ {
43
+ version: 0 ,
44
+ redirecting- with: " fallback " ,
45
+ use- external- names: true,
46
+ roots: [
47
+ {
48
+ type: " directory-remap " ,
49
+ name: " NAME_DIR " ,
50
+ external- contents: " EXTERNAL_DIR "
51
+ }
52
+ ]
53
+ }
54
+
You can’t perform that action at this time.
0 commit comments