Skip to content

Commit 7dba381

Browse files
PolygonalrP-E-P
authored andcommitted
gccrs: Refactor AST Patterns that hold multiple pattern items
Patterns include TuplePattern, TupleStructPattern & SlicePattern. Besides making their pattern items container class inherit from a common `PatternItems` base class just like in HIR for better standardization, mentions of `Range` are also changed to `HasRest` or `NoRest`. gcc/rust/ChangeLog: * ast/rust-pattern.h: - Add a new base abstract class `PatternItems` which are used by pattern items class class derivatives for `TuplePattern`, `TupleStructPattern` & `SlicePattern`. - Standardized the derived class names to have `HasRest` or `NoRest` as suffixes. - Values for the common `ItemType` enum is updated to `HAS_REST` or `NO_REST`. * ast/rust-pattern.cc: Renamed the classes accordingly. * ast/rust-ast-collector.cc: Renamed the classes accordingly. * ast/rust-ast-collector.h: Renamed the classes accordingly. * ast/rust-ast-full-decls.h: Renamed the classes accordingly. * ast/rust-ast-visitor.cc: Renamed the classes accordingly. * ast/rust-ast-visitor.h: Renamed the classes accordingly. * ast/rust-desugar-for-loops.cc: Renamed the classes accordingly. * ast/rust-desugar-question-mark.cc: Renamed the classes accordingly. * expand/rust-cfg-strip.cc: Renamed the classes accordingly. * expand/rust-cfg-strip.h: Renamed the classes accordingly. * expand/rust-derive-clone.cc: Renamed the classes accordingly. * expand/rust-derive-cmp-common.cc: Renamed the classes accordingly. * expand/rust-derive-hash.cc: Renamed the classes accordingly. * expand/rust-derive-ord.cc: Renamed the classes accordingly. * expand/rust-derive-partial-eq.cc: Renamed the classes accordingly. * expand/rust-derive.h: Renamed the classes accordingly. * expand/rust-expand-visitor.cc: Renamed the classes accordingly. * expand/rust-expand-visitor.h: Renamed the classes accordingly. * hir/rust-ast-lower-base.cc: Renamed the classes accordingly. * hir/rust-ast-lower-base.h: Renamed the classes accordingly. * hir/rust-ast-lower-pattern.cc: Renamed the classes accordingly. * hir/tree/rust-hir-pattern.h: Renamed the classes accordingly. * parse/rust-parse-impl.h: Renamed the classes accordingly. * resolve/rust-ast-resolve-base.cc: Renamed the classes accordingly. * resolve/rust-ast-resolve-base.h: Renamed the classes accordingly. * resolve/rust-ast-resolve-pattern.cc: Renamed the classes accordingly. * util/rust-attributes.cc: Renamed the classes accordingly. * util/rust-attributes.h: Renamed the classes accordingly. Signed-off-by: Yap Zhi Heng <[email protected]>
1 parent 1228e8b commit 7dba381

29 files changed

+218
-251
lines changed

gcc/rust/ast/rust-ast-collector.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2650,13 +2650,13 @@ TokenCollector::visit (StructPattern &pattern)
26502650
// void TokenCollector::visit(TupleStructItems& ){}
26512651

26522652
void
2653-
TokenCollector::visit (TupleStructItemsNoRange &pattern)
2653+
TokenCollector::visit (TupleStructItemsNoRest &pattern)
26542654
{
26552655
visit_items_joined_by_separator (pattern.get_patterns ());
26562656
}
26572657

