@@ -24,7 +24,6 @@ import (
24
24
"strings"
25
25
"text/template"
26
26
27
- "github.com/go-spring/gs-http-gen/gen/generator"
28
27
"github.com/go-spring/gs-http-gen/lib/tidl"
29
28
"github.com/go-spring/gs-http-gen/lib/vidl"
30
29
)
@@ -240,11 +239,14 @@ func (g *Generator) genType(ctx Context, fileName string, doc tidl.Document) err
240
239
// genComment generates the comment string
241
240
func genComment (c tidl.Comments ) string {
242
241
var comment string
243
- for _ , s := range c .Top {
244
- comment += s .Text
242
+ for _ , s := range c .Above {
243
+ comment += s .Text [ 0 ]
245
244
}
246
245
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 " )
248
250
}
249
251
return comment
250
252
}
@@ -304,7 +306,7 @@ func convertEnums(ctx Context, doc tidl.Document) ([]Enum, error) {
304
306
})
305
307
}
306
308
ret = append (ret , Enum {
307
- Name : tidl . CapitalizeASCII ( e .Name ) ,
309
+ Name : e .Name ,
308
310
Fields : fields ,
309
311
Comment : genComment (e .Comments ),
310
312
})
@@ -313,11 +315,11 @@ func convertEnums(ctx Context, doc tidl.Document) ([]Enum, error) {
313
315
if ! t .OneOf {
314
316
continue
315
317
}
316
- name := tidl . CapitalizeASCII ( t .Name ) + "Type"
318
+ name := t .Name + "Type"
317
319
var fields []EnumField
318
320
for i , f := range t .Fields {
319
321
fields = append (fields , EnumField {
320
- Name : generator .ToPascal (f .Name ),
322
+ Name : tidl .ToPascal (f .Name ),
321
323
Value : int64 (i ),
322
324
})
323
325
}
@@ -423,9 +425,7 @@ func convertResponseType(ctx Context, rpcName string, respType tidl.RespType) (T
423
425
return Type {}, fmt .Errorf ("type %s not found" , respType .TypeName )
424
426
}
425
427
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
429
429
430
430
r := tidl.Type {
431
431
Name : typeName ,
@@ -488,7 +488,7 @@ func resolveGenericType(t tidl.TypeDefinition, genericName string, r *tidl.Redef
488
488
// convertType converts an IDL struct type to a Go struct type
489
489
func convertType (ctx Context , t tidl.Type ) (Type , error ) {
490
490
r := Type {
491
- Name : tidl . CapitalizeASCII ( t .Name ) ,
491
+ Name : t .Name ,
492
492
}
493
493
494
494
if t .OneOf {
@@ -518,7 +518,7 @@ func convertType(ctx Context, t tidl.Type) (Type, error) {
518
518
}
519
519
520
520
// Get field name and Go type
521
- fieldName := generator .ToPascal (f .Name )
521
+ fieldName := tidl .ToPascal (f .Name )
522
522
typeName , err := getTypeName (ctx , f .FieldType , f .Annotations )
523
523
if err != nil {
524
524
return Type {}, err
@@ -574,7 +574,7 @@ func convertType(ctx Context, t tidl.Type) (Type, error) {
574
574
func getTypeName (ctx Context , t tidl.TypeDefinition , arr []tidl.Annotation ) (string , error ) {
575
575
576
576
// 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 {
578
578
s := strings .Trim (strings .TrimSpace (* a .Value ), "\" " )
579
579
return s , nil
580
580
}
@@ -601,13 +601,13 @@ func getTypeName(ctx Context, t tidl.TypeDefinition, arr []tidl.Annotation) (str
601
601
}
602
602
return typeName , nil
603
603
case tidl.UserType :
604
- typeName := tidl . CapitalizeASCII ( ft .Name )
604
+ typeName := ft .Name
605
605
if ft .Optional {
606
606
typeName = "*" + typeName
607
607
}
608
608
609
609
// 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 {
611
611
if _ , ok := tidl .GetEnum (ctx .files , ft .Name ); ! ok {
612
612
return "" , fmt .Errorf ("enum %s not found" , ft .Name )
613
613
}
@@ -713,7 +713,7 @@ func parseDefault(ctx Context, typeName string, v *string) (*string, error) {
713
713
if _ , ok := tidl .GetEnum (ctx .files , typeNameTrimmed ); ! ok {
714
714
return v , nil // Treat as a regular string
715
715
}
716
- s := tidl . CapitalizeASCII ( parts [0 ]) + "_" + parts [1 ]
716
+ s := parts [0 ] + "_" + parts [1 ]
717
717
if asString {
718
718
s = fmt .Sprintf ("%sAsString(%s)" , typeNameTrimmed , s )
719
719
}
@@ -727,7 +727,7 @@ func parseDefault(ctx Context, typeName string, v *string) (*string, error) {
727
727
// parseBinding parses a field's binding information from annotations.
728
728
// It supports "header", "path", or "query" annotations.
729
729
func parseBinding (arr []tidl.Annotation ) (* Binding , error ) {
730
- a , ok := tidl .GetOneOfAnnotation (arr , "header" , "path" , "query" )
730
+ a , ok := tidl .GetAnnotation (arr , "header" , "path" , "query" )
731
731
if ! ok {
732
732
return nil , nil
733
733
}
@@ -745,7 +745,7 @@ func genFieldTag(fieldName, typeName string, arr []tidl.Annotation, binding *Bin
745
745
746
746
// Generate JSON tag
747
747
jsonTag := fieldName
748
- if a , ok := tidl .GetOneOfAnnotation (arr , "json" ); ok {
748
+ if a , ok := tidl .GetAnnotation (arr , "json" ); ok {
749
749
if a .Value == nil {
750
750
return "" , fmt .Errorf ("annotation json value is nil" )
751
751
}
@@ -801,7 +801,7 @@ var builtinFuncs = map[string]struct{}{
801
801
// It returns a Go code snippet for validating the field.
802
802
func genValidate (receiverType , fieldName , fieldType string , arr []tidl.Annotation , funcs map [string ]ValidateFunc ) (* string , error ) {
803
803
optional := strings .HasPrefix (fieldType , "*" )
804
- a , ok := tidl .GetOneOfAnnotation (arr , "validate" )
804
+ a , ok := tidl .GetAnnotation (arr , "validate" )
805
805
if ! ok {
806
806
return nil , nil
807
807
}
0 commit comments