mirror of
https://github.com/nicklockwood/SwiftFormat.git
synced 2026-06-16 10:34:34 +00:00
Correctly handle _modify accessor
This commit is contained in:
@@ -2870,7 +2870,7 @@ extension Formatter {
|
||||
["static", "class"].contains(string)
|
||||
})
|
||||
if let name = name, classOrStatic || !staticSelf {
|
||||
processAccessors(["get", "set", "willSet", "didSet", "init"], for: name,
|
||||
processAccessors(["get", "set", "willSet", "didSet", "init", "_modify"], for: name,
|
||||
at: &index, localNames: localNames, members: members,
|
||||
typeStack: &typeStack, closureStack: &closureStack,
|
||||
membersByType: &membersByType,
|
||||
@@ -3186,7 +3186,7 @@ extension Formatter {
|
||||
token = tokens[nextIndex]
|
||||
}
|
||||
switch token.string {
|
||||
case "get":
|
||||
case "get", "_modify":
|
||||
localNames.insert(name)
|
||||
case "set", "init":
|
||||
localNames.insert(name)
|
||||
|
||||
@@ -994,7 +994,7 @@ private struct Inference {
|
||||
prevIndex -= 1
|
||||
}
|
||||
if let name = name {
|
||||
processAccessors(["get", "set", "willSet", "didSet", "init"], for: name,
|
||||
processAccessors(["get", "set", "willSet", "didSet", "init", "_modify"], for: name,
|
||||
at: &index, localNames: localNames, members: members,
|
||||
typeStack: &typeStack, membersByType: &membersByType,
|
||||
classMembersByType: &classMembersByType,
|
||||
|
||||
@@ -668,7 +668,7 @@ extension Formatter {
|
||||
|
||||
func isAccessorKeyword(at i: Int, checkKeyword: Bool = true) -> Bool {
|
||||
guard !checkKeyword ||
|
||||
["get", "set", "willSet", "didSet", "init"].contains(token(at: i)?.string ?? ""),
|
||||
["get", "set", "willSet", "didSet", "init", "_modify"].contains(token(at: i)?.string ?? ""),
|
||||
var prevIndex = index(of: .nonSpaceOrCommentOrLinebreak, before: i)
|
||||
else {
|
||||
return false
|
||||
@@ -1120,7 +1120,7 @@ extension Formatter {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
case "get", "set", "willSet", "didSet", "init":
|
||||
case "get", "set", "willSet", "didSet", "init", "_modify":
|
||||
return isAccessorKeyword(at: i, checkKeyword: false)
|
||||
case "actor":
|
||||
if last(.nonSpaceOrCommentOrLinebreak, before: i)?.isOperator(ofType: .infix) == true {
|
||||
|
||||
Reference in New Issue
Block a user