@@ -49,17 +49,13 @@ public enum AccessLevel: Int {
4949
5050protocol DeclProtocol : SyntaxProtocol {
5151 var id : String { get }
52- var modifiers : ModifierListSyntax ? { get }
52+ var modifiers : DeclModifierListSyntax ? { get }
5353}
5454
5555extension DeclProtocol {
5656
5757 var comments : [ Comment ] {
58- guard let trivia = leadingTrivia else {
59- return [ ]
60- }
61-
62- return trivia. compactMap {
58+ return leadingTrivia. compactMap {
6359 switch $0 {
6460 case let . lineComment( text) :
6561 return Comment ( kind: . line, text: text)
@@ -81,7 +77,7 @@ extension DeclProtocol {
8177 }
8278
8379 for modifier in modifiers {
84- let name = modifier. withoutTrivia ( ) . description
80+ let name = modifier. trimmed . description
8581 switch name {
8682 case " open " :
8783 return . open
@@ -101,97 +97,154 @@ extension DeclProtocol {
10197
10298// MARK: -
10399
104- extension TypealiasDeclSyntax : DeclProtocol {
100+ extension TypeAliasDeclSyntax : DeclProtocol {
101+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
102+ nil
103+ }
104+
105105 var id : String {
106- identifier . withoutTrivia ( ) . description
106+ name . trimmed . description
107107 }
108108}
109109
110- extension AssociatedtypeDeclSyntax : DeclProtocol {
110+ extension AssociatedTypeDeclSyntax : DeclProtocol {
111+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
112+ nil
113+ }
114+
111115 var id : String {
112- identifier . withoutTrivia ( ) . description
116+ name . trimmed . description
113117 }
114118}
115119
116120extension ClassDeclSyntax : DeclProtocol {
121+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
122+ nil
123+ }
124+
117125 var id : String {
118- let genericParameter = genericParameterClause? . withoutTrivia ( ) . description ?? " "
119- return " \( identifier . withoutTrivia ( ) ) \( genericParameter) "
126+ let genericParameter = genericParameterClause? . trimmed . description ?? " "
127+ return " \( name . trimmed ) \( genericParameter) "
120128 }
121129}
122130
123131extension StructDeclSyntax : DeclProtocol {
132+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
133+ nil
134+ }
135+
124136 var id : String {
125- let genericParameter = genericParameterClause? . withoutTrivia ( ) . description ?? " "
126- return " \( identifier . withoutTrivia ( ) ) \( genericParameter) "
137+ let genericParameter = genericParameterClause? . trimmed . description ?? " "
138+ return " \( name . trimmed ) \( genericParameter) "
127139 }
128140}
129141
130142extension ProtocolDeclSyntax : DeclProtocol {
143+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
144+ nil
145+ }
146+
131147 var id : String {
132- identifier . withoutTrivia ( ) . description
148+ name . trimmed . description
133149 }
134150}
135151
136152extension ExtensionDeclSyntax : DeclProtocol {
153+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
154+ nil
155+ }
156+
137157 var id : String {
138- extendedType. withoutTrivia ( ) . description
158+ extendedType. trimmed . description
139159 }
140160}
141161
142162extension FunctionDeclSyntax : DeclProtocol {
163+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
164+ nil
165+ }
166+
143167 var id : String {
144- let generic = genericParameterClause? . withoutTrivia ( ) . description ?? " "
145- return " \( identifier . withoutTrivia ( ) ) \( generic) \( signature. withoutTrivia ( ) ) "
168+ let generic = genericParameterClause? . trimmed . description ?? " "
169+ return " \( name . trimmed ) \( generic) \( signature. trimmed ) "
146170 }
147171}
148172
149173extension InitializerDeclSyntax : DeclProtocol {
174+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
175+ nil
176+ }
177+
150178 var id : String {
151- let optionalMark = optionalMark? . withoutTrivia ( ) . description ?? " "
152- let generic = genericParameterClause? . withoutTrivia ( ) . description ?? " "
153- return " \( initKeyword. withoutTrivia ( ) ) \( optionalMark) \( generic) \( parameters. withoutTrivia ( ) ) "
179+ let optionalMark = optionalMark? . trimmed. description ?? " "
180+ let generic = genericParameterClause? . trimmed. description ?? " "
181+ let parameters = genericParameterClause? . trimmed ?? . none
182+ return " \( initKeyword. trimmed) \( optionalMark) \( generic) \( parameters) "
154183 }
155184}
156185
157186extension SubscriptDeclSyntax : DeclProtocol {
187+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
188+ nil
189+ }
190+
158191 var id : String {
159- let generic = genericParameterClause? . withoutTrivia ( ) . description ?? " "
160- return " \( subscriptKeyword. withoutTrivia ( ) ) \( generic) \( indices . withoutTrivia ( ) ) \( result . withoutTrivia ( ) ) "
192+ let generic = genericParameterClause? . trimmed . description ?? " "
193+ return " \( subscriptKeyword. trimmed ) \( generic) \( parameterClause . trimmed ) \( returnClause . trimmed ) "
161194 }
162195}
163196
164197extension VariableDeclSyntax : DeclProtocol {
198+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
199+ nil
200+ }
201+
165202 var id : String {
166- bindings. map { $0. pattern. withoutTrivia ( ) . description } . joined ( separator: " , " )
167- }
203+ bindings. map { $0. pattern. trimmed . description } . joined ( separator: " , " )
204+ }
168205}
169206
170207extension EnumDeclSyntax : DeclProtocol {
208+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
209+ nil
210+ }
211+
171212 var id : String {
172- let generic = genericParameters ? . withoutTrivia ( ) . description ?? " "
173- return " \( identifier . withoutTrivia ( ) . description) \( generic) "
213+ let generic = genericParameterClause ? . trimmed . description ?? " "
214+ return " \( name . trimmed . description) \( generic) "
174215 }
175216}
176217
177218extension EnumCaseDeclSyntax : DeclProtocol {
219+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
220+ nil
221+ }
222+
178223 var id : String {
179224 elements. map {
180- let name = $0. identifier . withoutTrivia ( ) . description
181- let associatedValue = $0. associatedValue ? . withoutTrivia ( ) . description ?? " "
225+ let name = $0. name . trimmed . description
226+ let associatedValue = $0. parameterClause ? . trimmed . description ?? " "
182227 return " \( name) \( associatedValue) "
183228 } . joined ( separator: " , " )
184229 }
185230}
186231
187232extension OperatorDeclSyntax : DeclProtocol {
233+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
234+ nil
235+ }
236+
188237 var id : String {
189- " \( operatorKeyword. withoutTrivia ( ) ) \( identifier . withoutTrivia ( ) ) "
238+ " \( operatorKeyword. trimmed ) \( name . trimmed ) "
190239 }
191240}
192241
193242extension PrecedenceGroupDeclSyntax : DeclProtocol {
243+ var modifiers : SwiftSyntax . DeclModifierListSyntax ? {
244+ nil
245+ }
246+
194247 var id : String {
195- " \( precedencegroupKeyword. withoutTrivia ( ) ) \( identifier . withoutTrivia ( ) ) "
248+ " \( precedencegroupKeyword. trimmed ) \( name . trimmed ) "
196249 }
197250}
0 commit comments