From 11237d1a49fbc0c50318d38d5ddc29563fbfe846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D1=83=D1=81=D0=B5=D0=B2=20=D0=98=D0=BB=D1=8C=D1=8F?= Date: Thu, 20 Jan 2022 16:02:16 +0300 Subject: [PATCH] =?UTF-8?q?Refactoring=20(#708):=20-=20moved=20"if"=20stat?= =?UTF-8?q?ement=20out=20of=20the=20method=20-=20renamed=20fillDefinition?= =?UTF-8?q?=20=E2=86=92=20fillDefinitionDescription?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parser.go | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/parser.go b/parser.go index 4cde7b32d..d9e9b49ad 100644 --- a/parser.go +++ b/parser.go @@ -954,7 +954,9 @@ func (parser *Parser) ParseDefinition(typeSpecDef *TypeSpecDef) (*Schema, error) return nil, err } - fillDefinition(definition, typeSpecDef.File, typeSpecDef) + if definition.Description == "" { + fillDefinitionDescription(definition, typeSpecDef.File, typeSpecDef) + } s := Schema{ Name: refTypeName, @@ -980,25 +982,24 @@ func fullTypeName(pkgName, typeName string) string { return typeName } -// fillDefinition additionally fills fields in definition (spec.Schema) +// fillDefinitionDescription additionally fills fields in definition (spec.Schema) // TODO: If .go file contains many types, it may work for a long time -func fillDefinition(definition *spec.Schema, file *ast.File, typeSpecDef *TypeSpecDef) { - if definition.Description == "" { - for _, astDeclaration := range file.Decls { - generalDeclaration, ok := astDeclaration.(*ast.GenDecl) - if !ok || generalDeclaration.Tok != token.TYPE { - continue - } +func fillDefinitionDescription(definition *spec.Schema, file *ast.File, typeSpecDef *TypeSpecDef) { - for _, astSpec := range generalDeclaration.Specs { - typeSpec, ok := astSpec.(*ast.TypeSpec) - if !ok || typeSpec != typeSpecDef.TypeSpec { - continue - } + for _, astDeclaration := range file.Decls { + generalDeclaration, ok := astDeclaration.(*ast.GenDecl) + if !ok || generalDeclaration.Tok != token.TYPE { + continue + } - definition.Description = - extractDeclarationDescription(typeSpec.Doc, typeSpec.Comment, generalDeclaration.Doc) + for _, astSpec := range generalDeclaration.Specs { + typeSpec, ok := astSpec.(*ast.TypeSpec) + if !ok || typeSpec != typeSpecDef.TypeSpec { + continue } + + definition.Description = + extractDeclarationDescription(typeSpec.Doc, typeSpec.Comment, generalDeclaration.Doc) } } }