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
, intsclass
, type*t
, const(char)*suffix
);Helper
-
Declaration
Symbol*
toSymbol
(Dsymbols
); -
Declaration
Symbol*
toImport
(Symbol*sym
, Locloc
); -
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
);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*
aaGetSymbol
(TypeAArraytaa
, const(char)*func
, intflags
);Determine the right symbol to look up an associative array element.
Input:
flags
0 don't add value signature 1 add value signature -
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
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