generate: Emit doc comments (in theory)
This commit is contained in:
parent
190a89fbb3
commit
5d5d3fd31c
@ -116,12 +116,16 @@ func (this *Generator) generateTypedef(name string, typedef Typedef) (n int, err
|
||||
typ := typedef.Type
|
||||
|
||||
// type definition
|
||||
// TODO doc
|
||||
nn, err := this.iprintf(
|
||||
"\n// %s represents the protocol data type %s.\n",
|
||||
name, name)
|
||||
n += nn; if err != nil { return n, err }
|
||||
nn, err = this.iprintf("type %s ", name)
|
||||
if typedef.Doc == "" {
|
||||
nn, err := this.iprintf(
|
||||
"\n// %s represents the protocol data type %s.\n",
|
||||
name, name)
|
||||
n += nn; if err != nil { return n, err }
|
||||
} else {
|
||||
nn, err := this.iprintf("\n%s\n", this.formatComment(typedef.Doc))
|
||||
n += nn; if err != nil { return n, err }
|
||||
}
|
||||
nn, err := this.iprintf("type %s ", name)
|
||||
n += nn; if err != nil { return n, err }
|
||||
nn, err = this.generateType(typ)
|
||||
n += nn; if err != nil { return n, err }
|
||||
@ -211,11 +215,16 @@ func (this *Generator) generateTypedef(name string, typedef Typedef) (n int, err
|
||||
// generateMessage generates the structure, as well as encoding decoding
|
||||
// functions for the given message.
|
||||
func (this *Generator) generateMessage(method uint16, message Message) (n int, err error) {
|
||||
// TODO doc
|
||||
nn, err := this.iprintf(
|
||||
"\n// %s represents the protocol message M%04X %s.\n",
|
||||
message.Name, method, message.Name)
|
||||
nn, err = this.iprintf("type %s ", this.resolveMessageName(message.Name))
|
||||
if message.Doc == "" {
|
||||
nn, err := this.iprintf(
|
||||
"\n// %s represents the protocol message M%04X %s.\n",
|
||||
message.Name, method, message.Name)
|
||||
n += nn; if err != nil { return n, err }
|
||||
} else {
|
||||
nn, err := this.iprintf("\n%s\n", this.formatComment(message.Doc))
|
||||
n += nn; if err != nil { return n, err }
|
||||
}
|
||||
nn, err := this.iprintf("type %s ", this.resolveMessageName(message.Name))
|
||||
n += nn; if err != nil { return n, err }
|
||||
nn, err = this.generateType(message.Type)
|
||||
n += nn; if err != nil { return n, err }
|
||||
@ -1094,8 +1103,9 @@ func (this *Generator) generateTypeTableDefined(typ TypeTableDefined) (n int, er
|
||||
|
||||
for _, key := range slices.Sorted(maps.Keys(typ.Fields)) {
|
||||
field := typ.Fields[key]
|
||||
// TODO doc
|
||||
nn, err := this.iprintf("%s ", field.Name)
|
||||
nn, err := this.iprintf("%s\n", this.formatComment(field.Doc))
|
||||
n += nn; if err != nil { return n, err }
|
||||
nn, err = this.iprintf("%s ", field.Name)
|
||||
n += nn; if err != nil { return n, err }
|
||||
nn, err = this.generateType(field.Type)
|
||||
n += nn; if err != nil { return n, err }
|
||||
@ -1180,6 +1190,10 @@ func (this *Generator) iprintf(format string, args ...any) (n int, err error) {
|
||||
return fmt.Fprintf(this.Output, this.indent() + format, args...)
|
||||
}
|
||||
|
||||
func (this *Generator) formatComment(comment string) string {
|
||||
return "// " + strings.ReplaceAll(comment, "\n", "\n" + this.indent() + "// ")
|
||||
}
|
||||
|
||||
func (this *Generator) resolveMessageName(message string) string {
|
||||
return "Message" + message
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user