[gcc r14-8067] gccrs: hir: Refactor - avoid copy in getter

Arthur Cohen cohenarthur@gcc.gnu.org
Tue Jan 16 18:15:45 GMT 2024


https://gcc.gnu.org/g:2c8bc81cf8be7109a0b814987c078acd2854a81c

commit r14-8067-g2c8bc81cf8be7109a0b814987c078acd2854a81c
Author: Jakub Dupak <dev@jakubdupak.com>
Date:   Tue Oct 17 15:18:03 2023 +0200

    gccrs: hir: Refactor - avoid copy in getter
    
    gcc/rust/ChangeLog:
    
            * hir/tree/rust-hir-path.h: Avoid copy in getter.
            * hir/tree/rust-hir-pattern.h: Avoid copy in getter.
            * hir/tree/rust-hir.h: Avoid copy in getter.
    
    Signed-off-by: Jakub Dupak <dev@jakubdupak.com>

Diff:
---
 gcc/rust/hir/tree/rust-hir-path.h    |  4 ++--
 gcc/rust/hir/tree/rust-hir-pattern.h | 20 ++++++++++----------
 gcc/rust/hir/tree/rust-hir.h         |  2 +-
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/gcc/rust/hir/tree/rust-hir-path.h b/gcc/rust/hir/tree/rust-hir-path.h
index b7644b81aaa..48b96ef2614 100644
--- a/gcc/rust/hir/tree/rust-hir-path.h
+++ b/gcc/rust/hir/tree/rust-hir-path.h
@@ -390,7 +390,7 @@ public:
 	   == 0;
   }
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return get_mappings ();
   }
@@ -864,7 +864,7 @@ public:
 
   location_t get_locus () { return locus; }
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return get_mappings ();
   }
diff --git a/gcc/rust/hir/tree/rust-hir-pattern.h b/gcc/rust/hir/tree/rust-hir-pattern.h
index 01780756358..1bd21a2074b 100644
--- a/gcc/rust/hir/tree/rust-hir-pattern.h
+++ b/gcc/rust/hir/tree/rust-hir-pattern.h
@@ -51,7 +51,7 @@ public:
   void accept_vis (HIRFullVisitor &vis) override;
   void accept_vis (HIRPatternVisitor &vis) override;
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return mappings;
   }
@@ -137,7 +137,7 @@ public:
   void accept_vis (HIRFullVisitor &vis) override;
   void accept_vis (HIRPatternVisitor &vis) override;
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return mappings;
   }
@@ -176,7 +176,7 @@ public:
   void accept_vis (HIRFullVisitor &vis) override;
   void accept_vis (HIRPatternVisitor &vis) override;
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return mappings;
   }
@@ -395,7 +395,7 @@ public:
 
   bool get_has_ellipsis_syntax () { return has_ellipsis_syntax; };
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return mappings;
   }
@@ -464,7 +464,7 @@ public:
   void accept_vis (HIRFullVisitor &vis) override;
   void accept_vis (HIRPatternVisitor &vis) override;
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return mappings;
   }
@@ -758,7 +758,7 @@ public:
   PathInExpression &get_path () { return path; }
   StructPatternElements &get_struct_pattern_elems () { return elems; }
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return mappings;
   }
@@ -991,7 +991,7 @@ public:
 
   std::unique_ptr<TupleStructItems> &get_items () { return items; }
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return mappings;
   }
@@ -1218,7 +1218,7 @@ public:
   void accept_vis (HIRFullVisitor &vis) override;
   void accept_vis (HIRPatternVisitor &vis) override;
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return mappings;
   }
@@ -1293,7 +1293,7 @@ public:
   void accept_vis (HIRFullVisitor &vis) override;
   void accept_vis (HIRPatternVisitor &vis) override;
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return mappings;
   }
@@ -1365,7 +1365,7 @@ public:
   void accept_vis (HIRFullVisitor &vis) override;
   void accept_vis (HIRPatternVisitor &vis) override;
 
-  Analysis::NodeMapping get_pattern_mappings () const override final
+  const Analysis::NodeMapping &get_pattern_mappings () const override final
   {
     return mappings;
   }
diff --git a/gcc/rust/hir/tree/rust-hir.h b/gcc/rust/hir/tree/rust-hir.h
index 76b6c73b627..a5143a763f7 100644
--- a/gcc/rust/hir/tree/rust-hir.h
+++ b/gcc/rust/hir/tree/rust-hir.h
@@ -420,7 +420,7 @@ public:
 
   virtual void accept_vis (HIRPatternVisitor &vis) = 0;
 
-  virtual Analysis::NodeMapping get_pattern_mappings () const = 0;
+  virtual const Analysis::NodeMapping &get_pattern_mappings () const = 0;
 
   virtual location_t get_locus () const = 0;


More information about the Gcc-cvs mailing list