@@ -230,11 +230,16 @@ func (p *GoPrinter) VisitMethodDeclaration(md *tree.MethodDeclaration, param any
230230func (p * GoPrinter ) printParamList (params tree.Container [tree.Statement ], out * PrintOutputCapture ) {
231231 p .visitSpace (params .Before , out )
232232 out .Append ("(" )
233+ tc := tree.FindMarker [tree.TrailingComma ](params .Markers )
233234 for i , rp := range params .Elements {
234235 p .Visit (rp .Element , out )
235236 if i < len (params .Elements )- 1 {
236237 p .visitSpace (rp .After , out )
237238 out .Append ("," )
239+ } else if tc != nil {
240+ p .visitSpace (tc .Before , out )
241+ out .Append ("," )
242+ p .visitSpace (tc .After , out )
238243 } else {
239244 p .visitSpace (rp .After , out )
240245 }
@@ -792,16 +797,7 @@ func (p *GoPrinter) VisitFuncType(ft *tree.FuncType, param any) tree.J {
792797 out := param .(* PrintOutputCapture )
793798 p .beforeSyntax (ft .Prefix , ft .Markers , out )
794799 out .Append ("func" )
795- p .visitSpace (ft .Parameters .Before , out )
796- out .Append ("(" )
797- for i , rp := range ft .Parameters .Elements {
798- p .Visit (rp .Element , out )
799- if i < len (ft .Parameters .Elements )- 1 {
800- p .visitSpace (rp .After , out )
801- out .Append ("," )
802- }
803- }
804- out .Append (")" )
800+ p .printParamList (ft .Parameters , out )
805801 if ft .ReturnType != nil {
806802 p .Visit (ft .ReturnType , out )
807803 }
0 commit comments