mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
I will remove the `syntactic-rename` refactoring action in a follow-up commit. Clients should always ask for rename ranges and perform the rename by themselves instead of asking for a renamed file.
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
public struct Outer {
|
|
@propertyWrapper
|
|
public struct InnerWrapper<T> {
|
|
public var wrappedValue: T
|
|
public /*init:def*/init(initialValue: T) {
|
|
self.wrappedValue = initialValue
|
|
}
|
|
public /*body:def*/<keywordBase>init</keywordBase>(<arglabel index=0>first</arglabel><param index=0></param>: Int, <arglabel index=1>body</arglabel><param index=1></param>: () -> T) {
|
|
self.wrappedValue = body()
|
|
}
|
|
}
|
|
}
|
|
|
|
var globalInt: Int { return 17 }
|
|
public struct HasWrappers {
|
|
@Outer.InnerWrapper
|
|
public var x: Int = globalInt
|
|
|
|
@Outer . /*body:call*/InnerWrapper(<callarg index=0>first</callarg><callcolon index=0>: </callcolon>20, <callarg index=1>body</callarg><callcolon index=1>: </callcolon>{ globalInt })
|
|
public var y: Int
|
|
|
|
@Outer . /*body:call*/InnerWrapper(<callarg index=0>first</callarg><callcolon index=0>: </callcolon>10, <callarg index=1>body</callarg><callcolon index=1>: </callcolon>{
|
|
struct Inner {
|
|
@Outer . /*init:call*/InnerWrapper(initialValue: globalInt)
|
|
var x: Int
|
|
}
|
|
return Inner().x + globalInt
|
|
})
|
|
public var z: Int
|
|
}
|
|
|
|
func uses() {
|
|
_ = Outer . /*body:call*/InnerWrapper(<callarg index=0>first</callarg><callcolon index=0>: </callcolon>42, <callarg index=1>body</callarg><callcolon index=1>: </callcolon>{ 45 })
|
|
_ = Outer . /*init:call*/InnerWrapper(initialValue: 0)
|
|
}
|
|
|
|
|