Spec-Zone.ru › D

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API