dmd.tocsym
Convert a D symbol to a symbol the linker understands (with mangled name).
License
Source: tocsym.d
Documentation: https://dlang.org/phobos/dmd_tocsym.html
-
Declaration
Symbol*
toSymbolX
(Dsymbolds
, const(char)*prefix
, SCsclass
, type*t
, const(char)*suffix
);Helper
-
Declaration
Symbol*
toSymbol
(Dsymbols
); -
Declaration
Symbol*
toImport
(Declarationds
);Generate import symbol from symbol.
-
Declaration
Symbol*
toThunkSymbol
(FuncDeclarationfd
, intoffset
);Thunks adjust the incoming 'this' pointer by '
offset
'. -
Declaration
Classsym*
fake_classsym
(Identifierid
);Fake a struct symbol.
-
Declaration
Symbol*
toVtblSymbol
(ClassDeclarationcd
, boolgenCsymbol
= true);This is accessible via the ClassData, but since it is frequently needed directly (like for rtti comparisons), make it directly accessible.
-
Declaration
Symbol*
toInitializer
(AggregateDeclarationad
);Create the static initializer for the struct/class.
-
Declaration
Symbol*
toSymbol
(StructLiteralExpsle
); -
Declaration
Symbol*
toSymbolCpp
(ClassDeclarationcd
);For C++ class
cd
, generate an instance of _cpp_type_info_ptr and populate it with a pointer to the C++ type info.Parameters
ClassDeclaration
cd
C++ class
Return Value
symbol of instance of _cpp_type_info_ptr
-
Declaration
Symbol*
toSymbolCppTypeInfo
(ClassDeclarationcd
);Generate Symbol of C++ type info for C++ class
cd
.Parameters
ClassDeclaration
cd
C++ class
Return Value
Symbol of
cd
's rtti type info -
Declaration
Symbol*
toSymbol
(Typet
);Turn a class type into a C Symbol.
Parameters
Type
t
class type
Return Value
corresponding Symbol
-
Declaration
Srcpos
toSrcpos
(Locloc
);Converts a Loc to backend Srcpos
Parameters
Loc
loc
Source code location
Return Value
Srcpos backend struct corresponding to the given location