License
Distributed under the
Boost Software License 1.0. (See accompanying file LICENSE)
The demangle module converts mangled D symbols to a representation similar to what would have existed in code.
Boost Software License 1.0. (See accompanying file LICENSE)
void silent( out bool err_status, void delegate(out bool err_status) pure @safe nothrow dg ) pure @safe nothrowBufSlice parseTypeFunction(out bool errStatus, IsDelegate isdg = IsDelegate.no) pure @safe return scope nothrowvoid parseValue(out bool errStatus, scope BufSlice name, char type = '\0' ) pure @safe scope nothrowvoid parseIntegerValue( out bool errStatus, scope BufSlice name, char type = '\0' ) pure @safe scope nothrowvoid parseMangledName( out bool errStatus, bool displayType, size_t n = 0 ) pure @safe scope nothrowthis( return scope const(char)[] buf_, return scope char[] dst_ = null )this( return scope const(char)[] buf_, AddType addType_, return scope char[] dst_ = null )AddTypeIsDelegateushort flagThe flag value to usestring valueHuman-readable representationsize_t minSizeprivate char[] dstprivate size_t lenchar[] demangle(return scope const(char)[] buf, return scope char[] dst = null, CXX_DEMANGLER __cxa_demangle = null) nothrow pure @safeDemangles D/C++ mangled names. If it is not a D/C++ mangled name, it returns its argument name.char[] demangleType( const(char)[] buf, char[] dst = null ) nothrow pure @safeDemangles a D mangled type.char[] reencodeMangled(return scope const(char)[] mangled) nothrow pure @safereencode a mangled symbol name that might include duplicate occurrences of the same identifier by replacing all but the first occurence with a back reference.char[] mangle(T)(return scope const(char)[] fqn, return scope char[] dst = null) @safe pure nothrowMangles a D symbol.char[] mangleFunc(T: FT *, FT)(return scope const(char)[] fqn, return scope char[] dst = null) if (is(FT == function)) @safe pure nothrowMangles a D function.string toStringConsume(immutable ManglingFlagInfo[] infos, ref ushort base) @safe pure nothrow @nogcCXX_DEMANGLER getCXXDemangler() nothrow @trustedReturns: a CXX_DEMANGLER if a C++ stdlib is loadedchar[] demangleCXX(return scope const(char)[] buf, CXX_DEMANGLER __cxa_demangle, return scope char[] dst = null,) nothrow pure @trustedDemangles C++ mangled names. If it is not a C++ mangled name, it returns its argument name.hasTypeBackRef = (int function(void * *, void * *)).mangleof[$ - 4 .. $] == "QdZi"if (is(FT == function))if (is(FT == function))if (is(FT == function))