1
Fork 0

Remove Session methods that duplicate DiagCtxt methods.

Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
This commit is contained in:
Nicholas Nethercote 2023-12-18 22:21:37 +11:00
parent d51db05d7e
commit 99472c7049
298 changed files with 1806 additions and 2064 deletions

View file

@ -344,7 +344,7 @@ impl RustcMirAttrs {
match path.file_name() {
Some(_) => Ok(path),
None => {
tcx.sess.emit_err(PathMustEndInFilename { span: attr.span() });
tcx.dcx().emit_err(PathMustEndInFilename { span: attr.span() });
Err(())
}
}
@ -353,7 +353,7 @@ impl RustcMirAttrs {
Self::set_field(&mut ret.formatter, tcx, &attr, |s| match s {
sym::gen_kill | sym::two_phase => Ok(s),
_ => {
tcx.sess.emit_err(UnknownFormatter { span: attr.span() });
tcx.dcx().emit_err(UnknownFormatter { span: attr.span() });
Err(())
}
})
@ -374,7 +374,8 @@ impl RustcMirAttrs {
mapper: impl FnOnce(Symbol) -> Result<T, ()>,
) -> Result<(), ()> {
if field.is_some() {
tcx.sess.emit_err(DuplicateValuesFor { span: attr.span(), name: attr.name_or_empty() });
tcx.dcx()
.emit_err(DuplicateValuesFor { span: attr.span(), name: attr.name_or_empty() });
return Err(());
}
@ -383,7 +384,8 @@ impl RustcMirAttrs {
*field = Some(mapper(s)?);
Ok(())
} else {
tcx.sess.emit_err(RequiresAnArgument { span: attr.span(), name: attr.name_or_empty() });
tcx.dcx()
.emit_err(RequiresAnArgument { span: attr.span(), name: attr.name_or_empty() });
Err(())
}
}

View file

@ -80,7 +80,7 @@ impl<'tcx> MirPass<'tcx> for SanityCheck {
}
if has_rustc_mir_with(tcx, def_id, sym::stop_after_dataflow).is_some() {
tcx.sess.emit_fatal(StopAfterDataFlowEndedCompilation);
tcx.dcx().emit_fatal(StopAfterDataFlowEndedCompilation);
}
}
}
@ -145,7 +145,7 @@ where
}
_ => {
tcx.sess.emit_err(PeekMustBePlaceOrRefPlace { span: call.span });
tcx.dcx().emit_err(PeekMustBePlaceOrRefPlace { span: call.span });
}
}
}
@ -214,12 +214,12 @@ impl PeekCall {
if let Some(local) = place.as_local() {
local
} else {
tcx.sess.emit_err(PeekMustBeNotTemporary { span });
tcx.dcx().emit_err(PeekMustBeNotTemporary { span });
return None;
}
}
_ => {
tcx.sess.emit_err(PeekMustBeNotTemporary { span });
tcx.dcx().emit_err(PeekMustBeNotTemporary { span });
return None;
}
};
@ -259,12 +259,12 @@ where
let bit_state = flow_state.contains(peek_mpi);
debug!("rustc_peek({:?} = &{:?}) bit_state: {}", call.arg, place, bit_state);
if !bit_state {
tcx.sess.emit_err(PeekBitNotSet { span: call.span });
tcx.dcx().emit_err(PeekBitNotSet { span: call.span });
}
}
LookupResult::Parent(..) => {
tcx.sess.emit_err(PeekArgumentUntracked { span: call.span });
tcx.dcx().emit_err(PeekArgumentUntracked { span: call.span });
}
}
}
@ -280,12 +280,12 @@ impl<'tcx> RustcPeekAt<'tcx> for MaybeLiveLocals {
) {
info!(?place, "peek_at");
let Some(local) = place.as_local() else {
tcx.sess.emit_err(PeekArgumentNotALocal { span: call.span });
tcx.dcx().emit_err(PeekArgumentNotALocal { span: call.span });
return;
};
if !flow_state.contains(local) {
tcx.sess.emit_err(PeekBitNotSet { span: call.span });
tcx.dcx().emit_err(PeekBitNotSet { span: call.span });
}
}
}