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.
(See accompanying file LICENSE)
bool isAlpha( char val )bool isDigit( char val ) nothrowbool isHexDigit( char val )ubyte ascii2hex( out bool errStatus, char val ) nothrowvoid putComma(size_t n)void putAsHex( size_t val, int width = 0 )void pad( const(char)[] val )void silent( out bool err_status, void delegate(out bool err_status) pure @safe nothrow dg ) nothrowbool empty() @propertychar front() @propertychar peek( size_t n )bool test( char val ) nothrowvoid popFront() nothrowvoid popFront(int i) nothrowbool match( char val ) nothrowbool match( const(char)[] val ) nothrowvoid eat( char val )bool isSymbolNameFront(out bool errStatus) nothrowchar peekBackref() nothrowsize_t decodeBackref(size_t peekAt = 0)() nothrowvoid parseCallConvention(out bool errStatus) nothrowushort parseModifier()Returns: Flags of `TypeCtor`ushort parseFuncAttr(out bool errStatus) nothrowBufSlice parseTypeFunction(out bool errStatus, IsDelegate isdg = IsDelegate.no) return scope nothrowbool isCallConvention( char ch )bool mayBeMangledNameArg() nothrowbool parseMangledNameArg() nothrowvoid parseMangledName(out bool errStatus) nothrowchar[] demangleName() nothrowchar[] demangleType() 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.void fakePureReprintReal(char[] nptr)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))