(goctl): fix nested struct generation (#4281)

This commit is contained in:
kesonan
2024-07-28 23:40:25 +08:00
committed by GitHub
parent eeda6efae7
commit ee643a945e
6 changed files with 32 additions and 17 deletions

View File

@@ -54,7 +54,7 @@ func (a *Analyzer) astTypeToSpec(in ast.DataType) (spec.Type, error) {
return nil, ast.SyntaxError(v.Pos(), "unsupported empty struct")
}
return spec.DefineStruct{
return spec.NestedStruct{
RawName: v.RawText(),
Members: members,
}, nil
@@ -347,14 +347,12 @@ func (a *Analyzer) fillTypes() error {
for _, member := range v.Members {
switch v := member.Type.(type) {
case spec.DefineStruct:
if !v.IsNestedStruct() {
tp, err := a.findDefinedType(v.RawName)
if err != nil {
return err
}
member.Type = tp
tp, err := a.findDefinedType(v.RawName)
if err != nil {
return err
}
member.Type = tp
}
members = append(members, member)
}