File tree Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -64,9 +64,14 @@ extension JavaFieldMacro: AccessorMacro {
6464 getter
6565 ]
6666
67+ let nonmutatingModifier =
68+ ( context. lexicalContext. first? . is ( ClassDeclSyntax . self) ?? false )
69+ ? " "
70+ : " nonmutating "
71+
6772 if createSetter {
6873 let setter : AccessorDeclSyntax = """
69- nonmutating set { self[javaFieldName: \( literal: fieldName) , fieldType: \( fieldType) .self] = newValue }
74+ \( raw : nonmutatingModifier ) set { self[javaFieldName: \( literal: fieldName) , fieldType: \( fieldType) .self] = newValue }
7075 """
7176 accessors. append ( setter)
7277 }
Original file line number Diff line number Diff line change @@ -167,15 +167,15 @@ class JavaKitMacroTests: XCTestCase {
167167 get {
168168 self[javaFieldName: " myField " , fieldType: Int64.self]
169169 }
170- nonmutating set {
170+ set {
171171 self[javaFieldName: " myField " , fieldType: Int64.self] = newValue
172172 }
173173 }
174174 public var objectField: JavaObject! {
175175 get {
176176 self[javaFieldName: " objectField " , fieldType: JavaObject?.self]
177177 }
178- nonmutating set {
178+ set {
179179 self[javaFieldName: " objectField " , fieldType: JavaObject?.self] = newValue
180180 }
181181 }
You can’t perform that action at this time.
0 commit comments