generate: Generator compiles

This commit is contained in:
Sasha Koshka 2025-08-06 20:19:31 -04:00
parent a270c22cb9
commit 57c30ac669

View File

@ -628,7 +628,7 @@ func (this *Generator) generateDecodeBranch(hash [16]byte, typ Type, typeName st
nn, err = this.generateErrorCheck()
n += nn; if err != nil { return n, err }
elementTagVar := this.newTemporaryVar("elementTag")
nn, err = this.iprintf("var %s uint64\n", lengthVar)
nn, err = this.iprintf("var %s tape.Tag\n", elementTagVar)
n += nn; if err != nil { return n, err }
nn, err = this.iprintf("%s, nn, err = decoder.ReadTag()\n", elementTagVar)
n += nn; if err != nil { return n, err }
@ -681,7 +681,7 @@ func (this *Generator) generateDecodeBranch(hash [16]byte, typ Type, typeName st
nn, err = this.iprintf("for index := range int(%s) {\n", lengthVar)
n += nn; if err != nil { return n, err }
this.push()
nn, err = this.generateDecodeValue(typ.Element, "", "(*this)[index]", elementTagVar)
nn, err = this.generateDecodeValue(typ.Element, "", "(&(*this)[index])", elementTagVar)
n += nn; if err != nil { return n, err }
this.pop()
nn, err = this.iprintf("}\n")
@ -758,7 +758,7 @@ func (this *Generator) generateDecodeBranch(hash [16]byte, typ Type, typeName st
// decode payload
nn, err = this.generateDecodeValue(
field.Type, "",
fmt.Sprintf("&(this.%s)", field.Name), fieldTagVar)
fmt.Sprintf("(&(this.%s))", field.Name), fieldTagVar)
n += nn; if err != nil { return n, err }
this.pop()
}