public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc/devel/rust/master] Remove HIR::GroupedPattern
@ 2023-02-07 17:53 Thomas Schwinge
  0 siblings, 0 replies; only message in thread
From: Thomas Schwinge @ 2023-02-07 17:53 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:8437757f77c8a13ddd7e47e11a8d33a1dccc1ccd

commit 8437757f77c8a13ddd7e47e11a8d33a1dccc1ccd
Author: Owen Avery <powerboat9.gamer@gmail.com>
Date:   Mon Jan 30 20:14:34 2023 -0500

    Remove HIR::GroupedPattern
    
    gcc/rust/ChangeLog:
    
            * backend/rust-compile-fnparam.h
            (CompileFnParam::visit): Remove HIR::GroupedPattern visitor.
            * backend/rust-compile-pattern.cc
            (CompilePatternCaseLabelExpr::visit): Remove HIR::GroupedPattern visitor.
            (CompilePatternBindings::visit): Remove HIR::GroupedPattern visitor.
            * backend/rust-compile-pattern.h
            (CompilePatternCaseLabelExpr::visit): Remove HIR::GroupedPattern visitor.
            (CompilePatternBindings::visit): Remove HIR::GroupedPattern visitor.
            (CompilePatternLet::visit): Remove HIR::GroupedPattern visitor.
            * backend/rust-compile-resolve-path.h
            (ResolvePathRef::visit): Remove HIR::GroupedPattern visitor.
            * backend/rust-compile-var-decl.h
            (CompileVarDecl::visit): Remove HIR::GroupedPattern visitor.
            * checks/errors/rust-const-checker.cc
            (ConstChecker::visit): Remove HIR::GroupedPattern visitor.
            * checks/errors/rust-const-checker.h
            (ConstChecker::visit): Remove HIR::GroupedPattern visitor.
            * checks/errors/rust-unsafe-checker.cc
            (UnsafeChecker::visit): Remove HIR::GroupedPattern visitor.
            * checks/errors/rust-unsafe-checker.h
            (UnsafeChecker::visit): Remove HIR::GroupedPattern visitor.
            * hir/rust-hir-dump.cc (Dump::visit): Remove HIR::GroupedPattern visitor.
            * hir/rust-hir-dump.h (Dump::visit): Remove HIR::GroupedPattern visitor.
            * hir/tree/rust-hir-full-decls.h (class GroupedPattern): Remove class.
            * hir/tree/rust-hir-full-test.cc (GroupedPattern::accept_vis): Remove method.
            * hir/tree/rust-hir-pattern.h (class GroupedPattern): Remove class.
            * hir/tree/rust-hir-visitor.h
            (HIRFullVisitor::visit): Remove HIR::GroupedPattern visitor.
            (HIRFullVisitorBase::visit): Remove HIR::GroupedPattern visitor.
            (HIRPatternVisitor::visit): Remove HIR::GroupedPattern visitor.
            * typecheck/rust-hir-type-check-pattern.cc
            (TypeCheckPattern::visit): Remove HIR::GroupedPattern visitor.
            * typecheck/rust-hir-type-check-pattern.h
            (TypeCheckPattern::visit): Remove HIR::GroupedPattern visitor.
    
    Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>

Diff:
---
 gcc/rust/backend/rust-compile-fnparam.h           |  1 -
 gcc/rust/backend/rust-compile-pattern.cc          | 12 ----
 gcc/rust/backend/rust-compile-pattern.h           |  8 ---
 gcc/rust/backend/rust-compile-resolve-path.h      |  1 -
 gcc/rust/backend/rust-compile-var-decl.h          |  1 -
 gcc/rust/checks/errors/rust-const-checker.cc      |  4 --
 gcc/rust/checks/errors/rust-const-checker.h       |  1 -
 gcc/rust/checks/errors/rust-unsafe-checker.cc     |  4 --
 gcc/rust/checks/errors/rust-unsafe-checker.h      |  1 -
 gcc/rust/hir/rust-hir-dump.cc                     |  3 -
 gcc/rust/hir/rust-hir-dump.h                      |  1 -
 gcc/rust/hir/tree/rust-hir-full-decls.h           |  1 -
 gcc/rust/hir/tree/rust-hir-full-test.cc           | 12 ----
 gcc/rust/hir/tree/rust-hir-pattern.h              | 69 -----------------------
 gcc/rust/hir/tree/rust-hir-visitor.h              |  3 -
 gcc/rust/typecheck/rust-hir-type-check-pattern.cc |  9 ---
 gcc/rust/typecheck/rust-hir-type-check-pattern.h  |  1 -
 17 files changed, 132 deletions(-)

