]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Rename label getter in ContinueExpr
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Thu, 3 Apr 2025 12:40:15 +0000 (14:40 +0200)
committerP-E-P <32375388+P-E-P@users.noreply.github.com>
Mon, 7 Apr 2025 08:18:19 +0000 (08:18 +0000)
gcc/rust/ChangeLog:

* ast/rust-ast-collector.cc (TokenCollector::visit):
Call unchecked getter.
* ast/rust-ast-visitor.cc (DefaultASTVisitor::visit):
Likewise.
* ast/rust-ast.cc (ContinueExpr::as_string): Likewise.
* hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Likewise.
* resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Likewise.
* resolve/rust-late-name-resolver-2.0.cc (Late::visit): Likewise.
* ast/rust-expr.h: Add new getter for the optional and rename getter
to get_label_unchecked.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
gcc/rust/ast/rust-ast-collector.cc
gcc/rust/ast/rust-ast-visitor.cc
gcc/rust/ast/rust-ast.cc
gcc/rust/ast/rust-expr.h
gcc/rust/hir/rust-ast-lower-expr.cc
gcc/rust/resolve/rust-ast-resolve-expr.cc
gcc/rust/resolve/rust-late-name-resolver-2.0.cc

index d0ecedb0c31352082bd09d293e3067f72d8e7605..d81e51e89b667d0a1b7b2709c84c1a23b373d3b0 100644 (file)
@@ -1279,7 +1279,7 @@ TokenCollector::visit (ContinueExpr &expr)
 {
   push (Rust::Token::make (CONTINUE, expr.get_locus ()));
   if (expr.has_label ())
-    visit (expr.get_label ());
+    visit (expr.get_label_unchecked ());
 }
 
 void
index 87364a0b0f5ba8e4b5a935282c24cea23fa2e9bf..21230113b7b537f504c5b06f4d001a9ff06513e5 100644 (file)
@@ -478,7 +478,7 @@ DefaultASTVisitor::visit (AST::ContinueExpr &expr)
 {
   visit_outer_attrs (expr);
   if (expr.has_label ())
-    visit (expr.get_label ());
+    visit (expr.get_label_unchecked ());
 }
 
 void
index bba4b156b5f74e962e85fc1107b887e4b96db83e..2311c579fd6c51b6749587d8206051f8efb3b01d 100644 (file)
@@ -1631,7 +1631,7 @@ ContinueExpr::as_string () const
   std::string str ("continue ");
 
   if (has_label ())
-    str += get_label ().as_string ();
+    str += get_label_unchecked ().as_string ();
 
   return str;
 }
index 70cb6d4035510c5e1d13aa76667cc0b0e34ff5ef..4c832f9a06f451b76ceb5f0a16a38e9df4637e06 100644 (file)
@@ -2879,8 +2879,11 @@ public:
     outer_attrs = std::move (new_attrs);
   }
 
-  Lifetime &get_label () { return label.value (); }
-  const Lifetime &get_label () const { return label.value (); }
+  Lifetime &get_label_unchecked () { return label.value (); }
+  const Lifetime &get_label_unchecked () const { return label.value (); }
+
+  tl::optional<Lifetime> &get_label () { return label; }
+  const tl::optional<Lifetime> &get_label () const { return label; }
 
   Expr::Kind get_expr_kind () const override { return Expr::Kind::Continue; }
 
index 7bb732033cb75c1deca32c2a0b158262065dc694..2ee5591f1526bf1c68048ecadcc1e194d6bd006c 100644 (file)
@@ -622,7 +622,7 @@ ASTLoweringExpr::visit (AST::ContinueExpr &expr)
 {
   tl::optional<HIR::Lifetime> break_label;
   if (expr.has_label ())
-    break_label = lower_lifetime (expr.get_label ());
+    break_label = lower_lifetime (expr.get_label_unchecked ());
 
   auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
index d83663810262a457f79e270bcf376c2e7e4ea25a..c0ce827606be49d91ba9eef86de1957fa35b15b7 100644 (file)
@@ -594,7 +594,7 @@ ResolveExpr::visit (AST::ContinueExpr &expr)
 {
   if (expr.has_label ())
     {
-      auto label = expr.get_label ();
+      auto label = expr.get_label_unchecked ();
       if (label.get_lifetime_type () != AST::Lifetime::LifetimeType::NAMED)
        {
          rust_error_at (label.get_locus (),
@@ -608,8 +608,8 @@ ResolveExpr::visit (AST::ContinueExpr &expr)
                                    label.get_lifetime_name ()),
            &resolved_node))
        {
-         rust_error_at (expr.get_label ().get_locus (), ErrorCode::E0426,
-                        "use of undeclared label %qs",
+         rust_error_at (expr.get_label_unchecked ().get_locus (),
+                        ErrorCode::E0426, "use of undeclared label %qs",
                         label.as_string ().c_str ());
          return;
        }
index 717bf5c1184fb0ba71fe945257b91502c3662995..7244d200ab1f8dcad4cf711f744fd4270a863b49 100644 (file)
@@ -242,7 +242,7 @@ void
 Late::visit (AST::ContinueExpr &expr)
 {
   if (expr.has_label ())
-    resolve_label (expr.get_label ());
+    resolve_label (expr.get_label_unchecked ());
 
   DefaultResolver::visit (expr);
 }