core.demangle
Модуль demangle преобразует скомпонованные символы D в представление, подобное тому, которое существовало бы в коде.
- Лицензия:
- Распространяется по Лицензии Boost Software License 1.0. (См. сопровождаемый файл LICENSE)
- Авторы:
- Sean Kelly
- Исходный код
- core/demangle.d
- pure nothrow @safe char[] demangle(const(char)[] buf, char[] dst = null);
-
Раскомпоновывает скомпонованные имена D. Если это не скомпонованное имя D, возвращает имя аргумента.
- Параметры:
const(char)[] bufСтрока для раскомпоновки. char[] dstНеобязательный буфер назначения.
- Возвращаемое значение:
- Раскомпонованное имя или исходная строка, если имя не является скомпонованным именем D.
- pure nothrow @safe char[] demangleType(const(char)[] buf, char[] dst = null);
-
Раскомпоновывает скомпонованный тип D.
- Параметры:
const(char)[] bufСтрока для раскомпоновки. char[] dstНеобязательный буфер назначения.
- Возвращаемое значение:
- Раскомпонованное имя типа или исходная строка, если имя не является скомпонованным типом D.
- pure nothrow @safe char[] reencodeMangled(const(char)[] mangled);
-
Перекодирует имя скомпонованного символа, которое может содержать дублирующиеся идентификаторы, заменяя все, кроме первого, обратной ссылкой.
- Параметры:
const(char)[] mangledСкомпонованная строка, представляющая тип.
- Возвращаемое значение:
- Имя скомпонованного символа с удалёнными дублирующимися идентификаторами
- pure nothrow @safe char[] mangle(T)(const(char)[] fqn, char[] dst = null);
-
Компонует символ D.
- Параметры:
T Тип символа. const(char)[] fqnПолное квалифицированное имя символа. char[] dstНеобязательный буфер назначения.
- Возвращаемое значение:
- Скомпонованное имя символа типа T с указанным полным квалифицированным именем.
- Примеры:
-
assert(mangle!int("a.b") == "_D1a1bi"); assert(mangle!(char[])("test.foo") == "_D4test3fooAa"); assert(mangle!(int function(int))("a.b") == "_D1a1bPFiZi");
- pure nothrow @safe char[] mangleFunc(T : FT*, FT)(const(char)[] fqn, char[] dst = null)
Constraints: if (is(FT == function)); -
Компонует функцию D.
- Параметры:
T Тип указателя на функцию. const(char)[] fqnПолное квалифицированное имя символа. char[] dstНеобязательный буфер назначения.
- Возвращаемое значение:
- Скомпонованное имя функции с типом указателя на функцию T и заданным полным квалифицированным именем.
- enum string cPrefix;
-
Компоновка имен C осуществляется путём добавления префикса на некоторых платформах.
© 1999–2021 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/core_demangle.html