diff --git a/gcc/rust/backend/rust-compile-fnparam.h b/gcc/rust/backend/rust-compile-fnparam.h
index 0dbbd99ef08..ac4366973dd 100644
--- a/gcc/rust/backend/rust-compile-fnparam.h
+++ b/gcc/rust/backend/rust-compile-fnparam.h
@@ -39,7 +39,6 @@ public:
   void visit (HIR::TupleStructPattern &) override;
 
   // Empty visit for unused Pattern HIR nodes.
-  void visit (HIR::GroupedPattern &) override {}
   void visit (HIR::LiteralPattern &) override {}
   void visit (HIR::PathInExpression &) override {}
   void visit (HIR::QualifiedPathInExpression &) override {}
diff --git a/gcc/rust/backend/rust-compile-pattern.cc b/gcc/rust/backend/rust-compile-pattern.cc
index ba8374a17c5..4c45a5377c0 100644
--- a/gcc/rust/backend/rust-compile-pattern.cc
+++ b/gcc/rust/backend/rust-compile-pattern.cc
@@ -161,12 +161,6 @@ CompilePatternCaseLabelExpr::visit (HIR::RangePattern &pattern)
   case_label_expr = build_case_label (lower, upper, associated_case_label);
 }
 
-void
-CompilePatternCaseLabelExpr::visit (HIR::GroupedPattern &pattern)
-{
-  pattern.get_item ()->accept_vis (*this);
-}
-
 // setup the bindings
 
 void
@@ -335,12 +329,6 @@ CompilePatternBindings::visit (HIR::StructPattern &pattern)
     }
 }
 