26582658
void
2659-
TokenCollector::visit (TupleStructItemsRange &pattern)
2659+
TokenCollector::visit (TupleStructItemsHasRest &pattern)
26602660
{
26612661
for (auto &lower : pattern.get_lower_patterns ())
26622662
{
@@ -2683,13 +2683,13 @@ TokenCollector::visit (TupleStructPattern &pattern)
26832683
// {}
26842684

26852685
void
2686-
TokenCollector::visit (TuplePatternItemsMultiple &pattern)
2686+
TokenCollector::visit (TuplePatternItemsNoRest &pattern)
26872687
{
26882688
visit_items_joined_by_separator (pattern.get_patterns (), COMMA);
26892689
}
26902690

26912691
void
2692-
TokenCollector::visit (TuplePatternItemsRanged &pattern)
2692+
TokenCollector::visit (TuplePatternItemsHasRest &pattern)
26932693
{
26942694
for (auto &lower : pattern.get_lower_patterns ())
26952695
{

gcc/rust/ast/rust-ast-collector.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -370,12 +370,12 @@ class TokenCollector : public ASTVisitor
370370
void visit (StructPatternFieldIdent &field);
371371
void visit (StructPattern &pattern);
372372
// void visit(TupleStructItems& tuple_items);
373-
void visit (TupleStructItemsNoRange &tuple_items);
374-
void visit (TupleStructItemsRange &tuple_items);
373+
void visit (TupleStructItemsNoRest &tuple_items);
374+
void visit (TupleStructItemsHasRest &tuple_items);
375375
void visit (TupleStructPattern &pattern);
376376
// void visit(TuplePatternItems& tuple_items);
377-
void visit (TuplePatternItemsMultiple &tuple_items);
378-
void visit (TuplePatternItemsRanged &tuple_items);
377+
void visit (TuplePatternItemsNoRest &tuple_items);
378+
void visit (TuplePatternItemsHasRest &tuple_items);
379379
void visit (TuplePattern &pattern);
380380
void visit (GroupedPattern &pattern);
381381
void visit (SlicePatternItemsNoRest &items);

gcc/rust/ast/rust-ast-full-decls.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,12 +240,12 @@ class StructPatternFieldIdent;
240240
class StructPatternElements;
241241
class StructPattern;
242242
class TupleStructItems;
243-
class TupleStructItemsNoRange;
244-
class TupleStructItemsRange;
243+
class TupleStructItemsNoRest;
244+
class TupleStructItemsHasRest;
245245
class TupleStructPattern;
246246
class TuplePatternItems;
247-
class TuplePatternItemsMultiple;
248-
class TuplePatternItemsRanged;
247+
class TuplePatternItemsNoRest;
248+
class TuplePatternItemsHasRest;
249249
class TuplePattern;
250250
class GroupedPattern;
251251
class SlicePatternItemsNoRest;

gcc/rust/ast/rust-ast-visitor.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1296,14 +1296,14 @@ DefaultASTVisitor::visit (AST::StructPattern &pattern)
12961296
}
12971297

12981298
void
1299-
DefaultASTVisitor::visit (AST::TupleStructItemsNoRange &tuple_items)
1299+
DefaultASTVisitor::visit (AST::TupleStructItemsNoRest &tuple_items)
13001300
{
13011301
for (auto &pattern : tuple_items.get_patterns ())
13021302
visit (pattern);
13031303
}
13041304

13051305
void
1306-
DefaultASTVisitor::visit (AST::TupleStructItemsRange &tuple_items)
1306+
DefaultASTVisitor::visit (AST::TupleStructItemsHasRest &tuple_items)
13071307
{
13081308
for (auto &lower : tuple_items.get_lower_patterns ())
13091309
visit (lower);
@@ -1319,14 +1319,14 @@ DefaultASTVisitor::visit (AST::TupleStructPattern &pattern)
13191319
}
13201320

13211321
void
1322-
DefaultASTVisitor::visit (AST::TuplePatternItemsMultiple &tuple_items)
1322+
DefaultASTVisitor::visit (AST::TuplePatternItemsNoRest &tuple_items)
13231323
{
13241324
for (auto &pattern : tuple_items.get_patterns ())
13251325
visit (pattern);
13261326
}
13271327

13281328
void
1329-
DefaultASTVisitor::visit (AST::TuplePatternItemsRanged &tuple_items)
1329+
DefaultASTVisitor::visit (AST::TuplePatternItemsHasRest &tuple_items)
13301330
{
13311331
for (auto &lower : tuple_items.get_lower_patterns ())
13321332
visit (lower);

gcc/rust/ast/rust-ast-visitor.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,12 @@ class ASTVisitor
204204
virtual void visit (StructPatternFieldIdent &field) = 0;
205205
virtual void visit (StructPattern &pattern) = 0;
206206
// virtual void visit(TupleStructItems& tuple_items) = 0;
207-
virtual void visit (TupleStructItemsNoRange &tuple_items) = 0;
208-
virtual void visit (TupleStructItemsRange &tuple_items) = 0;
207+
virtual void visit (TupleStructItemsNoRest &tuple_items) = 0;
208+
virtual void visit (TupleStructItemsHasRest &tuple_items) = 0;
209209
virtual void visit (TupleStructPattern &pattern) = 0;
210210
// virtual void visit(TuplePatternItems& tuple_items) = 0;
211-
virtual void visit (TuplePatternItemsMultiple &tuple_items) = 0;
212-
virtual void visit (TuplePatternItemsRanged &tuple_items) = 0;
211+
virtual void visit (TuplePatternItemsNoRest &tuple_items) = 0;
212+
virtual void visit (TuplePatternItemsHasRest &tuple_items) = 0;
213213
virtual void visit (TuplePattern &pattern) = 0;
214214
virtual void visit (GroupedPattern &pattern) = 0;
215215
virtual void visit (SlicePatternItemsNoRest &items) = 0;
@@ -381,11 +381,11 @@ class DefaultASTVisitor : public ASTVisitor
381381
virtual void visit (AST::StructPatternFieldIdentPat &field) override;
382382
virtual void visit (AST::StructPatternFieldIdent &field) override;
383383
virtual void visit (AST::StructPattern &pattern) override;
384-
virtual void visit (AST::TupleStructItemsNoRange &tuple_items) override;
385-
virtual void visit (AST::TupleStructItemsRange &tuple_items) override;
384+
virtual void visit (AST::TupleStructItemsNoRest &tuple_items) override;
385+
virtual void visit (AST::TupleStructItemsHasRest &tuple_items) override;
386386
virtual void visit (AST::TupleStructPattern &pattern) override;
387-
virtual void visit (AST::TuplePatternItemsMultiple &tuple_items) override;
388-
virtual void visit (AST::TuplePatternItemsRanged &tuple_items) override;
387+
virtual void visit (AST::TuplePatternItemsNoRest &tuple_items) override;
388+
virtual void visit (AST::TuplePatternItemsHasRest &tuple_items) override;
389389
virtual void visit (AST::TuplePattern &pattern) override;
390390
virtual void visit (AST::GroupedPattern &pattern) override;
391391
virtual void visit (AST::SlicePatternItemsNoRest &items) override;

gcc/rust/ast/rust-desugar-for-loops.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ DesugarForLoops::DesugarCtx::make_continue_arm ()
5151
patterns.emplace_back (std::move (val));
5252

5353
auto pattern_item = std::unique_ptr<TupleStructItems> (
54-
new TupleStructItemsNoRange (std::move (patterns)));
54+
new TupleStructItemsNoRest (std::move (patterns)));
5555
auto pattern = std::unique_ptr<Pattern> (new TupleStructPattern (
5656
builder.path_in_expression (LangItem::Kind::OPTION_SOME),
5757
std::move (pattern_item)));

gcc/rust/ast/rust-desugar-question-mark.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ ok_case (Builder &builder)
5555
patterns.emplace_back (std::move (val));
5656

5757
auto pattern_item = std::unique_ptr<TupleStructItems> (
58-
new TupleStructItemsNoRange (std::move (patterns)));
58+
new TupleStructItemsNoRest (std::move (patterns)));
5959
auto pattern = std::unique_ptr<Pattern> (new TupleStructPattern (
6060
builder.path_in_expression (LangItem::Kind::RESULT_OK),
6161
std::move (pattern_item)));
@@ -82,7 +82,7 @@ err_case (Builder &builder)
8282
patterns.emplace_back (std::move (val));
8383

8484
auto pattern_item = std::unique_ptr<TupleStructItems> (
85-
new TupleStructItemsNoRange (std::move (patterns)));
85+
new TupleStructItemsNoRest (std::move (patterns)));
8686
auto pattern = std::unique_ptr<Pattern> (new TupleStructPattern (
8787
builder.path_in_expression (LangItem::Kind::RESULT_ERR),
8888
std::move (pattern_item)));

gcc/rust/ast/rust-pattern.cc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ StructPattern::as_string () const
212212
}
213213

