Files
swift-mirror/test/refactoring/SyntacticRename/FindRangeOutputs/objc-keypath/dict.swift.expected
Nathan Hawes 07ebaccfd3 [Refactoring] SyntacticRename should walk into ObjC Keypath components when matching name locations.
It wasn't previously so missed them.

Resolves rdar://61573935
2021-03-12 15:17:57 +10:00

27 lines
1.0 KiB
Plaintext

@objcMembers class /*Outer:def*/Outer {
let /*outerProp:def*/outerProp = 10
@objcMembers class /*Inner:def*/Inner {
let /*prop:def*/prop = 20
let /*tuple:def*/tuple = (1, 4)
let /*namedTuple:def*/namedTuple = (x: 1, y: 3)
let /*array:def*/array = [1, 2, 3]
let /*dict:def*/<base>dict</base> = ["foo": Outer()]
}
}
// Valid
_ = #keyPath(/*Outer*/Outer . /*Inner*/Inner . /*prop*/prop)
_ = #keyPath(/*Outer*/Outer . /*Inner*/Inner . /*array*/array)
_ = #keyPath(/*Outer*/Outer . /*Inner*/Inner . /*dict*/<base>dict</base> . someKey)
_ = #keyPath(/*Outer*/Outer . /*Inner*/Inner . /*dict*/<base>dict</base> . someKey . /*outerProp*/outerProp)
// Invalid but resolved
_ = #keyPath(/*Outer*/Outer . /*Inner*/Inner . /*tuple*/tuple)
_ = #keyPath(/*Outer*/Outer . /*Inner*/Inner . /*namedTuple*/namedTuple)
_ = #keyPath(/*Outer*/Outer . /*Inner*/Inner . /*array*/array[0] . hashValue)
// FIXME: Invalid and not resolved
_ = #keyPath(/*Outer:unknown*/Outer . /*Inner:unknown*/Inner . /*dict:unknown*/dict . someKey . undefined)