Skip to content

Commit

Permalink
Refactoring (swaggo#708):
Browse files Browse the repository at this point in the history
- moved "if" statement out of the method
- renamed fillDefinition → fillDefinitionDescription
  • Loading branch information
KuboOrk committed Jan 20, 2022
1 parent fb46423 commit 11237d1
Showing 1 changed file with 17 additions and 16 deletions.
33 changes: 17 additions & 16 deletions parser.go
Expand Up @@ -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,
Expand All @@ -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)
}
}
}
Expand Down

0 comments on commit 11237d1

Please sign in to comment.