Files
swift-mirror/test/refactoring/SyntacticRename/property-wrapper-split.swift
Alex Hoppen a710111001 [SourceKit] Support building sourcekitd without building swift-syntax
This allows building sourcekitd and swift-refactor with `SWIFT_BUILD_SWIFT_SYNTAX=NO`. In these builds, the `relatedidents` and `find-syntactic-rename-ranges` requests will always return an error.
2023-12-04 19:14:01 -08:00

28 lines
1.1 KiB
Swift

@propertyWrapper
struct Wrapper<T> {
var wrappedValue: T
/*split:def*/init(initialValue: T, fieldName: String, special: Bool = false) {
wrappedValue = initialValue
}
}
let /*someValue:def*/someValue = "some"
struct User {
@/*split:call*/Wrapper(fieldName: "bar")
var bar = 10
@/*split:call*/Wrapper(fieldName: {
return /*someValue*/someValue
}(), special: true)
var complex: Int = {
return /*someValue*/someValue.starts(with: "b") ? 43 : 0
}()
}
// REQUIRES: swift_swift_parser
// RUN: %empty-directory(%t.ranges)
// RUN: %refactor -find-rename-ranges -source-filename %s -pos="someValue" -old-name "someValue" >> %t.ranges/property-wrapper-split-someValue.swift
// RUN: diff -u %S/Outputs/property-wrapper-split/someValue.swift.expected %t.ranges/property-wrapper-split-someValue.swift
// RUN: %refactor -find-rename-ranges -source-filename %s -pos="split" -is-function-like -old-name "init(initialValue:fieldName:special:)" >> %t.ranges/property-wrapper-split-split.swift
// RUN: diff -u %S/Outputs/property-wrapper-split/split.swift.expected %t.ranges/property-wrapper-split-split.swift