File tree Expand file tree Collapse file tree 5 files changed +508
-20
lines changed
Sources/SwiftMockGenerator
Generators/Implementations
Tests/SwiftMockGeneratorTests Expand file tree Collapse file tree 5 files changed +508
-20
lines changed Original file line number Diff line number Diff line change @@ -312,12 +312,16 @@ public class DummyGenerator: MockGeneratorProtocol {
312312
313313 private func generateParameterList( _ parameters: [ ParameterElement ] ) -> String {
314314 return parameters. map { parameter in
315- let externalName = parameter. externalName ?? parameter. internalName
316315 let inoutKeyword = parameter. isInout ? " inout " : " "
317316 let variadicMarker = parameter. isVariadic ? " ... " : " "
318317 let defaultValueClause = parameter. defaultValue. map { " = \( $0) " } ?? " "
319318
320- return " \( externalName) \( parameter. internalName) : \( inoutKeyword) \( parameter. type) \( variadicMarker) \( defaultValueClause) "
319+ // If externalName exists, use it; otherwise use internal name without duplication
320+ if let externalName = parameter. externalName {
321+ return " \( externalName) \( parameter. internalName) : \( inoutKeyword) \( parameter. type) \( variadicMarker) \( defaultValueClause) "
322+ } else {
323+ return " \( parameter. internalName) : \( inoutKeyword) \( parameter. type) \( variadicMarker) \( defaultValueClause) "
324+ }
321325 } . joined ( separator: " , " )
322326 }
323327
Original file line number Diff line number Diff line change @@ -412,12 +412,16 @@ public class SpyGenerator: MockGeneratorProtocol {
412412
413413 private func generateParameterList( _ parameters: [ ParameterElement ] ) -> String {
414414 return parameters. map { parameter in
415- let externalName = parameter. externalName ?? parameter. internalName
416415 let inoutKeyword = parameter. isInout ? " inout " : " "
417416 let variadicMarker = parameter. isVariadic ? " ... " : " "
418417 let defaultValueClause = parameter. defaultValue. map { " = \( $0) " } ?? " "
419418
420- return " \( externalName) \( parameter. internalName) : \( inoutKeyword) \( parameter. type) \( variadicMarker) \( defaultValueClause) "
419+ // If externalName exists, use it; otherwise use internal name without duplication
420+ if let externalName = parameter. externalName {
421+ return " \( externalName) \( parameter. internalName) : \( inoutKeyword) \( parameter. type) \( variadicMarker) \( defaultValueClause) "
422+ } else {
423+ return " \( parameter. internalName) : \( inoutKeyword) \( parameter. type) \( variadicMarker) \( defaultValueClause) "
424+ }
421425 } . joined ( separator: " , " )
422426 }
423427
Original file line number Diff line number Diff line change @@ -363,12 +363,16 @@ public class StubGenerator: MockGeneratorProtocol {
363363
364364 private func generateParameterList( _ parameters: [ ParameterElement ] ) -> String {
365365 return parameters. map { parameter in
366- let externalName = parameter. externalName ?? parameter. internalName
367366 let inoutKeyword = parameter. isInout ? " inout " : " "
368367 let variadicMarker = parameter. isVariadic ? " ... " : " "
369368 let defaultValueClause = parameter. defaultValue. map { " = \( $0) " } ?? " "
370369
371- return " \( externalName) \( parameter. internalName) : \( inoutKeyword) \( parameter. type) \( variadicMarker) \( defaultValueClause) "
370+ // If externalName exists, use it; otherwise use internal name without duplication
371+ if let externalName = parameter. externalName {
372+ return " \( externalName) \( parameter. internalName) : \( inoutKeyword) \( parameter. type) \( variadicMarker) \( defaultValueClause) "
373+ } else {
374+ return " \( parameter. internalName) : \( inoutKeyword) \( parameter. type) \( variadicMarker) \( defaultValueClause) "
375+ }
372376 } . joined ( separator: " , " )
373377 }
374378
Original file line number Diff line number Diff line change @@ -294,12 +294,15 @@ public class AnnotationVisitor: SyntaxVisitor {
294294
295295 private func parseParameterClause( _ clause: FunctionParameterClauseSyntax ) -> [ ParameterElement ] {
296296 return clause. parameters. map { parameter in
297- let externalName = parameter. firstName. text
297+ let firstName = parameter. firstName. text
298298 let internalName = parameter. secondName? . text ?? parameter. firstName. text
299299 let type = parameter. type. description. trimmingCharacters ( in: . whitespaces)
300300
301+ // External name is only different if there's a second name or the first name is not empty
302+ let externalName = parameter. secondName != nil ? firstName : nil
303+
301304 return ParameterElement (
302- externalName: externalName == internalName ? nil : externalName ,
305+ externalName: externalName,
303306 internalName: internalName,
304307 type: type,
305308 defaultValue: nil ,
You can’t perform that action at this time.
0 commit comments