Refactor: Remove VarInt type, replace with int32, and consolidate encoding/decoding logic
This commit is contained in:
@@ -468,7 +468,11 @@ func RegistryEntryHolderDecoder(g *Generator, varToSet ast.Expr, dataRaw any, na
|
||||
return
|
||||
}
|
||||
idName := name + "Id"
|
||||
IdVar := VarStmt(idName, Selector("proto_base", "VarInt"))
|
||||
varIntType, err := g.VisitNameAndData("varint", nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
IdVar := VarStmt(idName, varIntType)
|
||||
idDecodeStatements, err := g.VisitDecoder(Ident(idName), "varint", name)
|
||||
if err != nil {
|
||||
return
|
||||
@@ -498,6 +502,11 @@ func RegistryEntryHolderDecoder(g *Generator, varToSet ast.Expr, dataRaw any, na
|
||||
return
|
||||
}
|
||||
|
||||
func VarIntDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s []ast.Stmt, err error) {
|
||||
s = Stmts(Assign(Exprs(varToSet, Ident("err")), Exprs(Call(Selector("proto_base", "DecodeVarInt"), Ident("r")))), IfErrNil())
|
||||
return
|
||||
}
|
||||
|
||||
func (g *Generator) RegisterDecoderNatives() {
|
||||
g.DecoderNatives = map[string]FunctionGeneratorFunc{
|
||||
"container": ContainerDecoder,
|
||||
@@ -511,7 +520,7 @@ func (g *Generator) RegisterDecoderNatives() {
|
||||
"string": StringDecoder,
|
||||
|
||||
"void": DefaultDecoder,
|
||||
"varint": DefaultDecoder,
|
||||
"varint": VarIntDecoder,
|
||||
"anonymousNbt": DefaultDecoder,
|
||||
"anonOptionalNbt": DefaultDecoder, // I have no idea what the difference is between these two
|
||||
"UUID": UUIDDecoder,
|
||||
|
||||
@@ -315,6 +315,11 @@ func RegistryEntryHolderEncoder(g *Generator, varToSet ast.Expr, dataRaw any, na
|
||||
return
|
||||
}
|
||||
|
||||
func VarIntEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s []ast.Stmt, err error) {
|
||||
s = Stmts(Assign121(Ident("err"), Call(Selector("proto_base", "EncodeVarInt"), Ident("w"), varToSet)), IfErrNil())
|
||||
return
|
||||
}
|
||||
|
||||
func (g *Generator) RegisterEncoderNatives() {
|
||||
g.EncoderNatives = map[string]FunctionGeneratorFunc{
|
||||
"container": ContainerEncoder,
|
||||
@@ -327,7 +332,7 @@ func (g *Generator) RegisterEncoderNatives() {
|
||||
"bitfield": BitFieldEncoder,
|
||||
|
||||
"void": DefaultEncoder,
|
||||
"varint": DefaultEncoder,
|
||||
"varint": VarIntEncoder,
|
||||
"anonymousNbt": DefaultEncoder,
|
||||
"anonOptionalNbt": DefaultEncoder, // I have no idea what the difference is between these two
|
||||
"UUID": UUIDEncoder,
|
||||
|
||||
@@ -157,7 +157,7 @@ func (g *Generator) RegisterNatives() {
|
||||
g.Natives = map[string]ExprGeneratorFunc{
|
||||
"container": VisitContainerType,
|
||||
"buffer": VisitBufferType,
|
||||
"varint": MakeSelectorVisitor("proto_base", "VarInt"),
|
||||
"varint": MakeIdentVisitor("int32"),
|
||||
"array": VisitArrayTypeVisitorType,
|
||||
"mapper": MakeIdentVisitor("string"),
|
||||
"native": VisitDontGenerateType,
|
||||
|
||||
Reference in New Issue
Block a user