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.

Reply via email to