214214
std::string
215-
TupleStructItemsNoRange::as_string () const
215+
TupleStructItemsNoRest::as_string () const
216216
{
217217
std::string str;
218218

@@ -223,7 +223,7 @@ TupleStructItemsNoRange::as_string () const
223223
}
224224

225225
std::string
226-
TupleStructItemsRange::as_string () const
226+
TupleStructItemsHasRest::as_string () const
227227
{
228228
std::string str ("\n Lower patterns: ");
229229

@@ -264,7 +264,7 @@ TupleStructPattern::as_string () const
264264
}
265265

266266
std::string
267-
TuplePatternItemsMultiple::as_string () const
267+
TuplePatternItemsNoRest::as_string () const
268268
{
269269
std::string str;
270270

@@ -275,7 +275,7 @@ TuplePatternItemsMultiple::as_string () const
275275
}
276276

277277
std::string
278-
TuplePatternItemsRanged::as_string () const
278+
TuplePatternItemsHasRest::as_string () const
279279
{
280280
std::string str;
281281

@@ -421,7 +421,7 @@ SlicePattern::accept_vis (ASTVisitor &vis)
421421
}
422422

423423
void
424-
TuplePatternItemsRanged::accept_vis (ASTVisitor &vis)
424+
TuplePatternItemsHasRest::accept_vis (ASTVisitor &vis)
425425
{
426426
vis.visit (*this);
427427
}
@@ -433,7 +433,7 @@ TuplePattern::accept_vis (ASTVisitor &vis)
433433
}
434434

435435
void
436-
TuplePatternItemsMultiple::accept_vis (ASTVisitor &vis)
436+
TuplePatternItemsNoRest::accept_vis (ASTVisitor &vis)
437437
{
438438
vis.visit (*this);
439439
}
@@ -517,13 +517,13 @@ StructPattern::accept_vis (ASTVisitor &vis)
517517
}
518518

519519
void
520-
TupleStructItemsNoRange::accept_vis (ASTVisitor &vis)
520+
TupleStructItemsNoRest::accept_vis (ASTVisitor &vis)
521521
{
522522
vis.visit (*this);
523523
}
524524

525525
void
526-
TupleStructItemsRange::accept_vis (ASTVisitor &vis)
526+
TupleStructItemsHasRest::accept_vis (ASTVisitor &vis)
527527
{
528528
vis.visit (*this);
529529
}

0 commit comments

Comments
 (0)