message-size-increase #3
@ -183,11 +183,11 @@ func (this *Generator) generateTypedef(name string, typ Type) (n int, err error)
|
|||||||
nn, err = this.printf(") {\n")
|
nn, err = this.printf(") {\n")
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
this.push()
|
this.push()
|
||||||
nn, err = this.iprintf("nn, err = tape.Skim(decoder, tag)")
|
nn, err = this.iprintf("nn, err = tape.Skim(decoder, tag)\n")
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
nn, err = this.generateErrorCheck()
|
nn, err = this.generateErrorCheck()
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
nn, err = this.iprintf("return n, nil")
|
nn, err = this.iprintf("return n, nil\n")
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
this.pop()
|
this.pop()
|
||||||
nn, err = this.iprintf("}\n")
|
nn, err = this.iprintf("}\n")
|
||||||
@ -272,11 +272,11 @@ func (this *Generator) generateMessage(method uint16, message Message) (n int, e
|
|||||||
nn, err = this.printf(") {\n")
|
nn, err = this.printf(") {\n")
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
this.push()
|
this.push()
|
||||||
nn, err = this.iprintf("nn, err = tape.Skim(decoder, tag)")
|
nn, err = this.iprintf("nn, err = tape.Skim(decoder, tag)\n")
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
nn, err = this.generateErrorCheck()
|
nn, err = this.generateErrorCheck()
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
nn, err = this.iprintf("return n, nil")
|
nn, err = this.iprintf("return n, nil\n")
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
this.pop()
|
this.pop()
|
||||||
nn, err = this.iprintf("}\n")
|
nn, err = this.iprintf("}\n")
|
||||||
@ -589,11 +589,11 @@ func (this *Generator) generateDecodeBranchCall(typ Type, valueSource, tagSource
|
|||||||
// generateDecodeBranch generates an aggregate decoder function definition for a
|
// generateDecodeBranch generates an aggregate decoder function definition for a
|
||||||
// specified type. It assumes that hash == HashType(typ).
|
// specified type. It assumes that hash == HashType(typ).
|
||||||
func (this *Generator) generateDecodeBranch(hash [16]byte, typ Type) (n int, err error) {
|
func (this *Generator) generateDecodeBranch(hash [16]byte, typ Type) (n int, err error) {
|
||||||
nn, err := this.iprintf("func %s(this *", this.decodeBranchName(hash))
|
nn, err := this.iprintf("\nfunc %s(this *", this.decodeBranchName(hash))
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
nn, err = this.generateType(typ)
|
nn, err = this.generateType(typ)
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
nn, err = this.printf(" decoder *tape.Decoder, tag tape.Tag) (nn int, err error) \n{")
|
nn, err = this.printf(", decoder *tape.Decoder, tag tape.Tag) (nn int, err error) {\n")
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
this.push()
|
this.push()
|
||||||
|
|
||||||
@ -625,7 +625,7 @@ func (this *Generator) generateDecodeBranch(hash [16]byte, typ Type) (n int, err
|
|||||||
nn, err = this.iprintf("for _ = range %s {\n", lengthVar)
|
nn, err = this.iprintf("for _ = range %s {\n", lengthVar)
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
this.push()
|
this.push()
|
||||||
nn, err = this.iprintf("nn, err = tape.Skim(decoder, %s)", elementTagVar)
|
nn, err = this.iprintf("nn, err = tape.Skim(decoder, %s)\n", elementTagVar)
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
nn, err = this.generateErrorCheck()
|
nn, err = this.generateErrorCheck()
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
@ -712,7 +712,7 @@ func (this *Generator) generateDecodeBranch(hash [16]byte, typ Type) (n int, err
|
|||||||
|
|
||||||
// abort field macro
|
// abort field macro
|
||||||
abortField := func() (n int, err error) {
|
abortField := func() (n int, err error) {
|
||||||
nn, err = this.iprintf("tape.Skim(decoder, %s)", fieldTagVar)
|
nn, err = this.iprintf("tape.Skim(decoder, %s)\n", fieldTagVar)
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
nn, err = this.iprintf("continue")
|
nn, err = this.iprintf("continue")
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
@ -722,7 +722,6 @@ func (this *Generator) generateDecodeBranch(hash [16]byte, typ Type) (n int, err
|
|||||||
// switch on tag
|
// switch on tag
|
||||||
nn, err = this.iprintf("switch %s {\n", fieldTagVar)
|
nn, err = this.iprintf("switch %s {\n", fieldTagVar)
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
this.push()
|
|
||||||
for _, key := range slices.Sorted(maps.Keys(typ.Fields)) {
|
for _, key := range slices.Sorted(maps.Keys(typ.Fields)) {
|
||||||
field := typ.Fields[key]
|
field := typ.Fields[key]
|
||||||
nn, err = this.iprintf("case %s:\n", fieldTagVar)
|
nn, err = this.iprintf("case %s:\n", fieldTagVar)
|
||||||
@ -772,7 +771,7 @@ func (this *Generator) generateDecodeBranch(hash [16]byte, typ Type) (n int, err
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.pop()
|
this.pop()
|
||||||
nn, err = this.iprintf("}")
|
nn, err = this.iprintf("}\n")
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
return n, nil
|
return n, nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user