Module rustc_codegen_llvm::debuginfo::metadata [−][src]
Modules
Macros
Returns from the enclosing function if the type metadata with the given unique ID can be found in the type map.
Structs
Describes the members of an enum value; an enum is described as a union of
structs in DWARF. This MemberDescriptionFactory
provides the description for
the members of this union; so for every variant of the given enum, this
factory will produce one MemberDescription
(all with no name and a fixed
offset of zero bytes).
Description of a type member, which can either be a regular field (as in structs or tuples) or an enum variant.
Creates MemberDescription
s for the fields of a struct.
Creates MemberDescription
s for the fields of a tuple.
The TypeMap
is where the CrateDebugContext
holds the type metadata nodes
created so far. The metadata nodes are indexed by UniqueTypeId
, and, for
faster lookup, also by Ty
. The TypeMap
is responsible for creating
UniqueTypeId
s.
Enums
A factory for MemberDescription
s. It produces a list of member descriptions
for some record-like type. MemberDescriptionFactory
s are used to defer the
creation of type member descriptions in order to break cycles arising from
recursive type definitions.
A description of some recursive type. It can either be already finished (as
with FinalMetadata
) or it is not yet finished, but contains all information
needed to generate the missing parts of the description. See the
documentation section on Recursive Types at the top of this file for more
information.
Constants
Traits
Functions
Returns names of captured upvars for closures and generators.
Creates debug information for a composite type, that is, anything that results in a LLVM struct.
Computes the type parameters for a type, if any, for the given metadata.
Creates debug information for the given global variable.
A convenience wrapper around LLVMRustDIBuilderCreateStructType()
. Does not do
any caching, does not add any fields to the struct. This can be done later
with set_members_of_composite_type()
.
Creates debug information for the given vtable, which is for the given type.
Returns a tuple of (1) type_metadata_stub
of the variant, (2) a
MemberDescriptionFactory
for producing the descriptions of the
fields of the variant. This is a rudimentary version of a full
RecursiveTypeDescription
.
Creates an “extension” of an existing DIScope
into another file.
DWARF variant support is only available starting in LLVM 8, but on MSVC we have to use the fallback mode, because LLVM doesn’t lower variant parts to PDB.
Generates LLVM debuginfo for a vtable.