diff --git a/Sources/FormattingHelpers.swift b/Sources/FormattingHelpers.swift index 66ba33fa..0c67bd80 100644 --- a/Sources/FormattingHelpers.swift +++ b/Sources/FormattingHelpers.swift @@ -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) diff --git a/Sources/Inference.swift b/Sources/Inference.swift index ac74ddff..ba2e91c6 100644 --- a/Sources/Inference.swift +++ b/Sources/Inference.swift @@ -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, diff --git a/Sources/ParsingHelpers.swift b/Sources/ParsingHelpers.swift index 99bfb924..cfb8858f 100644 --- a/Sources/ParsingHelpers.swift +++ b/Sources/ParsingHelpers.swift @@ -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 {