From 0240e182c68574b1d56bff7b053f350a7ce063af Mon Sep 17 00:00:00 2001 From: eyalpost Date: Fri, 9 Jun 2017 10:15:36 +0300 Subject: [PATCH] correctly handle multiple params with same type --- parser.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/parser.go b/parser.go index a9cfd894..fda83cb7 100644 --- a/parser.go +++ b/parser.go @@ -135,15 +135,16 @@ func parserComments(f *ast.FuncDecl, controllerName, pkgpath string) error { func buildMethodParams(funcParams []*ast.Field, pc *parsedComment) []*param.MethodParam { result := make([]*param.MethodParam, 0, len(funcParams)) for _, fparam := range funcParams { - methodParam := buildMethodParam(fparam, pc) - result = append(result, methodParam) + for _, pName := range fparam.Names { + methodParam := buildMethodParam(fparam, pName.Name, pc) + result = append(result, methodParam) + } } return result } -func buildMethodParam(fparam *ast.Field, pc *parsedComment) *param.MethodParam { +func buildMethodParam(fparam *ast.Field, name string, pc *parsedComment) *param.MethodParam { options := []param.MethodParamOption{} - name := fparam.Names[0].Name if cparam, ok := pc.params[name]; ok { //Build param from comment info name = cparam.name