@@ -18,10 +18,10 @@ private final class AddModifierRewriter: SyntaxRewriter {
18
18
return newDecl. addModifier ( modifierKeyword)
19
19
}
20
20
// 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 }
22
22
23
23
// Put accessor keyword before the first modifier keyword in the declaration
24
- let newModifiers = insertAccessorKeyword ( curModifiers : modifiers )
24
+ let newModifiers = modifiers . prepend ( modifier : modifierKeyword )
25
25
return node. withModifiers ( newModifiers)
26
26
}
27
27
@@ -31,8 +31,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
31
31
as? FunctionDeclSyntax else { return node }
32
32
return newDecl. addModifier ( modifierKeyword)
33
33
}
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 )
36
36
return node. withModifiers ( newModifiers)
37
37
}
38
38
@@ -42,8 +42,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
42
42
as? AssociatedtypeDeclSyntax else { return node }
43
43
return newDecl. addModifier ( modifierKeyword)
44
44
}
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 )
47
47
return node. withModifiers ( newModifiers)
48
48
}
49
49
@@ -53,8 +53,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
53
53
as? ClassDeclSyntax else { return node }
54
54
return newDecl. addModifier ( modifierKeyword)
55
55
}
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 )
58
58
return node. withModifiers ( newModifiers)
59
59
}
60
60
@@ -64,8 +64,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
64
64
as? EnumDeclSyntax else { return node }
65
65
return newDecl. addModifier ( modifierKeyword)
66
66
}
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 )
69
69
return node. withModifiers ( newModifiers)
70
70
}
71
71
@@ -75,8 +75,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
75
75
as? ProtocolDeclSyntax else { return node }
76
76
return newDecl. addModifier ( modifierKeyword)
77
77
}
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 )
80
80
return node. withModifiers ( newModifiers)
81
81
}
82
82
@@ -86,8 +86,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
86
86
as? StructDeclSyntax else { return node }
87
87
return newDecl. addModifier ( modifierKeyword)
88
88
}
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 )
91
91
return node. withModifiers ( newModifiers)
92
92
}
93
93
@@ -97,8 +97,8 @@ private final class AddModifierRewriter: SyntaxRewriter {
97
97
as? TypealiasDeclSyntax else { return node }
98
98
return newDecl. addModifier ( modifierKeyword)
99
99
}
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 )
102
102
return node. withModifiers ( newModifiers)
103
103
}
104
104
@@ -108,35 +108,12 @@ private final class AddModifierRewriter: SyntaxRewriter {
108
108
as? InitializerDeclSyntax else { return node }
109
109
return newDecl. addModifier ( modifierKeyword)
110
110
}
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 )
113
113
return node. withModifiers ( newModifiers)
114
114
}
115
115
116
116
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
-
140
117
func removeFirstTokLeadingTrivia( node: DeclSyntax ) -> DeclSyntax {
141
118
let withoutLeadTrivia = replaceTrivia ( on: node,
142
119
token: node. firstToken,
0 commit comments