| 439 | } |
| 440 | |
| 441 | func lessFieldInfoIdentifier(f1, f2 *FieldInfo) bool { |
| 442 | f1HasTag := f1.HasTagID |
| 443 | f2HasTag := f2.HasTagID |
| 444 | if f1HasTag && f2HasTag { |
| 445 | if f1.TagID != f2.TagID { |
| 446 | return f1.TagID < f2.TagID |
| 447 | } |
| 448 | } else if f1HasTag { |
| 449 | return true |
| 450 | } else if f2HasTag { |
| 451 | return false |
| 452 | } |
| 453 | if f1.SnakeName != f2.SnakeName { |
| 454 | return f1.SnakeName < f2.SnakeName |
| 455 | } |
| 456 | return f1.GoName < f2.GoName |
| 457 | } |
| 458 | |
| 459 | // getStructNames extracts struct names from StructInfo slice |
| 460 | func getStructNames(structs []*StructInfo) []string { |