rustc_codegen_llvm::debuginfo::metadata

Module type_map

Source

Modulesยง

private ๐Ÿ”’

Structsยง

DINodeCreationResult ๐Ÿ”’
StubInfo ๐Ÿ”’
TypeMap ๐Ÿ”’
The TypeMap is where the debug context holds the type metadata nodes created so far. The debuginfo nodes are identified by UniqueTypeId.

Enumsยง

Stub ๐Ÿ”’
UniqueTypeId ๐Ÿ”’
A unique identifier for anything that we create a debuginfo node for. The types it contains are expected to already be normalized (which is asserted in the constructors).

Functionsยง

build_type_with_children ๐Ÿ”’
This function enables creating debuginfo nodes that can recursively refer to themselves. It will first insert the given stub into the type map and only then execute the members and generics closures passed in. These closures have access to the stub so they can directly attach fields to them. If the type of a field transitively refers back to the type currently being built, the stub will already be found in the type map, which effectively breaks the recursion cycle.
stub ๐Ÿ”’
Create a stub debuginfo node onto which fields and nested types can be attached.