From c86f9b03f2ba199f132e0b4270ea2dd03a10fa1d Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Sun, 3 Aug 2025 21:00:24 -0400 Subject: [PATCH] generated: Remove unneeded code --- generate/generate.go | 113 +------------------------------------------ 1 file changed, 2 insertions(+), 111 deletions(-) diff --git a/generate/generate.go b/generate/generate.go index 1e99f4c..fa5c12a 100644 --- a/generate/generate.go +++ b/generate/generate.go @@ -485,50 +485,7 @@ func (this *Generator) generateDecodeValue(typ Type, valueSource, tagSource, abo } case TypeArray: // OTA: * - lengthVar := this.newTemporaryVar("length") - nn, err := this.iprintf("var %s uint64\n", lengthVar) - n += nn; if err != nil { return n, err } - nn, err = this.iprintf( - "%s, nn, err = decoder.ReadUintN(int(%s.CN()))\n", - lengthVar, tagSource) - n += nn; if err != nil { return n, err } - nn, err = this.generateErrorCheck() - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("*%s = make(", valueSource) - n += nn; if err != nil { return n, err } - nn, err = this.generateType(typ) - n += nn; if err != nil { return n, err } - nn, err = this.printf(", int(%s))\n", lengthVar) - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("var itemTag tape.Tag\n") - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("itemTag, nn, err = decoder.ReadTag()\n") - n += nn; if err != nil { return n, err } - nn, err = this.generateErrorCheck() - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("if !itemTag.Is(") - n += nn; if err != nil { return n, err } - nn, err = this.generateTN(typ.Element) - n += nn; if err != nil { return n, err } - nn, err = this.iprintf(") {\n") - n += nn; if err != nil { return n, err } - this.push() - nn, err = this.iprintf("%s\n", abort) - n += nn; if err != nil { return n, err } - this.pop() - nn, err = this.iprintf("}\n") - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("for index := range %s {\n", lengthVar) - n += nn; if err != nil { return n, err } - this.push() - nn, err = this.generateDecodeValue( - typ.Element, - fmt.Sprintf("(&(*%s)[index])", valueSource), - "itemTag", abort) - n += nn; if err != nil { return n, err } - this.pop() - nn, err = this.iprintf("}\n") - n += nn; if err != nil { return n, err } + // TODO: branch case TypeTable: // KTV: ( )* nn, err := this.iprintf( @@ -539,73 +496,7 @@ func (this *Generator) generateDecodeValue(typ Type, valueSource, tagSource, abo n += nn; if err != nil { return n, err } case TypeTableDefined: // KTV: ( )* - lengthVar := this.newTemporaryVar("length") - nn, err := this.iprintf("var %s uint64\n", lengthVar) - n += nn; if err != nil { return n, err } - nn, err = this.iprintf( - "%s, nn, err = decoder.ReadUintN(int(%s.CN()))\n", - lengthVar, tagSource) - n += nn; if err != nil { return n, err } - nn, err = this.generateErrorCheck() - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("for _ = range %s {\n", lengthVar) - n += nn; if err != nil { return n, err } - this.push() - nn, err = this.iprintf("var key uint16\n") - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("key, nn, err = decoder.ReadUint16()\n") - n += nn; if err != nil { return n, err } - nn, err = this.generateErrorCheck() - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("var itemTag tape.Tag\n") - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("itemTag, nn, err = decoder.ReadTag()\n") - n += nn; if err != nil { return n, err } - nn, err = this.generateErrorCheck() - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("switch key {\n") - n += nn; if err != nil { return n, err } - keys := slices.Collect(maps.Keys(typ.Fields)) - slices.Sort(keys) - for _, key := range keys { - field := typ.Fields[key] - nn, err = this.iprintf("case 0x%04X:\n", key) - n += nn; if err != nil { return n, err } - this.push() - labelVar := this.newTemporaryVar("label") - fieldAbort := fmt.Sprintf("goto %s", labelVar) // TODO: skip value somehow - nn, err = this.iprintf("if !itemTag.Is(") - n += nn; if err != nil { return n, err } - nn, err = this.generateTN(field.Type) - n += nn; if err != nil { return n, err } - nn, err = this.printf(") {\n") - n += nn; if err != nil { return n, err } - this.push() - nn, err = this.iprintf("%s\n", fieldAbort) - n += nn; if err != nil { return n, err } - this.pop() - nn, err = this.iprintf("}\n") - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("{\n") - n += nn; if err != nil { return n, err } - this.push() - nn, err = this.generateDecodeValue( - field.Type, - fmt.Sprintf("(&%s.%s)", valueSource, field.Name), - "itemTag", fieldAbort) - n += nn; if err != nil { return n, err } - this.pop() - nn, err = this.iprintf("}\n") - n += nn; if err != nil { return n, err } - nn, err = this.iprintf("%s:;\n", labelVar) - n += nn; if err != nil { return n, err } - this.pop() - } - nn, err = this.iprintf("}\n") - n += nn; if err != nil { return n, err } - this.pop() - nn, err = this.iprintf("}\n") - n += nn; if err != nil { return n, err } + // TODO: branch case TypeNamed: // WHATEVER: [WHATEVER] nn, err := this.iprintf("nn, err = %s.DecodeValue(decoder, %s)\n", valueSource, tagSource)