On Thursday, 17 September 2020 at 03:06:45 UTC, realhet wrote:
I'm trying to get information from the JsonFile produced by
LDC2, but having no clue how to decode this:
For example:
header: KeywordCat kwCatOf(int k)
"deco" : "FAyaZE3het8keywords10KeywordCat",
That's a D mangle but just of one individual variable, without an
attached name. std.demangle looks for the _D prefix and the name
so it prolly can't read it.
https://dlang.org/spec/abi.html#name_mangling
But from eyeball it is a extern(D) function taking a string
argument and returning a KeywordCat enum..
The "F" means extern(D). After this are the argument list. "Aya"
you'll get to recognize as "string", but formally it means "Array
(A) of immutable (y) chars (a)". Then "Z" means non-variadic
function and this ends the argument list, so the next thing is
the return type. "E" means enum, then the name comes with a count
of chars in this name piece, then the chars.