From 0600315e6977e21edb0d6315267034bdf93e196c Mon Sep 17 00:00:00 2001 From: adman Date: Wed, 6 May 2026 16:51:45 +0200 Subject: [PATCH] refactor: move utility functions to dedicated `util` package and adjust references --- proto_generator/main.go | 18 +++++++++--------- proto_generator/native_compare_to.go | 8 ++++---- proto_generator/native_decoder.go | 4 ++-- proto_generator/native_encoder.go | 4 ++-- {proto_generator => util}/utils.go | 2 +- 5 files changed, 18 insertions(+), 18 deletions(-) rename {proto_generator => util}/utils.go (98%) diff --git a/proto_generator/main.go b/proto_generator/main.go index dac17a7..270e6de 100644 --- a/proto_generator/main.go +++ b/proto_generator/main.go @@ -198,7 +198,7 @@ func FixPointerReceivers(e ast.Expr) (td ast.Expr, ret ast.Expr) { func (g *Generator) GenerateTypes(prefix string, types Types) (err error) { g.CurrentlyGeneratingTypes = types g.CurrentlyGeneratingTypesPrefix = prefix - for _, k := range OrderedKeys(types.Types) { + for _, k := range util.OrderedKeys(types.Types) { v := types.Types[k] g.Depth = 0 e, err2 := g.VisitType(v) @@ -267,11 +267,11 @@ func (g *Generator) GenerateProtocol(protocol Protocol, version string) (err err } // Move common packet to their own areas to make packets more identifiable - for _, k := range OrderedKeys(protocol.Types.Types) { + for _, k := range util.OrderedKeys(protocol.Types.Types) { v := protocol.Types.Types[k] if strings.Contains(k, "packet") { delete(protocol.Types.Types, k) - for _, prefix := range OrderedKeys(prefixTypeMap) { + for _, prefix := range util.OrderedKeys(prefixTypeMap) { types := prefixTypeMap[prefix] if prefix == "" { continue @@ -281,18 +281,18 @@ func (g *Generator) GenerateProtocol(protocol Protocol, version string) (err err } } - for _, prefix := range OrderedKeys(prefixTypeMap) { + for _, prefix := range util.OrderedKeys(prefixTypeMap) { types := prefixTypeMap[prefix] - for _, k := range OrderedKeys(types.Types.Types) { + for _, k := range util.OrderedKeys(types.Types.Types) { typeData := types.Types.Types[k] if k != "packet" { continue } packetIds := typeData.([]any)[1].([]any)[0].(map[string]any)["type"].([]any)[1].(map[string]any)["mappings"].(map[string]any) - packetIdsStrings := AssertAndConvertMapValues[string](packetIds) - packetIdsRev := ReverseMap(packetIdsStrings) + packetIdsStrings := util.AssertAndConvertMapValues[string](packetIds) + packetIdsRev := util.ReverseMap(packetIdsStrings) v := typeData.([]any)[1].([]any)[1].(map[string]any)["type"].([]any)[1].(map[string]any)["fields"].(map[string]any) - for _, k2 := range OrderedKeys(v) { + for _, k2 := range util.OrderedKeys(v) { v2 := v[k2].(string) typeName := prefix + util.CamelCase(v2) g.packetInfos = append(g.packetInfos, PacketInfo{ @@ -309,7 +309,7 @@ func (g *Generator) GenerateProtocol(protocol Protocol, version string) (err err } } - for _, prefix := range OrderedKeys(prefixTypeMap) { + for _, prefix := range util.OrderedKeys(prefixTypeMap) { types := prefixTypeMap[prefix] err = g.GenerateTypes(prefix, types.Types) if err != nil { diff --git a/proto_generator/native_compare_to.go b/proto_generator/native_compare_to.go index 198dc14..39475bb 100644 --- a/proto_generator/native_compare_to.go +++ b/proto_generator/native_compare_to.go @@ -21,7 +21,7 @@ func (g *Generator) ParseCompareTo(compareTo string) (e ast.Expr, cet CaseExprTy } parts = parts[downPrefixCount:] startingPoint := g.ContainerStack[len(g.ContainerStack)-downPrefixCount-1] - e, cet, err = g.VisitCompareTo(parts, startingPoint.VarToSet, CombineNamAndData("container", startingPoint.Data)) + e, cet, err = g.VisitCompareTo(parts, startingPoint.VarToSet, util.CombineNamAndData("container", startingPoint.Data)) // return ParseCompareToLegacy(compareTo, varToSet) return } @@ -46,7 +46,7 @@ func ContainerCompareTo(g *Generator, parts []string, inExpr ast.Expr, dataRaw a return } - name, parts, ok := PopFront(parts) + name, parts, ok := util.PopFront(parts) if !ok { err = errors.New("expected name part") return @@ -70,7 +70,7 @@ func BitfieldCompareTo(_ *Generator, parts []string, inExpr ast.Expr, dataRaw an if err != nil { return } - fieldName, parts, found := PopFront(parts) + fieldName, parts, found := util.PopFront(parts) if !found { err = errors.New("expected name part") return @@ -98,7 +98,7 @@ func BitflagsCompareTo(_ *Generator, parts []string, inExpr ast.Expr, dataRaw an if err != nil { return } - name, parts, ok := PopFront(parts) + name, parts, ok := util.PopFront(parts) if !ok { err = errors.New("expected name part") return diff --git a/proto_generator/native_decoder.go b/proto_generator/native_decoder.go index c55c5e4..ed1c6b6 100644 --- a/proto_generator/native_decoder.go +++ b/proto_generator/native_decoder.go @@ -249,7 +249,7 @@ func SwitchDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s if err != nil { return } - for _, fName := range OrderedKeys(data.Fields) { + for _, fName := range util.OrderedKeys(data.Fields) { fType := data.Fields[fName] e := MultiTypeFix(fName, &cet) if e == nil { @@ -324,7 +324,7 @@ func MapperDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s mName := name + "Map" expressions := Exprs() - for _, k := range OrderedKeys(data.Mappings) { + for _, k := range util.OrderedKeys(data.Mappings) { v := data.Mappings[k] expressions = append(expressions, KeyValueExpr(NumLitStr(k), StrLit(v))) } diff --git a/proto_generator/native_encoder.go b/proto_generator/native_encoder.go index 560521b..b41db56 100644 --- a/proto_generator/native_encoder.go +++ b/proto_generator/native_encoder.go @@ -201,7 +201,7 @@ func SwitchEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s if err != nil { return } - for _, fName := range OrderedKeys(data.Fields) { + for _, fName := range util.OrderedKeys(data.Fields) { fType := data.Fields[fName] e := MultiTypeFix(fName, &cet) if e == nil { @@ -275,7 +275,7 @@ func MapperEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s mName := name + "ReverseMap" exprs := Exprs() - for _, k := range OrderedKeys(data.Mappings) { + for _, k := range util.OrderedKeys(data.Mappings) { v := data.Mappings[k] exprs = append(exprs, KeyValueExpr(StrLit(v), NumLitStr(k))) } diff --git a/proto_generator/utils.go b/util/utils.go similarity index 98% rename from proto_generator/utils.go rename to util/utils.go index 310d275..98edce3 100644 --- a/proto_generator/utils.go +++ b/util/utils.go @@ -1,4 +1,4 @@ -package main +package util import ( "cmp"