22import Foo
33import FooSwiftModule
44
5- var global : Int
6-
75struct S1 { }
86
97func foo( x: FooStruct1 ) -> S1 { }
@@ -13,18 +11,18 @@ func foo(x: FooStruct1) -> S1 {}
1311// RUN: %swiftc_driver -emit-module -o %t/FooSwiftModule.swiftmodule %S/Inputs/FooSwiftModule.swift
1412
1513// Sanity check that we have identical responses when things work.
16- // RUN: %sourcekitd-test -req=cursor -pos=5:5 %s -- -I %t -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s > %t.from_offset.txt
17- // RUN: %sourcekitd-test -req=cursor -usr "s:10cursor_usr6globalSivp " %s -- -I %t -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s > %t.from_usr.txt
14+ // RUN: %sourcekitd-test -req=cursor -pos=5:8 %s -- -I %t -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s > %t.from_offset.txt
15+ // RUN: %sourcekitd-test -req=cursor -usr "s:10cursor_usr2S1V " %s -- -I %t -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s > %t.from_usr.txt
1816// RUN: %FileCheck %s -check-prefix=CHECK_SANITY1 < %t.from_offset.txt
1917// RUN: %FileCheck %s -check-prefix=CHECK_SANITY1 < %t.from_usr.txt
2018// RUN: diff -u %t.from_usr.txt %t.from_offset.txt
21- // CHECK_SANITY1: source.lang.swift.decl.var.global (5:5 -5:11 )
22- // CHECK_SANITY1-NEXT: global
23- // CHECK_SANITY1-NEXT: s:10cursor_usr6globalSiv
24- // CHECK_SANITY1-NEXT: Int
25- // CHECK_SANITY1-NEXT: $sSiD
26- // CHECK_SANITY1-NEXT: <Declaration>var global: <Type usr="s:Si">Int</Type> </Declaration>
27- // CHECK_SANITY1-NEXT: <decl.var.global ><syntaxtype.keyword>var </syntaxtype.keyword> <decl.name>global </decl.name>: <decl.var.type><ref.struct usr="s:Si">Int</ref.struct></ decl.var.type></decl.var.global >
19+ // CHECK_SANITY1: source.lang.swift.decl.struct (5:8 -5:10 )
20+ // CHECK_SANITY1-NEXT: S1
21+ // CHECK_SANITY1-NEXT: s:10cursor_usr2S1
22+ // CHECK_SANITY1-NEXT: S1.Type
23+ // CHECK_SANITY1-NEXT: $s10cursor_usr2S1VmD
24+ // CHECK_SANITY1-NEXT: <Declaration>struct S1 </Declaration>
25+ // CHECK_SANITY1-NEXT: <decl.struct ><syntaxtype.keyword>struct </syntaxtype.keyword> <decl.name>S1 </decl.name></ decl.struct >
2826
2927// Bogus USR.
3028// RUN: %sourcekitd-test -req=cursor -usr "s:blahblahblah" %s -- -I %t -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s | %FileCheck %s -check-prefix=EMPTY
@@ -33,26 +31,8 @@ func foo(x: FooStruct1) -> S1 {}
3331// FIXME: no support for clang USRs.
3432// RUN: %sourcekitd-test -req=cursor -usr "c:@S@FooStruct1" %s -- -I %t -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s | %FileCheck %s -check-prefix=EMPTY
3533// EMPTY: <empty cursor info>
36-
37- // FIXME: missing symbol shows up as some other part of the USR (the type here).
38- // RUN: %sourcekitd-test -req=cursor -usr "s:10cursor_usr11global_noneSivp" %s -- -I %t -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s | %FileCheck %s -check-prefix=SHOULD_BE_EMPTY
39- // SHOULD_BE_EMPTY: source.lang.swift.decl.struct ()
40- // SHOULD_BE_EMPTY: Int
41-
4234// RUN: %sourcekitd-test -req=cursor -usr "s:10cursor_usr2S1V" %s -- -I %t -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s | %FileCheck %s -check-prefix=CHECK1
43- // CHECK1: source.lang.swift.decl.struct (7 :8-7 :10)
35+ // CHECK1: source.lang.swift.decl.struct (5 :8-5 :10)
4436// CHECK1: s1
4537// CHECK1: <decl.struct><syntaxtype.keyword>struct</syntaxtype.keyword> <decl.name>S1</decl.name></decl.struct>
4638
47- // RUN: %sourcekitd-test -req=cursor -usr "s:14FooSwiftModule03fooB4FuncSiyF" %s -- -I %t -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s | %FileCheck %s -check-prefix=CHECK2
48- // CHECK2: source.lang.swift.decl.function.free ()
49- // CHECK2: fooSwiftFunc()
50- // CHECK2: () -> Int
51- // CHECK2: FooSwiftModule
52- // CHECK2: <decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooSwiftFunc</decl.name>() -> <decl.function.returntype><ref.struct usr="s:Si">Int</ref.struct></decl.function.returntype></decl.function.free>
53-
54- // RUN: %sourcekitd-test -req=cursor -usr "s:10cursor_usr3fooyAA2S1VSC10FooStruct1VF" %s -- -I %t -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s | %FileCheck %s -check-prefix=CHECK3
55- // CHECK3: source.lang.swift.decl.function.free (9:6-9:24)
56- // CHECK3: foo(x:)
57- // CHECK3: (FooStruct1) -> S1
58- // CHECK3: <decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>foo</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>x</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr="c:@S@FooStruct1">FooStruct1</ref.struct></decl.var.parameter.type></decl.var.parameter>) -> <decl.function.returntype><ref.struct usr="s:10cursor_usr2S1V">S1</ref.struct></decl.function.returntype></decl.function.free>
0 commit comments