-void
-CompilePatternBindings::visit (HIR::GroupedPattern &pattern)
-{
-  pattern.get_item ()->accept_vis (*this);
-}
-
 void
 CompilePatternLet::visit (HIR::IdentifierPattern &pattern)
 {
diff --git a/gcc/rust/backend/rust-compile-pattern.h b/gcc/rust/backend/rust-compile-pattern.h
index 5272137662b..fdaa51994f5 100644
--- a/gcc/rust/backend/rust-compile-pattern.h
+++ b/gcc/rust/backend/rust-compile-pattern.h
@@ -38,7 +38,6 @@ public:
   void visit (HIR::TupleStructPattern &pattern) override;
   void visit (HIR::WildcardPattern &pattern) override;
   void visit (HIR::RangePattern &pattern) override;
-  void visit (HIR::GroupedPattern &pattern) override;
 
   // Empty visit for unused Pattern HIR nodes.
   void visit (HIR::IdentifierPattern &) override {}
@@ -70,7 +69,6 @@ public:
 
   void visit (HIR::StructPattern &pattern) override;
   void visit (HIR::TupleStructPattern &pattern) override;
-  void visit (HIR::GroupedPattern &) override;
 
   // Empty visit for unused Pattern HIR nodes.
   void visit (HIR::IdentifierPattern &) override {}
@@ -105,12 +103,6 @@ public:
   void visit (HIR::WildcardPattern &) override;
 
   // check for unimplemented Pattern HIR nodes.
-  void visit (HIR::GroupedPattern &pattern) override
-  {
-    rust_sorry_at (pattern.get_locus (),
-		   "grouped pattern let statements not supported");
-  }
-
   void visit (HIR::LiteralPattern &pattern) override
   {
     rust_sorry_at (pattern.get_locus (),
diff --git a/gcc/rust/backend/rust-compile-resolve-path.h b/gcc/rust/backend/rust-compile-resolve-path.h
index f0360bdc739..578934cf437 100644
--- a/gcc/rust/backend/rust-compile-resolve-path.h
+++ b/gcc/rust/backend/rust-compile-resolve-path.h
@@ -45,7 +45,6 @@ public:
   void visit (HIR::QualifiedPathInExpression &expr) override;
 
   // Empty visit for unused Pattern HIR nodes.
-  void visit (HIR::GroupedPattern &) override {}
   void visit (HIR::IdentifierPattern &) override {}
   void visit (HIR::LiteralPattern &) override {}
   void visit (HIR::RangePattern &) override {}
diff --git a/gcc/rust/backend/rust-compile-var-decl.h b/gcc/rust/backend/rust-compile-var-decl.h
index a1dee2d770b..131748b2394 100644
--- a/gcc/rust/backend/rust-compile-var-decl.h
+++ b/gcc/rust/backend/rust-compile-var-decl.h
@@ -69,7 +69,6 @@ public:
   }
 
   // Empty visit for unused Pattern HIR nodes.
-  void visit (HIR::GroupedPattern &) override {}
   void visit (HIR::LiteralPattern &) override {}
   void visit (HIR::PathInExpression &) override {}
   void visit (HIR::QualifiedPathInExpression &) override {}
diff --git a/gcc/rust/checks/errors/rust-const-checker.cc b/gcc/rust/checks/errors/rust-const-checker.cc
index 5f20437b7fc..2e07c91cad6 100644
--- a/gcc/rust/checks/errors/rust-const-checker.cc
+++ b/gcc/rust/checks/errors/rust-const-checker.cc
@@ -834,10 +834,6 @@ void
 ConstChecker::visit (TuplePattern &)
 {}
 
-void
-ConstChecker::visit (GroupedPattern &)
-{}
-
 void
 ConstChecker::visit (SlicePattern &)
 {}
diff --git a/gcc/rust/checks/errors/rust-const-checker.h b/gcc/rust/checks/errors/rust-const-checker.h
index f0175df940d..8dadeb268f4 100644
--- a/gcc/rust/checks/errors/rust-const-checker.h
+++ b/gcc/rust/checks/errors/rust-const-checker.h
@@ -186,7 +186,6 @@ private:
   virtual void visit (TuplePatternItemsMultiple &tuple_items) override;
   virtual void visit (TuplePatternItemsRanged &tuple_items) override;
   virtual void visit (TuplePattern &pattern) override;
-  virtual void visit (GroupedPattern &pattern) override;
   virtual void visit (SlicePattern &pattern) override;
   virtual void visit (EmptyStmt &stmt) override;
   virtual void visit (LetStmt &stmt) override;
diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.cc b/gcc/rust/checks/errors/rust-unsafe-checker.cc
index f68243020b1..44c6090eb3d 100644
--- a/gcc/rust/checks/errors/rust-unsafe-checker.cc
+++ b/gcc/rust/checks/errors/rust-unsafe-checker.cc
@@ -901,10 +901,6 @@ void
 UnsafeChecker::visit (TuplePattern &)
 {}
 
-void
-UnsafeChecker::visit (GroupedPattern &)
-{}
-
 void
 UnsafeChecker::visit (SlicePattern &)
 {}
diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.h b/gcc/rust/checks/errors/rust-unsafe-checker.h
index 540e5c33f6d..2acb16a6a25 100644
--- a/gcc/rust/checks/errors/rust-unsafe-checker.h
+++ b/gcc/rust/checks/errors/rust-unsafe-checker.h
@@ -168,7 +168,6 @@ private:
   virtual void visit (TuplePatternItemsMultiple &tuple_items) override;
   virtual void visit (TuplePatternItemsRanged &tuple_items) override;
   virtual void visit (TuplePattern &pattern) override;
-  virtual void visit (GroupedPattern &pattern) override;
   virtual void visit (SlicePattern &pattern) override;
   virtual void visit (EmptyStmt &stmt) override;
   virtual void visit (LetStmt &stmt) override;
diff --git a/gcc/rust/hir/rust-hir-dump.cc b/gcc/rust/hir/rust-hir-dump.cc
index 01d7132ce7e..99e1ebb3e42 100644
--- a/gcc/rust/hir/rust-hir-dump.cc
+++ b/gcc/rust/hir/rust-hir-dump.cc
@@ -457,9 +457,6 @@ void
 Dump::visit (TuplePattern &)
 {}
 void
-Dump::visit (GroupedPattern &)
-{}
-void
 Dump::visit (SlicePattern &)
 {}
 
diff --git a/gcc/rust/hir/rust-hir-dump.h b/gcc/rust/hir/rust-hir-dump.h
index 1953efeffd6..15b0c8e425b 100644
--- a/gcc/rust/hir/rust-hir-dump.h
+++ b/gcc/rust/hir/rust-hir-dump.h
@@ -163,7 +163,6 @@ private:
   virtual void visit (TuplePatternItemsMultiple &) override;
   virtual void visit (TuplePatternItemsRanged &) override;
   virtual void visit (TuplePattern &) override;
-  virtual void visit (GroupedPattern &) override;
   virtual void visit (SlicePattern &) override;
 
   virtual void visit (EmptyStmt &) override;
diff --git a/gcc/rust/hir/tree/rust-hir-full-decls.h b/gcc/rust/hir/tree/rust-hir-full-decls.h
index 761526b4fc9..8f4bcfbc037 100644
--- a/gcc/rust/hir/tree/rust-hir-full-decls.h
+++ b/gcc/rust/hir/tree/rust-hir-full-decls.h
@@ -206,7 +206,6 @@ class TuplePatternItems;
 class TuplePatternItemsMultiple;
 class TuplePatternItemsRanged;
 class TuplePattern;
-class GroupedPattern;
 class SlicePattern;
 
 // rust-type.h
diff --git a/gcc/rust/hir/tree/rust-hir-full-test.cc b/gcc/rust/hir/tree/rust-hir-full-test.cc
index a36e0f3d68a..d02188a66eb 100644
--- a/gcc/rust/hir/tree/rust-hir-full-test.cc
+++ b/gcc/rust/hir/tree/rust-hir-full-test.cc
@@ -4476,12 +4476,6 @@ TuplePattern::accept_vis (HIRFullVisitor &vis)
   vis.visit (*this);
 }
 
-void
-GroupedPattern::accept_vis (HIRFullVisitor &vis)
-{
-  vis.visit (*this);
-}
-
 void
 SlicePattern::accept_vis (HIRFullVisitor &vis)
 {
@@ -4608,12 +4602,6 @@ EmptyStmt::accept_vis (HIRStmtVisitor &vis)
   vis.visit (*this);
 }
 
-void
-GroupedPattern::accept_vis (HIRPatternVisitor &vis)
-{
-  vis.visit (*this);
-}
-
 void
 WildcardPattern::accept_vis (HIRPatternVisitor &vis)
 {
diff --git a/gcc/rust/hir/tree/rust-hir-pattern.h b/gcc/rust/hir/tree/rust-hir-pattern.h
index d994e37c2a2..069d0cb1096 100644
--- a/gcc/rust/hir/tree/rust-hir-pattern.h
+++ b/gcc/rust/hir/tree/rust-hir-pattern.h
@@ -1215,75 +1215,6 @@ protected:
   }
 };
 
