From 4305da2f3f1b91166c0933bafad30de38bdd064b Mon Sep 17 00:00:00 2001 From: astaxie Date: Fri, 1 Aug 2014 23:40:48 +0800 Subject: [PATCH] fix analisys bug --- g_docs.go | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/g_docs.go b/g_docs.go index 552b63e..53273bd 100644 --- a/g_docs.go +++ b/g_docs.go @@ -156,32 +156,35 @@ func generateDocs(curpath string) { switch smtp := l.(type) { case *ast.AssignStmt: for _, l := range smtp.Rhs { - f, params := analisysNewNamespace(l.(*ast.CallExpr)) - globalDocsTemplate = strings.Replace(globalDocsTemplate, "{{.version}}", f, -1) - for _, p := range params { - switch pp := p.(type) { - case *ast.CallExpr: - if selname := pp.Fun.(*ast.SelectorExpr).Sel.String(); selname == "NSNamespace" { - s, params := analisysNewNamespace(pp) - subapi := swagger.ApiRef{Path: s} - controllerName := "" - for _, sp := range params { - switch pp := sp.(type) { - case *ast.CallExpr: - if pp.Fun.(*ast.SelectorExpr).Sel.String() == "NSInclude" { - controllerName = analisysNSInclude(s, pp) + if v, ok := l.(*ast.CallExpr); ok { + f, params := analisysNewNamespace(v) + globalDocsTemplate = strings.Replace(globalDocsTemplate, "{{.version}}", f, -1) + for _, p := range params { + switch pp := p.(type) { + case *ast.CallExpr: + if selname := pp.Fun.(*ast.SelectorExpr).Sel.String(); selname == "NSNamespace" { + s, params := analisysNewNamespace(pp) + subapi := swagger.ApiRef{Path: s} + controllerName := "" + for _, sp := range params { + switch pp := sp.(type) { + case *ast.CallExpr: + if pp.Fun.(*ast.SelectorExpr).Sel.String() == "NSInclude" { + controllerName = analisysNSInclude(s, pp) + } } } + if v, ok := controllerComments[controllerName]; ok { + subapi.Description = v + } + rootapi.Apis = append(rootapi.Apis, subapi) + } else if selname == "NSInclude" { + analisysNSInclude(f, pp) } - if v, ok := controllerComments[controllerName]; ok { - subapi.Description = v - } - rootapi.Apis = append(rootapi.Apis, subapi) - } else if selname == "NSInclude" { - analisysNSInclude(f, pp) } } } + } } }