[−][src]Module rustc_codegen_llvm::debuginfo::metadata

Structs

EnumMemberDescriptionFactory

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).

MemberDescription

Description of a type member, which can either be a regular field (as in structs or tuples) or an enum variant.

MetadataCreationResult
SourceInfo
StructMemberDescriptionFactory

Creates MemberDescriptions for the fields of a struct.

TupleMemberDescriptionFactory

Creates MemberDescriptions for the fields of a tuple.

TypeMap

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 UniqueTypeIds.

UnionMemberDescriptionFactory
UniqueTypeId
VariantMemberDescriptionFactory

Enums

EnumTagInfo
MemberDescriptionFactory

A factory for MemberDescriptions. It produces a list of member descriptions for some record-like type. MemberDescriptionFactorys are used to defer the creation of type member descriptions in order to break cycles arising from recursive type definitions.

RecursiveTypeDescription

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.

VariantInfo

Constants

DW_ATE_boolean
DW_ATE_float
DW_ATE_signed
DW_ATE_unsigned
DW_ATE_unsigned_char
DW_LANG_RUST
NO_SCOPE_METADATA
UNKNOWN_COLUMN_NUMBER
UNKNOWN_LINE_NUMBER

Traits

MsvcBasicName

Functions

basic_type_metadata
compile_unit_metadata
composite_type_metadata

Creates debug information for a composite type, that is, anything that results in a LLVM struct.

compute_type_parameters

Computes the type parameters for a type, if any, for the given metadata.

create_and_register_recursive_type_forward_declaration
create_global_var_metadata

Creates debug information for the given global variable.

create_struct_stub

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().

create_union_stub
create_vtable_metadata

Creates debug information for the given vtable, which is for the given type.

describe_enum_variant

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.

extend_scope_to_file

Creates an "extension" of an existing DIScope into another file.

file_metadata
file_metadata_raw
fixed_vec_metadata
foreign_type_metadata
generator_layout_and_saved_local_names
hex_encode
param_type_metadata
pointer_type_metadata
prepare_enum_metadata
prepare_struct_metadata
prepare_tuple_metadata
prepare_union_metadata
set_members_of_composite_type
subroutine_type_metadata
trait_pointer_metadata
type_metadata
unknown_file_metadata
use_enum_fallback

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.

vec_slice_metadata