Hide intrinsic binary operators in alternate mode
This commit is contained in:
parent
17e8cf4807
commit
45d381f865
@ -152,7 +152,7 @@ pub fn perform_all_passes<'map>(
|
||||
}
|
||||
|
||||
#[cfg(debug_assertions)]
|
||||
println!("{}", &context);
|
||||
println!("{:#}", &context);
|
||||
|
||||
let state = context.pass(&mut LinkerPass {
|
||||
module_map,
|
||||
@ -162,7 +162,7 @@ pub fn perform_all_passes<'map>(
|
||||
#[cfg(debug_assertions)]
|
||||
println!("{:-^100}", "LINKER OUTPUT");
|
||||
#[cfg(debug_assertions)]
|
||||
println!("{}", &context);
|
||||
println!("{:#}", &context);
|
||||
#[cfg(debug_assertions)]
|
||||
dbg!(&state);
|
||||
|
||||
@ -202,7 +202,7 @@ pub fn perform_all_passes<'map>(
|
||||
#[cfg(debug_assertions)]
|
||||
println!("{:-^100}", "TYPECHECKER OUTPUT");
|
||||
#[cfg(debug_assertions)]
|
||||
println!("{}", &context);
|
||||
println!("{:#}", &context);
|
||||
#[cfg(debug_assertions)]
|
||||
dbg!(&state);
|
||||
|
||||
@ -243,7 +243,7 @@ pub fn compile_and_pass<'map>(
|
||||
#[cfg(debug_assertions)]
|
||||
println!("{:-^100}", "FINAL OUTPUT");
|
||||
#[cfg(debug_assertions)]
|
||||
println!("{}", &mir_context);
|
||||
println!("{:#}", &mir_context);
|
||||
|
||||
let mut context = Context::new(format!("Reid ({})", env!("CARGO_PKG_VERSION")));
|
||||
let codegen_modules = match mir_context.codegen(&mut context) {
|
||||
|
@ -15,6 +15,8 @@ impl Display for Context {
|
||||
|
||||
impl Display for Module {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
let is_alternate = f.alternate();
|
||||
|
||||
writeln!(f, "Module({}) ({}) {{", self.name, self.module_id)?;
|
||||
|
||||
let mut state = Default::default();
|
||||
@ -23,9 +25,27 @@ impl Display for Module {
|
||||
for import in &self.imports {
|
||||
writeln!(inner_f, "{}", import)?;
|
||||
}
|
||||
for binop in &self.binop_defs {
|
||||
|
||||
let intrinsic_binops = self
|
||||
.binop_defs
|
||||
.iter()
|
||||
.filter(|b| matches!(b.fn_kind, FunctionDefinitionKind::Intrinsic(_)));
|
||||
|
||||
for binop in self
|
||||
.binop_defs
|
||||
.iter()
|
||||
.filter(|b| !matches!(b.fn_kind, FunctionDefinitionKind::Intrinsic(_)))
|
||||
{
|
||||
writeln!(inner_f, "{}", binop)?;
|
||||
}
|
||||
|
||||
if is_alternate {
|
||||
writeln!(inner_f, "... <{}> intrinsic binary operators", intrinsic_binops.count())?;
|
||||
} else {
|
||||
for binop in intrinsic_binops {
|
||||
writeln!(inner_f, "{}", binop)?;
|
||||
}
|
||||
}
|
||||
for typedef in &self.typedefs {
|
||||
writeln!(inner_f, "{}", typedef)?;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user