Rename DiagnosticDeriveKind::Diagnostic::handler as DiagnosticDeriveKind::Diagnostic::dcx.

This commit is contained in:
Nicholas Nethercote 2023-12-18 10:35:29 +11:00
parent f7125f1f66
commit 7b8644e5cf
2 changed files with 10 additions and 10 deletions

View File

@ -17,11 +17,11 @@ pub(crate) struct DiagnosticDerive<'a> {
} }
impl<'a> DiagnosticDerive<'a> { impl<'a> DiagnosticDerive<'a> {
pub(crate) fn new(diag: syn::Ident, handler: syn::Ident, structure: Structure<'a>) -> Self { pub(crate) fn new(diag: syn::Ident, dcx: syn::Ident, structure: Structure<'a>) -> Self {
Self { Self {
builder: DiagnosticDeriveBuilder { builder: DiagnosticDeriveBuilder {
diag, diag,
kind: DiagnosticDeriveKind::Diagnostic { handler }, kind: DiagnosticDeriveKind::Diagnostic { dcx },
}, },
structure, structure,
} }
@ -36,7 +36,7 @@ impl<'a> DiagnosticDerive<'a> {
let body = builder.body(variant); let body = builder.body(variant);
let diag = &builder.parent.diag; let diag = &builder.parent.diag;
let DiagnosticDeriveKind::Diagnostic { handler } = &builder.parent.kind else { let DiagnosticDeriveKind::Diagnostic { dcx } = &builder.parent.kind else {
unreachable!() unreachable!()
}; };
let init = match builder.slug.value_ref() { let init = match builder.slug.value_ref() {
@ -62,7 +62,7 @@ impl<'a> DiagnosticDerive<'a> {
Some(slug) => { Some(slug) => {
slugs.borrow_mut().push(slug.clone()); slugs.borrow_mut().push(slug.clone());
quote! { quote! {
let mut #diag = #handler.struct_diagnostic(crate::fluent_generated::#slug); let mut #diag = #dcx.struct_diagnostic(crate::fluent_generated::#slug);
} }
} }
}; };
@ -77,7 +77,7 @@ impl<'a> DiagnosticDerive<'a> {
} }
}); });
let DiagnosticDeriveKind::Diagnostic { handler } = &builder.kind else { unreachable!() }; let DiagnosticDeriveKind::Diagnostic { dcx } = &builder.kind else { unreachable!() };
let mut imp = structure.gen_impl(quote! { let mut imp = structure.gen_impl(quote! {
gen impl<'__diagnostic_handler_sess, G> gen impl<'__diagnostic_handler_sess, G>
@ -89,7 +89,7 @@ impl<'a> DiagnosticDerive<'a> {
#[track_caller] #[track_caller]
fn into_diagnostic( fn into_diagnostic(
self, self,
#handler: &'__diagnostic_handler_sess rustc_errors::DiagCtxt #dcx: &'__diagnostic_handler_sess rustc_errors::DiagCtxt
) -> rustc_errors::DiagnosticBuilder<'__diagnostic_handler_sess, G> { ) -> rustc_errors::DiagnosticBuilder<'__diagnostic_handler_sess, G> {
use rustc_errors::IntoDiagnosticArg; use rustc_errors::IntoDiagnosticArg;
#implementation #implementation

View File

@ -19,7 +19,7 @@ use super::utils::SubdiagnosticVariant;
/// What kind of diagnostic is being derived - a fatal/error/warning or a lint? /// What kind of diagnostic is being derived - a fatal/error/warning or a lint?
#[derive(Clone, PartialEq, Eq)] #[derive(Clone, PartialEq, Eq)]
pub(crate) enum DiagnosticDeriveKind { pub(crate) enum DiagnosticDeriveKind {
Diagnostic { handler: syn::Ident }, Diagnostic { dcx: syn::Ident },
LintDiagnostic, LintDiagnostic,
} }
@ -348,11 +348,11 @@ impl<'a> DiagnosticDeriveVariantBuilder<'a> {
} }
(Meta::Path(_), "subdiagnostic") => { (Meta::Path(_), "subdiagnostic") => {
if FieldInnerTy::from_type(&info.binding.ast().ty).will_iterate() { if FieldInnerTy::from_type(&info.binding.ast().ty).will_iterate() {
let DiagnosticDeriveKind::Diagnostic { handler } = &self.parent.kind else { let DiagnosticDeriveKind::Diagnostic { dcx } = &self.parent.kind else {
// No eager translation for lints. // No eager translation for lints.
return Ok(quote! { #diag.subdiagnostic(#binding); }); return Ok(quote! { #diag.subdiagnostic(#binding); });
}; };
return Ok(quote! { #diag.eager_subdiagnostic(#handler, #binding); }); return Ok(quote! { #diag.eager_subdiagnostic(#dcx, #binding); });
} else { } else {
return Ok(quote! { #diag.subdiagnostic(#binding); }); return Ok(quote! { #diag.subdiagnostic(#binding); });
} }
@ -377,7 +377,7 @@ impl<'a> DiagnosticDeriveVariantBuilder<'a> {
} }
let handler = match &self.parent.kind { let handler = match &self.parent.kind {
DiagnosticDeriveKind::Diagnostic { handler } => handler, DiagnosticDeriveKind::Diagnostic { dcx } => dcx,
DiagnosticDeriveKind::LintDiagnostic => { DiagnosticDeriveKind::LintDiagnostic => {
throw_invalid_attr!(attr, |diag| { throw_invalid_attr!(attr, |diag| {
diag.help("eager subdiagnostics are not supported on lints") diag.help("eager subdiagnostics are not supported on lints")