@@ -24,7 +24,6 @@ import (
2424 "strings"
2525 "text/template"
2626
27- "github.com/go-spring/gs-http-gen/gen/generator"
2827 "github.com/go-spring/gs-http-gen/lib/tidl"
2928 "github.com/go-spring/gs-http-gen/lib/vidl"
3029)
@@ -240,11 +239,14 @@ func (g *Generator) genType(ctx Context, fileName string, doc tidl.Document) err
240239// genComment generates the comment string
241240func genComment (c tidl.Comments ) string {
242241 var comment string
243- for _ , s := range c .Top {
244- comment += s .Text
242+ for _ , s := range c .Above {
243+ comment += s .Text [ 0 ]
245244 }
246245 if c .Right != nil {
247- comment += "\n " + c .Right .Text
246+ if c .Above != nil {
247+ comment += "\n "
248+ }
249+ comment += strings .Join (c .Right .Text , "\n " )
248250 }
249251 return comment
250252}
@@ -304,7 +306,7 @@ func convertEnums(ctx Context, doc tidl.Document) ([]Enum, error) {
304306 })
305307 }
306308 ret = append (ret , Enum {
307- Name : tidl . CapitalizeASCII ( e .Name ) ,
309+ Name : e .Name ,
308310 Fields : fields ,
309311 Comment : genComment (e .Comments ),
310312 })
@@ -313,11 +315,11 @@ func convertEnums(ctx Context, doc tidl.Document) ([]Enum, error) {
313315 if ! t .OneOf {
314316 continue
315317 }
316- name := tidl . CapitalizeASCII ( t .Name ) + "Type"
318+ name := t .Name + "Type"
317319 var fields []EnumField
318320 for i , f := range t .Fields {
319321 fields = append (fields , EnumField {
320- Name : generator .ToPascal (f .Name ),
322+ Name : tidl .ToPascal (f .Name ),
321323 Value : int64 (i ),
322324 })
323325 }
@@ -423,9 +425,7 @@ func convertResponseType(ctx Context, rpcName string, respType tidl.RespType) (T
423425 return Type {}, fmt .Errorf ("type %s not found" , respType .TypeName )
424426 }
425427
426- typeName := tidl .CapitalizeASCII (rpcName )
427- typeName += tidl .CapitalizeASCII (t .Name )
428- typeName += tidl .CapitalizeASCII (respType .UserType .Name )
428+ typeName := rpcName + t .Name + respType .UserType .Name
429429
430430 r := tidl.Type {
431431 Name : typeName ,
@@ -488,7 +488,7 @@ func resolveGenericType(t tidl.TypeDefinition, genericName string, r *tidl.Redef
488488// convertType converts an IDL struct type to a Go struct type
489489func convertType (ctx Context , t tidl.Type ) (Type , error ) {
490490 r := Type {
491- Name : tidl . CapitalizeASCII ( t .Name ) ,
491+ Name : t .Name ,
492492 }
493493
494494 if t .OneOf {
@@ -518,7 +518,7 @@ func convertType(ctx Context, t tidl.Type) (Type, error) {
518518 }
519519
520520 // Get field name and Go type
521- fieldName := generator .ToPascal (f .Name )
521+ fieldName := tidl .ToPascal (f .Name )
522522 typeName , err := getTypeName (ctx , f .FieldType , f .Annotations )
523523 if err != nil {
524524 return Type {}, err
@@ -574,7 +574,7 @@ func convertType(ctx Context, t tidl.Type) (Type, error) {
574574func getTypeName (ctx Context , t tidl.TypeDefinition , arr []tidl.Annotation ) (string , error ) {
575575
576576 // Handle go.type annotation
577- if a , ok := tidl .GetOneOfAnnotation (arr , "go.type" ); ok && a .Value != nil {
577+ if a , ok := tidl .GetAnnotation (arr , "go.type" ); ok && a .Value != nil {
578578 s := strings .Trim (strings .TrimSpace (* a .Value ), "\" " )
579579 return s , nil
580580 }
@@ -601,13 +601,13 @@ func getTypeName(ctx Context, t tidl.TypeDefinition, arr []tidl.Annotation) (str
601601 }
602602 return typeName , nil
603603 case tidl.UserType :
604- typeName := tidl . CapitalizeASCII ( ft .Name )
604+ typeName := ft .Name
605605 if ft .Optional {
606606 typeName = "*" + typeName
607607 }
608608
609609 // Handle enum_as_string annotation
610- if _ , ok := tidl .GetOneOfAnnotation (arr , "enum_as_string" ); ok {
610+ if _ , ok := tidl .GetAnnotation (arr , "enum_as_string" ); ok {
611611 if _ , ok := tidl .GetEnum (ctx .files , ft .Name ); ! ok {
612612 return "" , fmt .Errorf ("enum %s not found" , ft .Name )
613613 }
@@ -713,7 +713,7 @@ func parseDefault(ctx Context, typeName string, v *string) (*string, error) {
713713 if _ , ok := tidl .GetEnum (ctx .files , typeNameTrimmed ); ! ok {
714714 return v , nil // Treat as a regular string
715715 }
716- s := tidl . CapitalizeASCII ( parts [0 ]) + "_" + parts [1 ]
716+ s := parts [0 ] + "_" + parts [1 ]
717717 if asString {
718718 s = fmt .Sprintf ("%sAsString(%s)" , typeNameTrimmed , s )
719719 }
@@ -727,7 +727,7 @@ func parseDefault(ctx Context, typeName string, v *string) (*string, error) {
727727// parseBinding parses a field's binding information from annotations.
728728// It supports "header", "path", or "query" annotations.
729729func parseBinding (arr []tidl.Annotation ) (* Binding , error ) {
730- a , ok := tidl .GetOneOfAnnotation (arr , "header" , "path" , "query" )
730+ a , ok := tidl .GetAnnotation (arr , "header" , "path" , "query" )
731731 if ! ok {
732732 return nil , nil
733733 }
@@ -745,7 +745,7 @@ func genFieldTag(fieldName, typeName string, arr []tidl.Annotation, binding *Bin
745745
746746 // Generate JSON tag
747747 jsonTag := fieldName
748- if a , ok := tidl .GetOneOfAnnotation (arr , "json" ); ok {
748+ if a , ok := tidl .GetAnnotation (arr , "json" ); ok {
749749 if a .Value == nil {
750750 return "" , fmt .Errorf ("annotation json value is nil" )
751751 }
@@ -801,7 +801,7 @@ var builtinFuncs = map[string]struct{}{
801801// It returns a Go code snippet for validating the field.
802802func genValidate (receiverType , fieldName , fieldType string , arr []tidl.Annotation , funcs map [string ]ValidateFunc ) (* string , error ) {
803803 optional := strings .HasPrefix (fieldType , "*" )
804- a , ok := tidl .GetOneOfAnnotation (arr , "validate" )
804+ a , ok := tidl .GetAnnotation (arr , "validate" )
805805 if ! ok {
806806 return nil , nil
807807 }
0 commit comments