From: Muhammad Mahad Date: Thu, 29 Jun 2023 14:24:00 +0000 (+0500) Subject: gccrs: refactored field error function X-Git-Tag: basepoints/gcc-15~2423 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=09777a69afc66fbc102bf462a9a3d6855801e817;p=thirdparty%2Fgcc.git gccrs: refactored field error function Refactored field error function into one funciton Fixes #2336 gcc/rust/ChangeLog: * typecheck/rust-hir-type-check-pattern.cc (emit_invalid_field_error): Refactored Field Error Function (TypeCheckPattern::visit): called emit_invalid_field_error function Signed-off-by: Muhammad Mahad --- diff --git a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc index 7854780cc946..a740805fb7fb 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc @@ -139,6 +139,15 @@ TypeCheckPattern::visit (HIR::TupleStructPattern &pattern) } } +void +emit_invalid_field_error (Location loc, Rust::TyTy::VariantDef *variant, + const std::string &name) +{ + rust_error_at (loc, ErrorCode ("E0026"), + "variant %s does not have a field named %s", + variant->get_identifier ().c_str (), name.c_str ()); +} + void TypeCheckPattern::visit (HIR::StructPattern &pattern) { @@ -204,10 +213,8 @@ TypeCheckPattern::visit (HIR::StructPattern &pattern) if (!variant->lookup_field (ident.get_identifier ().as_string (), &field, nullptr)) { - rust_error_at (ident.get_locus (), ErrorCode ("E0026"), - "variant %s does not have a field named %s", - variant->get_identifier ().c_str (), - ident.get_identifier ().as_string ().c_str ()); + emit_invalid_field_error (ident.get_locus (), variant, + ident.get_identifier ().as_string ()); break; } named_fields.push_back (ident.get_identifier ().as_string ()); @@ -225,10 +232,8 @@ TypeCheckPattern::visit (HIR::StructPattern &pattern) if (!variant->lookup_field (ident.get_identifier ().as_string (), &field, nullptr)) { - rust_error_at (ident.get_locus (), ErrorCode ("E0026"), - "variant %s does not have a field named %s", - variant->get_identifier ().c_str (), - ident.get_identifier ().as_string ().c_str ()); + emit_invalid_field_error (ident.get_locus (), variant, + ident.get_identifier ().as_string ()); break; } named_fields.push_back (ident.get_identifier ().as_string ());