@@ -18,10 +18,10 @@ private final class AddModifierRewriter: SyntaxRewriter {
1818 return newDecl. addModifier ( modifierKeyword)
1919 }
2020 // If variable already has an accessor keyword, skip (do not overwrite)
21- guard !hasAccessorKeyword ( modifiers: modifiers ) else { return node }
21+ guard modifiers. accessLevelModifier == nil else { return node }
2222
2323 // Put accessor keyword before the first modifier keyword in the declaration
24- let newModifiers = insertAccessorKeyword ( curModifiers : modifiers )
24+ let newModifiers = modifiers . prepend ( modifier : modifierKeyword )
2525 return node. withModifiers ( newModifiers)
2626 }
2727
@@ -31,8 +31,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
3131 as? FunctionDeclSyntax else { return node }
3232 return newDecl. addModifier ( modifierKeyword)
3333 }
34- guard !hasAccessorKeyword ( modifiers: modifiers ) else { return node }
35- let newModifiers = insertAccessorKeyword ( curModifiers : modifiers )
34+ guard modifiers. accessLevelModifier == nil else { return node }
35+ let newModifiers = modifiers . prepend ( modifier : modifierKeyword )
3636 return node. withModifiers ( newModifiers)
3737 }
3838
@@ -42,8 +42,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
4242 as? AssociatedtypeDeclSyntax else { return node }
4343 return newDecl. addModifier ( modifierKeyword)
4444 }
45- guard !hasAccessorKeyword ( modifiers: modifiers ) else { return node }
46- let newModifiers = insertAccessorKeyword ( curModifiers : modifiers )
45+ guard modifiers. accessLevelModifier == nil else { return node }
46+ let newModifiers = modifiers . prepend ( modifier : modifierKeyword )
4747 return node. withModifiers ( newModifiers)
4848 }
4949
@@ -53,8 +53,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
5353 as? ClassDeclSyntax else { return node }
5454 return newDecl. addModifier ( modifierKeyword)
5555 }
56- guard !hasAccessorKeyword ( modifiers: modifiers ) else { return node }
57- let newModifiers = insertAccessorKeyword ( curModifiers : modifiers )
56+ guard modifiers. accessLevelModifier == nil else { return node }
57+ let newModifiers = modifiers . prepend ( modifier : modifierKeyword )
5858 return node. withModifiers ( newModifiers)
5959 }
6060
@@ -64,8 +64,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
6464 as? EnumDeclSyntax else { return node }
6565 return newDecl. addModifier ( modifierKeyword)
6666 }
67- guard !hasAccessorKeyword ( modifiers: modifiers ) else { return node }
68- let newModifiers = insertAccessorKeyword ( curModifiers : modifiers )
67+ guard modifiers. accessLevelModifier == nil else { return node }
68+ let newModifiers = modifiers . prepend ( modifier : modifierKeyword )
6969 return node. withModifiers ( newModifiers)
7070 }
7171
@@ -75,8 +75,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
7575 as? ProtocolDeclSyntax else { return node }
7676 return newDecl. addModifier ( modifierKeyword)
7777 }
78- guard !hasAccessorKeyword ( modifiers: modifiers ) else { return node }
79- let newModifiers = insertAccessorKeyword ( curModifiers : modifiers )
78+ guard modifiers. accessLevelModifier == nil else { return node }
79+ let newModifiers = modifiers . prepend ( modifier : modifierKeyword )
8080 return node. withModifiers ( newModifiers)
8181 }
8282
@@ -86,8 +86,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
8686 as? StructDeclSyntax else { return node }
8787 return newDecl. addModifier ( modifierKeyword)
8888 }
89- guard !hasAccessorKeyword ( modifiers: modifiers ) else { return node }
90- let newModifiers = insertAccessorKeyword ( curModifiers : modifiers )
89+ guard modifiers. accessLevelModifier == nil else { return node }
90+ let newModifiers = modifiers . prepend ( modifier : modifierKeyword )
9191 return node. withModifiers ( newModifiers)
9292 }
9393
@@ -97,8 +97,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
9797 as? TypealiasDeclSyntax else { return node }
9898 return newDecl. addModifier ( modifierKeyword)
9999 }
100- guard !hasAccessorKeyword ( modifiers: modifiers ) else { return node }
101- let newModifiers = insertAccessorKeyword ( curModifiers : modifiers )
100+ guard modifiers. accessLevelModifier == nil else { return node }
101+ let newModifiers = modifiers . prepend ( modifier : modifierKeyword )
102102 return node. withModifiers ( newModifiers)
103103 }
104104
@@ -108,35 +108,12 @@ private final class AddModifierRewriter: SyntaxRewriter {
108108 as? InitializerDeclSyntax else { return node }
109109 return newDecl. addModifier ( modifierKeyword)
110110 }
111- guard !hasAccessorKeyword ( modifiers: modifiers ) else { return node }
112- let newModifiers = insertAccessorKeyword ( curModifiers : modifiers )
111+ guard modifiers. accessLevelModifier == nil else { return node }
112+ let newModifiers = modifiers . prepend ( modifier : modifierKeyword )
113113 return node. withModifiers ( newModifiers)
114114 }
115115
116116
117- // Determines if declaration already has an access keyword in modifiers
118- func hasAccessorKeyword( modifiers: ModifierListSyntax ) -> Bool {
119- for modifier in modifiers {
120- let keywordKind = modifier. name. tokenKind
121- switch keywordKind {
122- case . publicKeyword, . privateKeyword, . fileprivateKeyword, . internalKeyword:
123- return true
124- default :
125- continue
126- }
127- }
128- return false
129- }
130-
131- // Puts the access keyword at the beginning of the given modifier list
132- func insertAccessorKeyword( curModifiers: ModifierListSyntax ) -> ModifierListSyntax {
133- var newModifiers : [ DeclModifierSyntax ] = [ ]
134- newModifiers. append ( contentsOf: curModifiers)
135- newModifiers [ 0 ] = newModifiers [ 0 ] . withName ( newModifiers [ 0 ] . name. withoutLeadingTrivia ( ) )
136- newModifiers. insert ( modifierKeyword, at: 0 )
137- return SyntaxFactory . makeModifierList ( newModifiers)
138- }
139-
140117 func removeFirstTokLeadingTrivia( node: DeclSyntax ) -> DeclSyntax {
141118 let withoutLeadTrivia = replaceTrivia ( on: node,
142119 token: node. firstToken,
0 commit comments