Commit Graph

6 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 492815c8fc
lxdrgen-go: fix compatibility with 32-bit targets
Alpine 3.20 Success Details
2024-11-09 17:06:46 +01:00
Přemysl Eric Janouch aacf1b1d47
lxdrgen-go: improve usability
Alpine 3.20 Success Details
Turning union tags into read-only methods of actual types:
 - eliminates duplicated JSON unmarshalling of tags,
 - makes AppendTo/ConsumeFrom symmetrical in nature,
 - eliminates duplicated AppendTo code,
 - eliminates trivial AppendTo methods for subtypes without fields,
 - gives us an opportunity to use a more specific interface than "any"
   (the type being anonymous is an acknowledged inconvenience).

Implementing our own json.Marshalers some time ago
(for performance reasons) has made this easier to implement.

Also rename "Interface" fields to more suitable "Variant".
2024-11-07 11:01:41 +01:00
Přemysl Eric Janouch 2edc9c6fd1
Add a C++ backend for LibertyXDR
Also change the C backend so that it also de/serializes
unions without any other fields besides the tag.
2023-07-07 16:43:52 +02:00
Přemysl Eric Janouch be9a3e693e
lxdrgen-swift: fix warnings with exhaustive unions 2023-07-06 06:54:23 +02:00
Přemysl Eric Janouch 53197b51e5
Add a Swift backend for LibertyXDR 2023-07-06 06:54:22 +02:00
Přemysl Eric Janouch ebbe7a1672
Import protocol code generator from xK, add tests
Also add a VIM syntax highlighting file.

This also fixes some previously untriggered bugs.
2022-09-30 03:06:36 +02:00