rustc_middle::mir

Module pretty

Source

Structs§

ExtraComments πŸ”’
PrettyPrintMirOptions
Cosmetic options for pretty-printing the MIR contents, gathered from the CLI. Each pass can override these when dumping its own specific MIR information with dump_mir_with_options.

Enums§

PassWhere
An indication of where we are in the control flow graph. Used for printing extra information in dump_mir

Constants§

ALIGN πŸ”’
Alignment for lining up comments following MIR statements
BYTES_PER_LINE πŸ”’
Number of bytes to print per allocation hex dump line.
INDENT πŸ”’

Functions§

comma_sep πŸ”’
comment πŸ”’
create_dump_file
Attempts to open a file where we should dump a given MIR or other bit of MIR-related data. Used by mir-dump, but also by other bits of code (e.g., NLL inference) that dump graphviz data or other things, and hence takes the extension as an argument.
display_allocation
Dumps the size and metadata and content of an allocation to the given writer. The expectation is that the caller first prints other relevant metadata, so the exact format of this function is (without leading or trailing newline):
dump_enabled
dump_matched_mir_node πŸ”’
dump_mir
If the session is properly configured, dumps a human-readable representation of the MIR (with default pretty-printing options) into:
dump_mir_def_ids
dump_mir_with_options
If the session is properly configured, dumps a human-readable representation of the MIR, with the given pretty-printing options.
dump_path πŸ”’
Returns the path to the filename where we should dump a given MIR. Also used by other bits of code (e.g., NLL inference) that dump graphviz data or other things.
hex_number_length πŸ”’
Calc converted u64 decimal into hex and return its length in chars.
post_fmt_projection πŸ”’
pre_fmt_projection πŸ”’
pretty_print_byte_str πŸ”’
pretty_print_const_value πŸ”’
pretty_print_const_value_tcx πŸ”’
use_verbose πŸ”’
write_allocation_bytes
The prefix argument allows callers to add an arbitrary prefix before each line (even if there is only one line). Note that your prefix should contain a trailing space as the lines are printed directly after it.
write_allocation_endline πŸ”’
write_allocation_newline πŸ”’
Prints the line start address and returns the new line start address.
write_allocations
Find all AllocIds mentioned (recursively) in the MIR body and print their corresponding allocations.
write_basic_block πŸ”’
Write out a human-readable textual representation for the given basic block.
write_coverage_info_hi πŸ”’
write_extra πŸ”’
After we print the main statement, we sometimes dump extra information. There’s often a lot of little things β€œnuzzled up” in a statement.
write_function_coverage_info πŸ”’
write_mir_fn
Write out a human-readable textual representation for the given function.
write_mir_intro πŸ”’
Write out a human-readable textual representation of the MIR’s fn type and the types of its local variables (both user-defined bindings and compiler temporaries).
write_mir_pretty
Write out a human-readable textual representation for the given MIR, with the default PrettyPrintMirOptions.
write_mir_sig πŸ”’
write_scope_tree πŸ”’
Prints local variables in a scope tree.
write_user_type_annotations πŸ”’