-// HIR node representing a pattern in parentheses, used to control precedence
-class GroupedPattern : public Pattern
-{
-  std::unique_ptr<Pattern> pattern_in_parens;
-  Location locus;
-  Analysis::NodeMapping mappings;
-
-public:
-  std::string as_string () const override
-  {
-    return "(" + pattern_in_parens->as_string () + ")";
-  }
-
-  GroupedPattern (Analysis::NodeMapping mappings,
-		  std::unique_ptr<Pattern> pattern_in_parens, Location locus)
-    : pattern_in_parens (std::move (pattern_in_parens)), locus (locus),
-      mappings (mappings)
-  {}
-
-  // Copy constructor uses clone
-  GroupedPattern (GroupedPattern const &other)
-    : pattern_in_parens (other.pattern_in_parens->clone_pattern ()),
-      locus (other.locus), mappings (other.mappings)
-  {}
-
-  // Overload assignment operator to clone
-  GroupedPattern &operator= (GroupedPattern const &other)
-  {
-    pattern_in_parens = other.pattern_in_parens->clone_pattern ();
-    locus = other.locus;
-    mappings = other.mappings;
-
-    return *this;
-  }
-
-  // default move semantics
-  GroupedPattern (GroupedPattern &&other) = default;
-  GroupedPattern &operator= (GroupedPattern &&other) = default;
-
-  Location get_locus () const override { return locus; }
-
-  void accept_vis (HIRFullVisitor &vis) override;
-  void accept_vis (HIRPatternVisitor &vis) override;
-
-  Analysis::NodeMapping get_pattern_mappings () const override final
-  {
-    return mappings;
-  }
-
-  PatternType get_pattern_type () const override final
-  {
-    return PatternType::GROUPED;
-  }
-
-  std::unique_ptr<Pattern> &get_item () { return pattern_in_parens; }
-  const std::unique_ptr<Pattern> &get_item () const
-  {
-    return pattern_in_parens;
-  }
-
-protected:
-  /* Use covariance to implement clone function as returning this object rather
-   * than base */
-  GroupedPattern *clone_pattern_impl () const override
-  {
-    return new GroupedPattern (*this);
-  }
-};
-
 // HIR node representing patterns that can match slices and arrays
 class SlicePattern : public Pattern
 {
diff --git a/gcc/rust/hir/tree/rust-hir-visitor.h b/gcc/rust/hir/tree/rust-hir-visitor.h
index a92279210fd..1055f4dd15b 100644
--- a/gcc/rust/hir/tree/rust-hir-visitor.h
+++ b/gcc/rust/hir/tree/rust-hir-visitor.h
@@ -138,7 +138,6 @@ public:
   virtual void visit (TuplePatternItemsMultiple &tuple_items) = 0;
   virtual void visit (TuplePatternItemsRanged &tuple_items) = 0;
   virtual void visit (TuplePattern &pattern) = 0;
-  virtual void visit (GroupedPattern &pattern) = 0;
   virtual void visit (SlicePattern &pattern) = 0;
   virtual void visit (EmptyStmt &stmt) = 0;
   virtual void visit (LetStmt &stmt) = 0;
@@ -290,7 +289,6 @@ public:
   virtual void visit (TuplePatternItemsMultiple &) override {}
   virtual void visit (TuplePatternItemsRanged &) override {}
   virtual void visit (TuplePattern &) override {}
-  virtual void visit (GroupedPattern &) override {}
   virtual void visit (SlicePattern &) override {}
 
   virtual void visit (EmptyStmt &) override {}
@@ -470,7 +468,6 @@ public:
 class HIRPatternVisitor
 {
 public:
-  virtual void visit (GroupedPattern &) = 0;
   virtual void visit (IdentifierPattern &) = 0;
   virtual void visit (LiteralPattern &) = 0;
   virtual void visit (PathInExpression &) = 0;
diff --git a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc
index 2a033ba5191..6b591c66f5e 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-pattern.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check-pattern.cc
@@ -386,15 +386,6 @@ TypeCheckPattern::visit (HIR::IdentifierPattern &)
   infered = parent;
 }
 
-void
-TypeCheckPattern::visit (HIR::GroupedPattern &pattern)
-{
-  TyTy::BaseType *inner_ty
-    = TypeCheckPattern::Resolve (pattern.get_item ().get (), parent);
-  infered = inner_ty->clone ();
-  infered->set_ref (pattern.get_pattern_mappings ().get_hirid ());
-}
-
 void
 TypeCheckPattern::visit (HIR::QualifiedPathInExpression &)
 {
diff --git a/gcc/rust/typecheck/rust-hir-type-check-pattern.h b/gcc/rust/typecheck/rust-hir-type-check-pattern.h
index 8af106033b7..ac4f0783066 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-pattern.h
+++ b/gcc/rust/typecheck/rust-hir-type-check-pattern.h
@@ -39,7 +39,6 @@ public:
   void visit (HIR::LiteralPattern &pattern) override;
   void visit (HIR::RangePattern &pattern) override;
   void visit (HIR::IdentifierPattern &pattern) override;
-  void visit (HIR::GroupedPattern &pattern) override;
   void visit (HIR::QualifiedPathInExpression &pattern) override;
   void visit (HIR::ReferencePattern &pattern) override;
   void visit (HIR::SlicePattern &pattern) override;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-02-07 17:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-07 17:53 [gcc/devel/rust/master] Remove HIR::GroupedPattern Thomas Schwinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).