Skip to content

Commit cf49177

Browse files
authored
Merge pull request #9341 from benlangmuir/tweak-param-cursor
[cursor-info] Tweak check to not report parent_loc on locals in body
2 parents badf215 + 651bb4c commit cf49177

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

test/SourceKit/CursorInfo/cursor_label.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ class C1 {
55
func foo(_ aa : Int) {}
66
init(_ cc: Int) {}
77
subscript(_ aa : Int)-> Int { get { return 0 } set {}}
8+
func foo(label aa : Int, bb: Int) {
9+
_ = aa
10+
_ = bb
11+
}
812
}
913
let c = C1(cc: 1)
1014
c.foo(aa : 1)
@@ -15,8 +19,13 @@ c.foo(aa : 1)
1519
// RUN: %sourcekitd-test -req=cursor -pos=5:15 %s -- %s | %FileCheck %s -check-prefix=CHECK-NONE
1620
// RUN: %sourcekitd-test -req=cursor -pos=6:11 %s -- %s | %FileCheck %s -check-prefix=CHECK-NONE
1721
// RUN: %sourcekitd-test -req=cursor -pos=7:16 %s -- %s | %FileCheck %s -check-prefix=CHECK-NONE
22+
// RUN: %sourcekitd-test -req=cursor -pos=8:18 %s -- %s | %FileCheck %s -check-prefix=CHECK-NONE
23+
// RUN: %sourcekitd-test -req=cursor -pos=8:28 %s -- %s | %FileCheck %s -check-prefix=CHECK4
24+
// RUN: %sourcekitd-test -req=cursor -pos=9:9 %s -- %s | %FileCheck %s -check-prefix=CHECK-NONE
25+
// RUN: %sourcekitd-test -req=cursor -pos=10:9 %s -- %s | %FileCheck %s -check-prefix=CHECK4
1826

1927
// CHECK1: PARENT OFFSET: 13
2028
// CHECK2: PARENT OFFSET: 37
2129
// CHECK3: PARENT OFFSET: 56
30+
// CHECK4: PARENT OFFSET: 229
2231
// CHECK-NONE-NOT: PARENT OFFSET:

tools/SourceKit/lib/SwiftLang/SwiftSourceDocInfo.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,7 @@ getParamParentNameOffset(const ValueDecl *VD, SourceLoc Cursor) {
621621
if (auto PD = dyn_cast<ParamDecl>(VD)) {
622622

623623
// Avoid returning parent loc for internal-only names.
624-
if (PD->getArgumentNameLoc().isValid() && PD->getNameLoc() == Cursor)
624+
if (PD->getArgumentNameLoc().isValid() && PD->getArgumentNameLoc() != Cursor)
625625
return None;
626626
auto *DC = PD->getDeclContext();
627627
switch (DC->getContextKind()) {

0 commit comments

Comments
 (0)