aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-12-29 15:17:03 +0000
committerGitHub <noreply@github.com>2021-12-29 15:17:03 +0000
commit69f6be3ee483c9895b4b5187a44b3e1c8be2ba63 (patch)
tree2f24331cdd2ea739ade92169f2ff4fb031b730f0
parent4c5ebc08e687bf749d548774df86e2a5cb69ebce (diff)
parentf9b6c0caf816bd02ca39fae0ecf2cb68e1d792e2 (diff)
downloadgcc-69f6be3ee483c9895b4b5187a44b3e1c8be2ba63.zip
gcc-69f6be3ee483c9895b4b5187a44b3e1c8be2ba63.tar.gz
gcc-69f6be3ee483c9895b4b5187a44b3e1c8be2ba63.tar.bz2
Merge #846
846: HIR visitor refactor r=philberty a=dkm This is the first step of a bigger refactor (see #825). This patch introduces a new HIRFullVisitor with default implementations for all visitor methods. This visitor is used as base classe for several existing HIR visitors that also currently define empty behavior (eg. TypeCheckBase, ConstFoldBase, ...). Signed-off-by: Marc Poulhiès <dkm@kataplop.net> Co-authored-by: Marc Poulhiès <dkm@kataplop.net>
-rw-r--r--gcc/rust/backend/rust-compile-base.h159
-rw-r--r--gcc/rust/hir/tree/rust-hir-cond-compilation.h10
-rw-r--r--gcc/rust/hir/tree/rust-hir-expr.h138
-rw-r--r--gcc/rust/hir/tree/rust-hir-full-test.cc266
-rw-r--r--gcc/rust/hir/tree/rust-hir-item.h64
-rw-r--r--gcc/rust/hir/tree/rust-hir-path.h14
-rw-r--r--gcc/rust/hir/tree/rust-hir-pattern.h48
-rw-r--r--gcc/rust/hir/tree/rust-hir-stmt.h8
-rw-r--r--gcc/rust/hir/tree/rust-hir-type.h26
-rw-r--r--gcc/rust/hir/tree/rust-hir-visitor.h157
-rw-r--r--gcc/rust/hir/tree/rust-hir.h26
-rw-r--r--gcc/rust/lint/rust-lint-marklive-base.h150
-rw-r--r--gcc/rust/typecheck/rust-hir-const-fold-base.h151
-rw-r--r--gcc/rust/typecheck/rust-hir-type-check-base.h153
-rw-r--r--gcc/rust/typecheck/rust-hir-type-check-util.h159
-rw-r--r--gcc/rust/typecheck/rust-tycheck-dump.h4
16 files changed, 466 insertions, 1067 deletions
diff --git a/gcc/rust/backend/rust-compile-base.h b/gcc/rust/backend/rust-compile-base.h
index ed6bba4..b3ae1f6 100644
--- a/gcc/rust/backend/rust-compile-base.h
+++ b/gcc/rust/backend/rust-compile-base.h
@@ -25,168 +25,11 @@
namespace Rust {
namespace Compile {
-class HIRCompileBase : public HIR::HIRVisitor
+class HIRCompileBase : public HIR::HIRFullVisitorBase
{
public:
virtual ~HIRCompileBase () {}
- // rust-ast.h
- virtual void visit (HIR::IdentifierExpr &ident_expr) {}
- virtual void visit (HIR::Lifetime &lifetime) {}
- virtual void visit (HIR::LifetimeParam &lifetime_param) {}
-
- // rust-path.h
- virtual void visit (HIR::PathInExpression &path) {}
- virtual void visit (HIR::TypePathSegment &segment) {}
- virtual void visit (HIR::TypePathSegmentGeneric &segment) {}
- virtual void visit (HIR::TypePathSegmentFunction &segment) {}
- virtual void visit (HIR::TypePath &path) {}
- virtual void visit (HIR::QualifiedPathInExpression &path) {}
- virtual void visit (HIR::QualifiedPathInType &path) {}
-
- // rust-expr.h
- virtual void visit (HIR::LiteralExpr &expr) {}
- virtual void visit (HIR::BorrowExpr &expr) {}
- virtual void visit (HIR::DereferenceExpr &expr) {}
- virtual void visit (HIR::ErrorPropagationExpr &expr) {}
- virtual void visit (HIR::NegationExpr &expr) {}
- virtual void visit (HIR::ArithmeticOrLogicalExpr &expr) {}
- virtual void visit (HIR::ComparisonExpr &expr) {}
- virtual void visit (HIR::LazyBooleanExpr &expr) {}
- virtual void visit (HIR::TypeCastExpr &expr) {}
- virtual void visit (HIR::AssignmentExpr &expr) {}
- virtual void visit (HIR::CompoundAssignmentExpr &expr) {}
- virtual void visit (HIR::GroupedExpr &expr) {}
- // virtual void visit(ArrayElems& elems) {}
- virtual void visit (HIR::ArrayElemsValues &elems) {}
- virtual void visit (HIR::ArrayElemsCopied &elems) {}
- virtual void visit (HIR::ArrayExpr &expr) {}
- virtual void visit (HIR::ArrayIndexExpr &expr) {}
- virtual void visit (HIR::TupleExpr &expr) {}
- virtual void visit (HIR::TupleIndexExpr &expr) {}
- virtual void visit (HIR::StructExprStruct &expr) {}
- // virtual void visit(StructExprField& field) {}
- virtual void visit (HIR::StructExprFieldIdentifier &field) {}
- virtual void visit (HIR::StructExprFieldIdentifierValue &field) {}
- virtual void visit (HIR::StructExprFieldIndexValue &field) {}
- virtual void visit (HIR::StructExprStructFields &expr) {}
- virtual void visit (HIR::StructExprStructBase &expr) {}
- virtual void visit (HIR::CallExpr &expr) {}
- virtual void visit (HIR::MethodCallExpr &expr) {}
- virtual void visit (HIR::FieldAccessExpr &expr) {}
- virtual void visit (HIR::ClosureExprInner &expr) {}
- virtual void visit (HIR::BlockExpr &expr) {}
- virtual void visit (HIR::ClosureExprInnerTyped &expr) {}
- virtual void visit (HIR::ContinueExpr &expr) {}
- virtual void visit (HIR::BreakExpr &expr) {}
- virtual void visit (HIR::RangeFromToExpr &expr) {}
- virtual void visit (HIR::RangeFromExpr &expr) {}
- virtual void visit (HIR::RangeToExpr &expr) {}
- virtual void visit (HIR::RangeFullExpr &expr) {}
- virtual void visit (HIR::RangeFromToInclExpr &expr) {}
- virtual void visit (HIR::RangeToInclExpr &expr) {}
- virtual void visit (HIR::ReturnExpr &expr) {}
- virtual void visit (HIR::UnsafeBlockExpr &expr) {}
- virtual void visit (HIR::LoopExpr &expr) {}
- virtual void visit (HIR::WhileLoopExpr &expr) {}
- virtual void visit (HIR::WhileLetLoopExpr &expr) {}
- virtual void visit (HIR::ForLoopExpr &expr) {}
- virtual void visit (HIR::IfExpr &expr) {}
- virtual void visit (HIR::IfExprConseqElse &expr) {}
- virtual void visit (HIR::IfExprConseqIf &expr) {}
- virtual void visit (HIR::IfExprConseqIfLet &expr) {}
- virtual void visit (HIR::IfLetExpr &expr) {}
- virtual void visit (HIR::IfLetExprConseqElse &expr) {}
- virtual void visit (HIR::IfLetExprConseqIf &expr) {}
- virtual void visit (HIR::IfLetExprConseqIfLet &expr) {}
- // virtual void visit(MatchCase& match_case) {}
- // virtual void visit (HIR::MatchCaseBlockExpr &match_case) {}
- // virtual void visit (HIR::MatchCaseExpr &match_case) {}
- virtual void visit (HIR::MatchExpr &expr) {}
- virtual void visit (HIR::AwaitExpr &expr) {}
- virtual void visit (HIR::AsyncBlockExpr &expr) {}
-
- // rust-item.h
- virtual void visit (HIR::TypeParam &param) {}
- // virtual void visit(WhereClauseItem& item) {}
- virtual void visit (HIR::LifetimeWhereClauseItem &item) {}
- virtual void visit (HIR::TypeBoundWhereClauseItem &item) {}
- virtual void visit (HIR::Module &module) {}
- virtual void visit (HIR::ExternCrate &crate) {}
- // virtual void visit(UseTree& use_tree) {}
- virtual void visit (HIR::UseTreeGlob &use_tree) {}
- virtual void visit (HIR::UseTreeList &use_tree) {}
- virtual void visit (HIR::UseTreeRebind &use_tree) {}
- virtual void visit (HIR::UseDeclaration &use_decl) {}
- virtual void visit (HIR::Function &function) {}
- virtual void visit (HIR::TypeAlias &type_alias) {}
- virtual void visit (HIR::StructStruct &struct_item) {}
- virtual void visit (HIR::TupleStruct &tuple_struct) {}
- virtual void visit (HIR::EnumItem &item) {}
- virtual void visit (HIR::EnumItemTuple &item) {}
- virtual void visit (HIR::EnumItemStruct &item) {}
- virtual void visit (HIR::EnumItemDiscriminant &item) {}
- virtual void visit (HIR::Enum &enum_item) {}
- virtual void visit (HIR::Union &union_item) {}
- virtual void visit (HIR::ConstantItem &const_item) {}
- virtual void visit (HIR::StaticItem &static_item) {}
- virtual void visit (HIR::TraitItemFunc &item) {}
- virtual void visit (HIR::TraitItemConst &item) {}
- virtual void visit (HIR::TraitItemType &item) {}
- virtual void visit (HIR::Trait &trait) {}
- virtual void visit (HIR::ImplBlock &impl) {}
-
- virtual void visit (HIR::ExternalStaticItem &item) {}
- virtual void visit (HIR::ExternalFunctionItem &item) {}
- virtual void visit (HIR::ExternBlock &block) {}
-
- // rust-pattern.h
- virtual void visit (HIR::LiteralPattern &pattern) {}
- virtual void visit (HIR::IdentifierPattern &pattern) {}
- virtual void visit (HIR::WildcardPattern &pattern) {}
- // virtual void visit(RangePatternBound& bound) {}
- virtual void visit (HIR::RangePatternBoundLiteral &bound) {}
- virtual void visit (HIR::RangePatternBoundPath &bound) {}
- virtual void visit (HIR::RangePatternBoundQualPath &bound) {}
- virtual void visit (HIR::RangePattern &pattern) {}
- virtual void visit (HIR::ReferencePattern &pattern) {}
- // virtual void visit(StructPatternField& field) {}
- virtual void visit (HIR::StructPatternFieldTuplePat &field) {}
- virtual void visit (HIR::StructPatternFieldIdentPat &field) {}
- virtual void visit (HIR::StructPatternFieldIdent &field) {}
- virtual void visit (HIR::StructPattern &pattern) {}
- // virtual void visit(TupleStructItems& tuple_items) {}
- virtual void visit (HIR::TupleStructItemsNoRange &tuple_items) {}
- virtual void visit (HIR::TupleStructItemsRange &tuple_items) {}
- virtual void visit (HIR::TupleStructPattern &pattern) {}
- // virtual void visit(TuplePatternItems& tuple_items) {}
- virtual void visit (HIR::TuplePatternItemsMultiple &tuple_items) {}
- virtual void visit (HIR::TuplePatternItemsRanged &tuple_items) {}
- virtual void visit (HIR::TuplePattern &pattern) {}
- virtual void visit (HIR::GroupedPattern &pattern) {}
- virtual void visit (HIR::SlicePattern &pattern) {}
-
- // rust-stmt.h
- virtual void visit (HIR::EmptyStmt &stmt) {}
- virtual void visit (HIR::LetStmt &stmt) {}
- virtual void visit (HIR::ExprStmtWithoutBlock &stmt) {}
- virtual void visit (HIR::ExprStmtWithBlock &stmt) {}
-
- // rust-type.h
- virtual void visit (HIR::TraitBound &bound) {}
- virtual void visit (HIR::ImplTraitType &type) {}
- virtual void visit (HIR::TraitObjectType &type) {}
- virtual void visit (HIR::ParenthesisedType &type) {}
- virtual void visit (HIR::ImplTraitTypeOneBound &type) {}
- virtual void visit (HIR::TupleType &type) {}
- virtual void visit (HIR::NeverType &type) {}
- virtual void visit (HIR::RawPointerType &type) {}
- virtual void visit (HIR::ReferenceType &type) {}
- virtual void visit (HIR::ArrayType &type) {}
- virtual void visit (HIR::SliceType &type) {}
- virtual void visit (HIR::InferredType &type) {}
- virtual void visit (HIR::BareFunctionType &type) {}
-
protected:
HIRCompileBase (Context *ctx) : ctx (ctx) {}
diff --git a/gcc/rust/hir/tree/rust-hir-cond-compilation.h b/gcc/rust/hir/tree/rust-hir-cond-compilation.h
index 0bb975e..40da4c13 100644
--- a/gcc/rust/hir/tree/rust-hir-cond-compilation.h
+++ b/gcc/rust/hir/tree/rust-hir-cond-compilation.h
@@ -38,7 +38,7 @@ public:
}
// not sure if I'll use this but here anyway
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
protected:
// Clone function impl to be overriden in base classes
@@ -67,7 +67,7 @@ public:
// Name-only constructor
ConfigurationOption (Identifier option_name) : option_name (option_name) {}
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -96,7 +96,7 @@ public:
: predicate_list (predicate_list)
{}
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -119,7 +119,7 @@ public:
: predicate_list (predicate_list)
{}
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -159,7 +159,7 @@ public:
ConfigurationNot (ConfigurationNot &&other) = default;
ConfigurationNot &operator= (ConfigurationNot &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
diff --git a/gcc/rust/hir/tree/rust-hir-expr.h b/gcc/rust/hir/tree/rust-hir-expr.h
index e50e210..6784550 100644
--- a/gcc/rust/hir/tree/rust-hir-expr.h
+++ b/gcc/rust/hir/tree/rust-hir-expr.h
@@ -93,7 +93,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Literal *get_literal () { return &literal; }
@@ -186,7 +186,7 @@ public:
mut (mut), double_borrow (is_double_borrow)
{}
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Mutability get_mut () const { return mut; }
bool is_mut () const { return mut == Mutability::Mut; }
@@ -222,7 +222,7 @@ public:
std::move (outer_attribs), locus)
{}
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -254,7 +254,7 @@ public:
std::move (outer_attribs), locus)
{}
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -298,7 +298,7 @@ public:
expr_type (expr_kind)
{}
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -366,10 +366,10 @@ public:
ArithmeticOrLogicalExpr &operator= (ArithmeticOrLogicalExpr &&other)
= default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
- void visit_lhs (HIRVisitor &vis) { main_or_left_expr->accept_vis (vis); }
- void visit_rhs (HIRVisitor &vis) { right_expr->accept_vis (vis); }
+ void visit_lhs (HIRFullVisitor &vis) { main_or_left_expr->accept_vis (vis); }
+ void visit_rhs (HIRFullVisitor &vis) { right_expr->accept_vis (vis); }
Expr *get_lhs () { return main_or_left_expr.get (); }
Expr *get_rhs () { return right_expr.get (); }
@@ -440,7 +440,7 @@ public:
ComparisonExpr (ComparisonExpr &&other) = default;
ComparisonExpr &operator= (ComparisonExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Expr *get_lhs () { return main_or_left_expr.get (); }
Expr *get_rhs () { return right_expr.get (); }
@@ -513,7 +513,7 @@ public:
ExprType get_expr_type () const { return expr_type; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Expr *get_lhs () { return main_or_left_expr.get (); }
@@ -574,7 +574,7 @@ public:
TypeCastExpr (TypeCastExpr &&other) = default;
TypeCastExpr &operator= (TypeCastExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_casted_expr ()
{
@@ -642,10 +642,10 @@ public:
AssignmentExpr (AssignmentExpr &&other) = default;
AssignmentExpr &operator= (AssignmentExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
- void visit_lhs (HIRVisitor &vis) { main_or_left_expr->accept_vis (vis); }
- void visit_rhs (HIRVisitor &vis) { right_expr->accept_vis (vis); }
+ void visit_lhs (HIRFullVisitor &vis) { main_or_left_expr->accept_vis (vis); }
+ void visit_rhs (HIRFullVisitor &vis) { right_expr->accept_vis (vis); }
Expr *get_lhs () { return main_or_left_expr.get (); }
Expr *get_rhs () { return right_expr.get (); }
@@ -714,7 +714,7 @@ public:
CompoundAssignmentExpr (CompoundAssignmentExpr &&other) = default;
CompoundAssignmentExpr &operator= (CompoundAssignmentExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_left_expr ()
{
@@ -728,8 +728,8 @@ public:
return right_expr;
}
- void visit_lhs (HIRVisitor &vis) { main_or_left_expr->accept_vis (vis); }
- void visit_rhs (HIRVisitor &vis) { right_expr->accept_vis (vis); }
+ void visit_lhs (HIRFullVisitor &vis) { main_or_left_expr->accept_vis (vis); }
+ void visit_rhs (HIRFullVisitor &vis) { right_expr->accept_vis (vis); }
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -786,7 +786,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_expr_in_parens ()
{
@@ -825,7 +825,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
protected:
// pure virtual clone implementation
@@ -868,7 +868,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
size_t get_num_elements () const { return values.size (); }
@@ -916,7 +916,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Expr *get_elem_to_copy () { return elem_to_copy.get (); }
@@ -983,7 +983,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
ArrayElems *get_internal_elements () { return internal_elements.get (); };
@@ -1048,7 +1048,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Expr *get_array_expr () { return array_expr.get (); }
Expr *get_index_expr () { return index_expr.get (); }
@@ -1126,7 +1126,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
const std::vector<std::unique_ptr<Expr> > &get_tuple_elems () const
{
@@ -1200,7 +1200,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_tuple_expr ()
{
@@ -1266,7 +1266,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -1346,7 +1346,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
Analysis::NodeMapping &get_mappings () { return mappings; }
@@ -1380,7 +1380,7 @@ public:
std::string as_string () const override { return field_name; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Identifier get_field_name () const { return field_name; }
@@ -1449,7 +1449,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -1477,7 +1477,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
TupleIndex get_tuple_index () const { return index; };
@@ -1549,7 +1549,7 @@ public:
StructExprStructFields (StructExprStructFields &&other) = default;
StructExprStructFields &operator= (StructExprStructFields &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<StructExprField> > &get_fields ()
{
@@ -1605,7 +1605,7 @@ public:
struct_base (std::move (base_struct))
{}
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
StructBase *get_struct_base () { return &struct_base; }
protected:
@@ -1678,7 +1678,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Expr *get_fnexpr () { return function.get (); }
@@ -1760,7 +1760,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_receiver () { return receiver; }
@@ -1836,7 +1836,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_receiver_expr ()
{
@@ -1980,7 +1980,7 @@ public:
ClosureExprInner (ClosureExprInner &&other) = default;
ClosureExprInner &operator= (ClosureExprInner &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -2074,7 +2074,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
bool is_final_stmt (Stmt *stmt) { return statements.back ().get () == stmt; }
@@ -2159,7 +2159,7 @@ public:
ClosureExprInnerTyped (ClosureExprInnerTyped &&other) = default;
ClosureExprInnerTyped &operator= (ClosureExprInnerTyped &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -2199,7 +2199,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Lifetime &get_label () { return label; }
@@ -2278,7 +2278,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Lifetime &get_label () { return label; }
@@ -2349,7 +2349,7 @@ public:
RangeFromToExpr (RangeFromToExpr &&other) = default;
RangeFromToExpr &operator= (RangeFromToExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -2399,7 +2399,7 @@ public:
RangeFromExpr (RangeFromExpr &&other) = default;
RangeFromExpr &operator= (RangeFromExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -2450,7 +2450,7 @@ public:
RangeToExpr (RangeToExpr &&other) = default;
RangeToExpr &operator= (RangeToExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -2480,7 +2480,7 @@ public:
{}
// outer attributes not allowed
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -2536,7 +2536,7 @@ public:
RangeFromToInclExpr (RangeFromToInclExpr &&other) = default;
RangeFromToInclExpr &operator= (RangeFromToInclExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -2587,7 +2587,7 @@ public:
RangeToInclExpr (RangeToInclExpr &&other) = default;
RangeToInclExpr &operator= (RangeToInclExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -2653,7 +2653,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Expr *get_expr () { return return_expr.get (); }
@@ -2714,7 +2714,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<BlockExpr> &get_block_expr () { return expr; }
@@ -2831,7 +2831,7 @@ public:
std::move (loop_label), std::move (outer_attribs))
{}
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -2886,7 +2886,7 @@ public:
WhileLoopExpr (WhileLoopExpr &&other) = default;
WhileLoopExpr &operator= (WhileLoopExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_predicate_expr () { return condition; }
@@ -2961,7 +2961,7 @@ public:
WhileLetLoopExpr (WhileLetLoopExpr &&other) = default;
WhileLetLoopExpr &operator= (WhileLetLoopExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_cond () { return condition; }
@@ -3026,7 +3026,7 @@ public:
ForLoopExpr (ForLoopExpr &&other) = default;
ForLoopExpr &operator= (ForLoopExpr &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_iterator_expr () { return iterator_expr; }
@@ -3101,10 +3101,10 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
- void vis_if_condition (HIRVisitor &vis) { condition->accept_vis (vis); }
- void vis_if_block (HIRVisitor &vis) { if_block->accept_vis (vis); }
+ void vis_if_condition (HIRFullVisitor &vis) { condition->accept_vis (vis); }
+ void vis_if_block (HIRFullVisitor &vis) { if_block->accept_vis (vis); }
Expr *get_if_condition () { return condition.get (); }
BlockExpr *get_if_block () { return if_block.get (); }
@@ -3163,9 +3163,9 @@ public:
IfExprConseqElse (IfExprConseqElse &&other) = default;
IfExprConseqElse &operator= (IfExprConseqElse &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
- void vis_else_block (HIRVisitor &vis) { else_block->accept_vis (vis); }
+ void vis_else_block (HIRFullVisitor &vis) { else_block->accept_vis (vis); }
BlockExpr *get_else_block () { return else_block.get (); }
@@ -3230,9 +3230,9 @@ public:
IfExprConseqIf (IfExprConseqIf &&other) = default;
IfExprConseqIf &operator= (IfExprConseqIf &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
- void vis_conseq_if_expr (HIRVisitor &vis)
+ void vis_conseq_if_expr (HIRFullVisitor &vis)
{
conseq_if_expr->accept_vis (vis);
}
@@ -3325,7 +3325,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -3385,7 +3385,7 @@ public:
IfExprConseqIfLet (IfExprConseqIfLet &&other) = default;
IfExprConseqIfLet &operator= (IfExprConseqIfLet &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -3452,7 +3452,7 @@ public:
IfLetExprConseqElse (IfLetExprConseqElse &&other) = default;
IfLetExprConseqElse &operator= (IfLetExprConseqElse &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -3518,7 +3518,7 @@ public:
IfLetExprConseqIf (IfLetExprConseqIf &&other) = default;
IfLetExprConseqIf &operator= (IfLetExprConseqIf &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -3584,7 +3584,7 @@ public:
IfLetExprConseqIfLet (IfLetExprConseqIfLet &&other) = default;
IfLetExprConseqIfLet &operator= (IfLetExprConseqIfLet &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -3756,7 +3756,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -3800,7 +3800,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -3868,7 +3868,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_scrutinee_expr ()
{
@@ -3931,7 +3931,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -3984,7 +3984,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
diff --git a/gcc/rust/hir/tree/rust-hir-full-test.cc b/gcc/rust/hir/tree/rust-hir-full-test.cc
index 76b8825..adc8eea 100644
--- a/gcc/rust/hir/tree/rust-hir-full-test.cc
+++ b/gcc/rust/hir/tree/rust-hir-full-test.cc
@@ -3750,799 +3750,799 @@ Module::add_crate_name (std::vector<std::string> &names) const
}
void
-IdentifierExpr::accept_vis (HIRVisitor &vis)
+IdentifierExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-Lifetime::accept_vis (HIRVisitor &vis)
+Lifetime::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-LifetimeParam::accept_vis (HIRVisitor &vis)
+LifetimeParam::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-PathInExpression::accept_vis (HIRVisitor &vis)
+PathInExpression::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TypePathSegment::accept_vis (HIRVisitor &vis)
+TypePathSegment::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TypePathSegmentGeneric::accept_vis (HIRVisitor &vis)
+TypePathSegmentGeneric::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TypePathSegmentFunction::accept_vis (HIRVisitor &vis)
+TypePathSegmentFunction::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TypePath::accept_vis (HIRVisitor &vis)
+TypePath::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-QualifiedPathInExpression::accept_vis (HIRVisitor &vis)
+QualifiedPathInExpression::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-QualifiedPathInType::accept_vis (HIRVisitor &vis)
+QualifiedPathInType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-LiteralExpr::accept_vis (HIRVisitor &vis)
+LiteralExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-BorrowExpr::accept_vis (HIRVisitor &vis)
+BorrowExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-DereferenceExpr::accept_vis (HIRVisitor &vis)
+DereferenceExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ErrorPropagationExpr::accept_vis (HIRVisitor &vis)
+ErrorPropagationExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-NegationExpr::accept_vis (HIRVisitor &vis)
+NegationExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ArithmeticOrLogicalExpr::accept_vis (HIRVisitor &vis)
+ArithmeticOrLogicalExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ComparisonExpr::accept_vis (HIRVisitor &vis)
+ComparisonExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-LazyBooleanExpr::accept_vis (HIRVisitor &vis)
+LazyBooleanExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TypeCastExpr::accept_vis (HIRVisitor &vis)
+TypeCastExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-AssignmentExpr::accept_vis (HIRVisitor &vis)
+AssignmentExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-CompoundAssignmentExpr::accept_vis (HIRVisitor &vis)
+CompoundAssignmentExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-GroupedExpr::accept_vis (HIRVisitor &vis)
+GroupedExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ArrayElemsValues::accept_vis (HIRVisitor &vis)
+ArrayElemsValues::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ArrayElemsCopied::accept_vis (HIRVisitor &vis)
+ArrayElemsCopied::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ArrayExpr::accept_vis (HIRVisitor &vis)
+ArrayExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ArrayIndexExpr::accept_vis (HIRVisitor &vis)
+ArrayIndexExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TupleExpr::accept_vis (HIRVisitor &vis)
+TupleExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TupleIndexExpr::accept_vis (HIRVisitor &vis)
+TupleIndexExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructExprStruct::accept_vis (HIRVisitor &vis)
+StructExprStruct::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructExprFieldIdentifier::accept_vis (HIRVisitor &vis)
+StructExprFieldIdentifier::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructExprFieldIdentifierValue::accept_vis (HIRVisitor &vis)
+StructExprFieldIdentifierValue::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructExprFieldIndexValue::accept_vis (HIRVisitor &vis)
+StructExprFieldIndexValue::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructExprStructFields::accept_vis (HIRVisitor &vis)
+StructExprStructFields::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructExprStructBase::accept_vis (HIRVisitor &vis)
+StructExprStructBase::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-CallExpr::accept_vis (HIRVisitor &vis)
+CallExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-MethodCallExpr::accept_vis (HIRVisitor &vis)
+MethodCallExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-FieldAccessExpr::accept_vis (HIRVisitor &vis)
+FieldAccessExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ClosureExprInner::accept_vis (HIRVisitor &vis)
+ClosureExprInner::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-BlockExpr::accept_vis (HIRVisitor &vis)
+BlockExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ClosureExprInnerTyped::accept_vis (HIRVisitor &vis)
+ClosureExprInnerTyped::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ContinueExpr::accept_vis (HIRVisitor &vis)
+ContinueExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-BreakExpr::accept_vis (HIRVisitor &vis)
+BreakExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RangeFromToExpr::accept_vis (HIRVisitor &vis)
+RangeFromToExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RangeFromExpr::accept_vis (HIRVisitor &vis)
+RangeFromExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RangeToExpr::accept_vis (HIRVisitor &vis)
+RangeToExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RangeFullExpr::accept_vis (HIRVisitor &vis)
+RangeFullExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RangeFromToInclExpr::accept_vis (HIRVisitor &vis)
+RangeFromToInclExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RangeToInclExpr::accept_vis (HIRVisitor &vis)
+RangeToInclExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ReturnExpr::accept_vis (HIRVisitor &vis)
+ReturnExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-UnsafeBlockExpr::accept_vis (HIRVisitor &vis)
+UnsafeBlockExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-LoopExpr::accept_vis (HIRVisitor &vis)
+LoopExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-WhileLoopExpr::accept_vis (HIRVisitor &vis)
+WhileLoopExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-WhileLetLoopExpr::accept_vis (HIRVisitor &vis)
+WhileLetLoopExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ForLoopExpr::accept_vis (HIRVisitor &vis)
+ForLoopExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-IfExpr::accept_vis (HIRVisitor &vis)
+IfExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-IfExprConseqElse::accept_vis (HIRVisitor &vis)
+IfExprConseqElse::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-IfExprConseqIf::accept_vis (HIRVisitor &vis)
+IfExprConseqIf::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-IfExprConseqIfLet::accept_vis (HIRVisitor &vis)
+IfExprConseqIfLet::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-IfLetExpr::accept_vis (HIRVisitor &vis)
+IfLetExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-IfLetExprConseqElse::accept_vis (HIRVisitor &vis)
+IfLetExprConseqElse::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-IfLetExprConseqIf::accept_vis (HIRVisitor &vis)
+IfLetExprConseqIf::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-IfLetExprConseqIfLet::accept_vis (HIRVisitor &vis)
+IfLetExprConseqIfLet::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
/*void
-MatchCaseBlockExpr::accept_vis (HIRVisitor &vis)
+MatchCaseBlockExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-MatchCaseExpr::accept_vis (HIRVisitor &vis)
+MatchCaseExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}*/
void
-MatchExpr::accept_vis (HIRVisitor &vis)
+MatchExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-AwaitExpr::accept_vis (HIRVisitor &vis)
+AwaitExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-AsyncBlockExpr::accept_vis (HIRVisitor &vis)
+AsyncBlockExpr::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TypeParam::accept_vis (HIRVisitor &vis)
+TypeParam::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-LifetimeWhereClauseItem::accept_vis (HIRVisitor &vis)
+LifetimeWhereClauseItem::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TypeBoundWhereClauseItem::accept_vis (HIRVisitor &vis)
+TypeBoundWhereClauseItem::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-Module::accept_vis (HIRVisitor &vis)
+Module::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ExternCrate::accept_vis (HIRVisitor &vis)
+ExternCrate::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-UseTreeGlob::accept_vis (HIRVisitor &vis)
+UseTreeGlob::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-UseTreeList::accept_vis (HIRVisitor &vis)
+UseTreeList::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-UseTreeRebind::accept_vis (HIRVisitor &vis)
+UseTreeRebind::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-UseDeclaration::accept_vis (HIRVisitor &vis)
+UseDeclaration::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-Function::accept_vis (HIRVisitor &vis)
+Function::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TypeAlias::accept_vis (HIRVisitor &vis)
+TypeAlias::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructStruct::accept_vis (HIRVisitor &vis)
+StructStruct::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TupleStruct::accept_vis (HIRVisitor &vis)
+TupleStruct::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-EnumItem::accept_vis (HIRVisitor &vis)
+EnumItem::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-EnumItemTuple::accept_vis (HIRVisitor &vis)
+EnumItemTuple::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-EnumItemStruct::accept_vis (HIRVisitor &vis)
+EnumItemStruct::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-EnumItemDiscriminant::accept_vis (HIRVisitor &vis)
+EnumItemDiscriminant::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-Enum::accept_vis (HIRVisitor &vis)
+Enum::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-Union::accept_vis (HIRVisitor &vis)
+Union::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ConstantItem::accept_vis (HIRVisitor &vis)
+ConstantItem::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StaticItem::accept_vis (HIRVisitor &vis)
+StaticItem::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TraitItemFunc::accept_vis (HIRVisitor &vis)
+TraitItemFunc::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TraitItemConst::accept_vis (HIRVisitor &vis)
+TraitItemConst::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TraitItemType::accept_vis (HIRVisitor &vis)
+TraitItemType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-Trait::accept_vis (HIRVisitor &vis)
+Trait::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ImplBlock::accept_vis (HIRVisitor &vis)
+ImplBlock::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ExternalStaticItem::accept_vis (HIRVisitor &vis)
+ExternalStaticItem::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ExternalFunctionItem::accept_vis (HIRVisitor &vis)
+ExternalFunctionItem::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ExternBlock::accept_vis (HIRVisitor &vis)
+ExternBlock::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-LiteralPattern::accept_vis (HIRVisitor &vis)
+LiteralPattern::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-IdentifierPattern::accept_vis (HIRVisitor &vis)
+IdentifierPattern::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-WildcardPattern::accept_vis (HIRVisitor &vis)
+WildcardPattern::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RangePatternBoundLiteral::accept_vis (HIRVisitor &vis)
+RangePatternBoundLiteral::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RangePatternBoundPath::accept_vis (HIRVisitor &vis)
+RangePatternBoundPath::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RangePatternBoundQualPath::accept_vis (HIRVisitor &vis)
+RangePatternBoundQualPath::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RangePattern::accept_vis (HIRVisitor &vis)
+RangePattern::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ReferencePattern::accept_vis (HIRVisitor &vis)
+ReferencePattern::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructPatternFieldTuplePat::accept_vis (HIRVisitor &vis)
+StructPatternFieldTuplePat::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructPatternFieldIdentPat::accept_vis (HIRVisitor &vis)
+StructPatternFieldIdentPat::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructPatternFieldIdent::accept_vis (HIRVisitor &vis)
+StructPatternFieldIdent::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-StructPattern::accept_vis (HIRVisitor &vis)
+StructPattern::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TupleStructItemsNoRange::accept_vis (HIRVisitor &vis)
+TupleStructItemsNoRange::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TupleStructItemsRange::accept_vis (HIRVisitor &vis)
+TupleStructItemsRange::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TupleStructPattern::accept_vis (HIRVisitor &vis)
+TupleStructPattern::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TuplePatternItemsMultiple::accept_vis (HIRVisitor &vis)
+TuplePatternItemsMultiple::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TuplePatternItemsRanged::accept_vis (HIRVisitor &vis)
+TuplePatternItemsRanged::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TuplePattern::accept_vis (HIRVisitor &vis)
+TuplePattern::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-GroupedPattern::accept_vis (HIRVisitor &vis)
+GroupedPattern::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-SlicePattern::accept_vis (HIRVisitor &vis)
+SlicePattern::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-EmptyStmt::accept_vis (HIRVisitor &vis)
+EmptyStmt::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-LetStmt::accept_vis (HIRVisitor &vis)
+LetStmt::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ExprStmtWithoutBlock::accept_vis (HIRVisitor &vis)
+ExprStmtWithoutBlock::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ExprStmtWithBlock::accept_vis (HIRVisitor &vis)
+ExprStmtWithBlock::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TraitBound::accept_vis (HIRVisitor &vis)
+TraitBound::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ImplTraitType::accept_vis (HIRVisitor &vis)
+ImplTraitType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TraitObjectType::accept_vis (HIRVisitor &vis)
+TraitObjectType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ParenthesisedType::accept_vis (HIRVisitor &vis)
+ParenthesisedType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ImplTraitTypeOneBound::accept_vis (HIRVisitor &vis)
+ImplTraitTypeOneBound::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-TupleType::accept_vis (HIRVisitor &vis)
+TupleType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-NeverType::accept_vis (HIRVisitor &vis)
+NeverType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-RawPointerType::accept_vis (HIRVisitor &vis)
+RawPointerType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ReferenceType::accept_vis (HIRVisitor &vis)
+ReferenceType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-ArrayType::accept_vis (HIRVisitor &vis)
+ArrayType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-SliceType::accept_vis (HIRVisitor &vis)
+SliceType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-InferredType::accept_vis (HIRVisitor &vis)
+InferredType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
void
-BareFunctionType::accept_vis (HIRVisitor &vis)
+BareFunctionType::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
diff --git a/gcc/rust/hir/tree/rust-hir-item.h b/gcc/rust/hir/tree/rust-hir-item.h
index 99a3c48..fb45bfa 100644
--- a/gcc/rust/hir/tree/rust-hir-item.h
+++ b/gcc/rust/hir/tree/rust-hir-item.h
@@ -107,7 +107,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Identifier get_type_representation () const { return type_representation; }
@@ -157,7 +157,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
virtual Analysis::NodeMapping get_mappings () const = 0;
@@ -187,7 +187,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Lifetime &get_lifetime () { return lifetime; }
@@ -268,7 +268,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<LifetimeParam> &get_for_lifetimes () { return for_lifetimes; }
@@ -750,7 +750,7 @@ public:
Module (Module &&other) = default;
Module &operator= (Module &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<Item>> &get_items () { return items; };
@@ -810,7 +810,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
// Override that adds extern crate name in decl to passed list of names.
void add_crate_name (std::vector<std::string> &names) const override
@@ -851,7 +851,7 @@ public:
Location get_locus () const { return locus; }
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
protected:
// Clone function implementation as pure virtual method
@@ -895,7 +895,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
/* TODO: find way to ensure only PATH_PREFIXED glob_type has path - factory
* methods? */
@@ -976,7 +976,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
// TODO: find way to ensure only PATH_PREFIXED path_type has path - factory
// methods?
@@ -1021,7 +1021,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
// TODO: find way to ensure only PATH_PREFIXED path_type has path - factory
// methods?
@@ -1075,7 +1075,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object
@@ -1187,7 +1187,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Analysis::NodeMapping get_impl_mappings () const override
{
@@ -1328,7 +1328,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<GenericParam>> &get_generic_params ()
{
@@ -1551,7 +1551,7 @@ public:
* type is defined. */
bool is_unit_struct () const { return is_unit; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<StructField> &get_fields () { return fields; }
@@ -1659,7 +1659,7 @@ public:
fields (std::move (fields))
{}
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<TupleField> &get_fields () { return fields; }
const std::vector<TupleField> &get_fields () const { return fields; }
@@ -1707,7 +1707,7 @@ public:
virtual std::string as_string () const override;
// not pure virtual as not abstract
- virtual void accept_vis (HIRVisitor &vis) override;
+ virtual void accept_vis (HIRFullVisitor &vis) override;
Location get_locus () const override { return locus; }
@@ -1737,7 +1737,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<TupleField> &get_tuple_fields () { return tuple_fields; }
@@ -1769,7 +1769,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<StructField> &get_struct_fields () { return struct_fields; }
@@ -1817,7 +1817,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Expr> &get_discriminant_expression () { return expression; }
@@ -1911,7 +1911,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Identifier get_identifier () const { return enum_name; }
@@ -2013,7 +2013,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<StructField> &get_variants () { return variants; }
@@ -2072,7 +2072,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Type *get_type () { return type.get (); }
@@ -2153,7 +2153,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Identifier get_identifier () const { return name; }
@@ -2323,7 +2323,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
TraitFunctionDecl &get_decl () { return decl; }
@@ -2400,7 +2400,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Identifier get_name () const { return name; }
@@ -2480,7 +2480,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Identifier get_name () const { return name; }
@@ -2595,7 +2595,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<GenericParam>> &get_generic_params ()
{
@@ -2693,7 +2693,7 @@ public:
// Returns whether inherent impl block has inherent impl items.
bool has_impl_items () const { return !impl_items.empty (); }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<ImplItem>> &get_impl_items ()
{
@@ -2768,7 +2768,7 @@ public:
Location get_locus () const { return locus; }
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
Analysis::NodeMapping get_mappings () const { return mappings; }
@@ -2846,7 +2846,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
bool is_mut () const { return mut == Mutability::Mut; }
@@ -2988,7 +2988,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<GenericParam>> &get_generic_params ()
{
@@ -3081,7 +3081,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<ExternalItem>> &get_extern_items ()
{
diff --git a/gcc/rust/hir/tree/rust-hir-path.h b/gcc/rust/hir/tree/rust-hir-path.h
index 16e1be3..5bf1be5 100644
--- a/gcc/rust/hir/tree/rust-hir-path.h
+++ b/gcc/rust/hir/tree/rust-hir-path.h
@@ -317,7 +317,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
bool opening_scope_resolution () { return has_opening_scope_resolution; }
@@ -420,7 +420,7 @@ public:
Location get_locus () const { return locus; }
// not pure virtual as class not abstract
- virtual void accept_vis (HIRVisitor &vis);
+ virtual void accept_vis (HIRFullVisitor &vis);
const Analysis::NodeMapping &get_mappings () const { return mappings; }
@@ -469,7 +469,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
GenericArgs &get_generic_args () { return generic_args; }
@@ -597,7 +597,7 @@ public:
bool is_ident_only () const override { return false; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
virtual SegmentType get_type () const override final
{
@@ -700,7 +700,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
size_t get_num_segments () const { return segments.size (); }
@@ -823,7 +823,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
QualifiedPathType &get_path_type () { return path_type; }
@@ -921,7 +921,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
QualifiedPathType &get_path_type () { return path_type; }
diff --git a/gcc/rust/hir/tree/rust-hir-pattern.h b/gcc/rust/hir/tree/rust-hir-pattern.h
index 3d0dd52..b0b123f 100644
--- a/gcc/rust/hir/tree/rust-hir-pattern.h
+++ b/gcc/rust/hir/tree/rust-hir-pattern.h
@@ -51,7 +51,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Analysis::NodeMapping get_pattern_mappings () const override final
{
@@ -126,7 +126,7 @@ public:
bool is_mut () const { return mut == Mutability::Mut; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Analysis::NodeMapping get_pattern_mappings () const override final
{
@@ -159,7 +159,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Analysis::NodeMapping get_pattern_mappings () const override final
{
@@ -190,7 +190,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
protected:
// pure virtual as RangePatternBound is abstract
@@ -220,7 +220,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -246,7 +246,7 @@ public:
Location get_locus () const { return path.get_locus (); }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -274,7 +274,7 @@ public:
Location get_locus () const { return path.get_locus (); }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -337,7 +337,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Analysis::NodeMapping get_pattern_mappings () const override final
{
@@ -397,7 +397,7 @@ public:
bool is_mut () const { return mut == Mutability::Mut; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Analysis::NodeMapping get_pattern_mappings () const override final
{
@@ -440,7 +440,7 @@ public:
}
virtual std::string as_string () const;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
virtual ItemType get_item_type () const = 0;
Location get_locus () const { return locus; }
@@ -496,7 +496,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
ItemType get_item_type () const override final { return ItemType::TUPLE_PAT; }
@@ -548,7 +548,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
ItemType get_item_type () const override final { return ItemType::IDENT_PAT; }
@@ -580,7 +580,7 @@ public:
bool is_mut () const { return mut == Mutability::Mut; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
ItemType get_item_type () const override final { return ItemType::IDENT; }
@@ -673,7 +673,7 @@ public:
Location get_locus () const { return path.get_locus (); }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
PathInExpression &get_path () { return path; }
StructPatternElements &get_struct_pattern_elems () { return elems; }
@@ -714,7 +714,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
virtual ItemType get_item_type () const = 0;
@@ -758,7 +758,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<Pattern> > &get_patterns () { return patterns; }
const std::vector<std::unique_ptr<Pattern> > &get_patterns () const
@@ -822,7 +822,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<Pattern> > &get_lower_patterns ()
{
@@ -896,7 +896,7 @@ public:
Location get_locus () const { return path.get_locus (); }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
PathInExpression &get_path () { return path; }
@@ -933,7 +933,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
protected:
// pure virtual clone implementation
@@ -1010,7 +1010,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -1068,7 +1068,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -1115,7 +1115,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Analysis::NodeMapping get_pattern_mappings () const override final
{
@@ -1172,7 +1172,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Analysis::NodeMapping get_pattern_mappings () const override final
{
@@ -1231,7 +1231,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Analysis::NodeMapping get_pattern_mappings () const override final
{
diff --git a/gcc/rust/hir/tree/rust-hir-stmt.h b/gcc/rust/hir/tree/rust-hir-stmt.h
index 29e98fa..5d8a263 100644
--- a/gcc/rust/hir/tree/rust-hir-stmt.h
+++ b/gcc/rust/hir/tree/rust-hir-stmt.h
@@ -39,7 +39,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
bool is_item () const override final { return false; }
@@ -113,7 +113,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
HIR::Type *get_type () { return type.get (); }
@@ -180,7 +180,7 @@ public:
ExprStmtWithoutBlock (ExprStmtWithoutBlock &&other) = default;
ExprStmtWithoutBlock &operator= (ExprStmtWithoutBlock &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Expr *get_expr () { return expr.get (); }
@@ -227,7 +227,7 @@ public:
ExprStmtWithBlock (ExprStmtWithBlock &&other) = default;
ExprStmtWithBlock &operator= (ExprStmtWithBlock &&other) = default;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
ExprWithBlock *get_expr () { return expr.get (); }
diff --git a/gcc/rust/hir/tree/rust-hir-type.h b/gcc/rust/hir/tree/rust-hir-type.h
index 070b761..c32a1c5 100644
--- a/gcc/rust/hir/tree/rust-hir-type.h
+++ b/gcc/rust/hir/tree/rust-hir-type.h
@@ -57,7 +57,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Analysis::NodeMapping get_mappings () const override final
{
@@ -138,7 +138,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
};
// An opaque value of another type that implements a set of traits
@@ -195,7 +195,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<TypeParamBound> > &get_type_param_bounds ()
{
@@ -274,7 +274,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
};
// Impl trait with a single bound? Poor reference material here.
@@ -310,7 +310,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
};
class TypePath; // definition moved to "rust-path.h"
@@ -361,7 +361,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<std::unique_ptr<Type> > &get_elems () { return elems; }
const std::vector<std::unique_ptr<Type> > &get_elems () const
@@ -410,7 +410,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
};
// A type consisting of a pointer without safety or liveness guarantees
@@ -452,7 +452,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::unique_ptr<Type> &get_type () { return type; }
@@ -531,7 +531,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Lifetime &get_lifetime () { return lifetime; }
@@ -597,7 +597,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Type *get_element_type () { return elem_type.get (); }
@@ -656,7 +656,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
protected:
/* Use covariance to implement clone function as returning this object rather
@@ -702,7 +702,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
};
class QualifiedPathInType; // definition moved to "rust-path.h"
@@ -844,7 +844,7 @@ public:
Location get_locus () const { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::vector<MaybeNamedParam> &get_function_params () { return params; }
const std::vector<MaybeNamedParam> &get_function_params () const
diff --git a/gcc/rust/hir/tree/rust-hir-visitor.h b/gcc/rust/hir/tree/rust-hir-visitor.h
index ea125d9..9cf0f35 100644
--- a/gcc/rust/hir/tree/rust-hir-visitor.h
+++ b/gcc/rust/hir/tree/rust-hir-visitor.h
@@ -24,7 +24,7 @@
namespace Rust {
namespace HIR {
-class HIRVisitor
+class HIRFullVisitor
{
public:
virtual void visit (IdentifierExpr &ident_expr) = 0;
@@ -160,6 +160,161 @@ public:
virtual void visit (BareFunctionType &type) = 0;
};
+class HIRFullVisitorBase : public HIRFullVisitor
+{
+public:
+ virtual ~HIRFullVisitorBase () {}
+
+ virtual void visit (IdentifierExpr &) override {}
+ virtual void visit (Lifetime &) override {}
+ virtual void visit (LifetimeParam &) override {}
+ virtual void visit (PathInExpression &) override {}
+ virtual void visit (TypePathSegment &) override {}
+ virtual void visit (TypePathSegmentGeneric &) override {}
+ virtual void visit (TypePathSegmentFunction &) override {}
+ virtual void visit (TypePath &) override {}
+ virtual void visit (QualifiedPathInExpression &) override {}
+ virtual void visit (QualifiedPathInType &) override {}
+
+ virtual void visit (LiteralExpr &) override {}
+ virtual void visit (BorrowExpr &) override {}
+ virtual void visit (DereferenceExpr &) override {}
+ virtual void visit (ErrorPropagationExpr &) override {}
+ virtual void visit (NegationExpr &) override {}
+ virtual void visit (ArithmeticOrLogicalExpr &) override {}
+ virtual void visit (ComparisonExpr &) override {}
+ virtual void visit (LazyBooleanExpr &) override {}
+ virtual void visit (TypeCastExpr &) override {}
+ virtual void visit (AssignmentExpr &) override {}
+ virtual void visit (CompoundAssignmentExpr &) override {}
+ virtual void visit (GroupedExpr &) override {}
+
+ virtual void visit (ArrayElemsValues &) override {}
+ virtual void visit (ArrayElemsCopied &) override {}
+ virtual void visit (ArrayExpr &) override {}
+ virtual void visit (ArrayIndexExpr &) override {}
+ virtual void visit (TupleExpr &) override {}
+ virtual void visit (TupleIndexExpr &) override {}
+ virtual void visit (StructExprStruct &) override {}
+
+ virtual void visit (StructExprFieldIdentifier &) override {}
+ virtual void visit (StructExprFieldIdentifierValue &) override {}
+
+ virtual void visit (StructExprFieldIndexValue &) override {}
+ virtual void visit (StructExprStructFields &) override {}
+ virtual void visit (StructExprStructBase &) override {}
+
+ virtual void visit (CallExpr &) override {}
+ virtual void visit (MethodCallExpr &) override {}
+ virtual void visit (FieldAccessExpr &) override {}
+ virtual void visit (ClosureExprInner &) override {}
+ virtual void visit (BlockExpr &) override {}
+ virtual void visit (ClosureExprInnerTyped &) override {}
+ virtual void visit (ContinueExpr &) override {}
+ virtual void visit (BreakExpr &) override {}
+ virtual void visit (RangeFromToExpr &) override {}
+ virtual void visit (RangeFromExpr &) override {}
+ virtual void visit (RangeToExpr &) override {}
+ virtual void visit (RangeFullExpr &) override {}
+ virtual void visit (RangeFromToInclExpr &) override {}
+ virtual void visit (RangeToInclExpr &) override {}
+ virtual void visit (ReturnExpr &) override {}
+ virtual void visit (UnsafeBlockExpr &) override {}
+ virtual void visit (LoopExpr &) override {}
+ virtual void visit (WhileLoopExpr &) override {}
+ virtual void visit (WhileLetLoopExpr &) override {}
+ virtual void visit (ForLoopExpr &) override {}
+ virtual void visit (IfExpr &) override {}
+ virtual void visit (IfExprConseqElse &) override {}
+ virtual void visit (IfExprConseqIf &) override {}
+ virtual void visit (IfExprConseqIfLet &) override {}
+ virtual void visit (IfLetExpr &) override {}
+ virtual void visit (IfLetExprConseqElse &) override {}
+ virtual void visit (IfLetExprConseqIf &) override {}
+ virtual void visit (IfLetExprConseqIfLet &) override {}
+
+ virtual void visit (MatchExpr &) override {}
+ virtual void visit (AwaitExpr &) override {}
+ virtual void visit (AsyncBlockExpr &) override {}
+
+ virtual void visit (TypeParam &) override {}
+
+ virtual void visit (LifetimeWhereClauseItem &) override {}
+ virtual void visit (TypeBoundWhereClauseItem &) override {}
+ virtual void visit (Module &) override {}
+ virtual void visit (ExternCrate &) override {}
+
+ virtual void visit (UseTreeGlob &) override {}
+ virtual void visit (UseTreeList &) override {}
+ virtual void visit (UseTreeRebind &) override {}
+ virtual void visit (UseDeclaration &) override {}
+ virtual void visit (Function &) override {}
+ virtual void visit (TypeAlias &) override {}
+ virtual void visit (StructStruct &) override {}
+ virtual void visit (TupleStruct &) override {}
+ virtual void visit (EnumItem &) override {}
+ virtual void visit (EnumItemTuple &) override {}
+ virtual void visit (EnumItemStruct &) override {}
+ virtual void visit (EnumItemDiscriminant &) override {}
+ virtual void visit (Enum &) override {}
+ virtual void visit (Union &) override {}
+ virtual void visit (ConstantItem &) override {}
+ virtual void visit (StaticItem &) override {}
+ virtual void visit (TraitItemFunc &) override {}
+ virtual void visit (TraitItemConst &) override {}
+ virtual void visit (TraitItemType &) override {}
+ virtual void visit (Trait &) override {}
+ virtual void visit (ImplBlock &) override {}
+
+ virtual void visit (ExternalStaticItem &) override {}
+ virtual void visit (ExternalFunctionItem &) override {}
+ virtual void visit (ExternBlock &) override {}
+
+ virtual void visit (LiteralPattern &) override {}
+ virtual void visit (IdentifierPattern &) override {}
+ virtual void visit (WildcardPattern &) override {}
+
+ virtual void visit (RangePatternBoundLiteral &) override {}
+ virtual void visit (RangePatternBoundPath &) override {}
+ virtual void visit (RangePatternBoundQualPath &) override {}
+ virtual void visit (RangePattern &) override {}
+ virtual void visit (ReferencePattern &) override {}
+
+ virtual void visit (StructPatternFieldTuplePat &) override {}
+ virtual void visit (StructPatternFieldIdentPat &) override {}
+ virtual void visit (StructPatternFieldIdent &) override {}
+ virtual void visit (StructPattern &) override {}
+
+ virtual void visit (TupleStructItemsNoRange &) override {}
+ virtual void visit (TupleStructItemsRange &) override {}
+ virtual void visit (TupleStructPattern &) override {}
+
+ 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 {}
+ virtual void visit (LetStmt &) override {}
+ virtual void visit (ExprStmtWithoutBlock &) override {}
+ virtual void visit (ExprStmtWithBlock &) override {}
+
+ virtual void visit (TraitBound &) override {}
+ virtual void visit (ImplTraitType &) override {}
+ virtual void visit (TraitObjectType &) override {}
+ virtual void visit (ParenthesisedType &) override {}
+ virtual void visit (ImplTraitTypeOneBound &) override {}
+ virtual void visit (TupleType &) override {}
+ virtual void visit (NeverType &) override {}
+ virtual void visit (RawPointerType &) override {}
+ virtual void visit (ReferenceType &) override {}
+ virtual void visit (ArrayType &) override {}
+ virtual void visit (SliceType &) override {}
+ virtual void visit (InferredType &) override {}
+ virtual void visit (BareFunctionType &) override {}
+};
+
} // namespace HIR
} // namespace Rust
diff --git a/gcc/rust/hir/tree/rust-hir.h b/gcc/rust/hir/tree/rust-hir.h
index b7abe67..17d207a 100644
--- a/gcc/rust/hir/tree/rust-hir.h
+++ b/gcc/rust/hir/tree/rust-hir.h
@@ -32,7 +32,7 @@ typedef int TupleIndex;
namespace HIR {
// foward decl: ast visitor
-class HIRVisitor;
+class HIRFullVisitor;
// forward decl for use in token tree method
class Token;
@@ -96,7 +96,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
virtual Location get_locus () const = 0;
@@ -137,7 +137,7 @@ public:
add_crate_name (std::vector<std::string> &names ATTRIBUTE_UNUSED) const
{}
- virtual void accept_vis (HIRVisitor &vis ATTRIBUTE_UNUSED) {}
+ virtual void accept_vis (HIRFullVisitor &vis ATTRIBUTE_UNUSED) {}
AST::AttrVec &get_outer_attrs () { return outer_attrs; }
const AST::AttrVec &get_outer_attrs () const { return outer_attrs; }
@@ -199,7 +199,7 @@ public:
// HACK: strictly not needed, but faster than full downcast clone
virtual bool is_expr_without_block () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
const Analysis::NodeMapping &get_mappings () const { return mappings; }
@@ -284,7 +284,7 @@ public:
Location get_locus () const override final { return locus; }
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
// Clones this object.
std::unique_ptr<IdentifierExpr> clone_identifier_expr () const
@@ -326,7 +326,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
virtual Analysis::NodeMapping get_pattern_mappings () const = 0;
@@ -364,7 +364,7 @@ public:
/* as pointer, shouldn't require definition beforehand, only forward
* declaration. */
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
virtual Analysis::NodeMapping get_mappings () const { return mappings; }
@@ -423,7 +423,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
virtual Analysis::NodeMapping get_mappings () const = 0;
@@ -468,7 +468,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
std::string get_name () const { return lifetime_name; }
@@ -519,7 +519,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
virtual Location get_locus () const = 0;
@@ -606,7 +606,7 @@ public:
std::string as_string () const override;
- void accept_vis (HIRVisitor &vis) override;
+ void accept_vis (HIRFullVisitor &vis) override;
Location get_locus () const override final { return locus; }
@@ -641,7 +641,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
virtual const std::string trait_identifier () const = 0;
@@ -668,7 +668,7 @@ public:
virtual std::string as_string () const = 0;
- virtual void accept_vis (HIRVisitor &vis) = 0;
+ virtual void accept_vis (HIRFullVisitor &vis) = 0;
virtual Analysis::NodeMapping get_impl_mappings () const = 0;
diff --git a/gcc/rust/lint/rust-lint-marklive-base.h b/gcc/rust/lint/rust-lint-marklive-base.h
index e0494d7..20d2b81 100644
--- a/gcc/rust/lint/rust-lint-marklive-base.h
+++ b/gcc/rust/lint/rust-lint-marklive-base.h
@@ -28,158 +28,10 @@
namespace Rust {
namespace Analysis {
-class MarkLiveBase : public HIR::HIRVisitor
+class MarkLiveBase : public HIR::HIRFullVisitorBase
{
public:
virtual ~MarkLiveBase () {}
- virtual void visit (HIR::IdentifierExpr &) override {}
- virtual void visit (HIR::Lifetime &) override {}
- virtual void visit (HIR::LifetimeParam &) override {}
- virtual void visit (HIR::PathInExpression &) override {}
- virtual void visit (HIR::TypePathSegment &) override {}
- virtual void visit (HIR::TypePathSegmentGeneric &) override {}
- virtual void visit (HIR::TypePathSegmentFunction &) override {}
- virtual void visit (HIR::TypePath &) override {}
- virtual void visit (HIR::QualifiedPathInExpression &) override {}
- virtual void visit (HIR::QualifiedPathInType &) override {}
-
- virtual void visit (HIR::LiteralExpr &) override {}
- virtual void visit (HIR::BorrowExpr &) override {}
- virtual void visit (HIR::DereferenceExpr &) override {}
- virtual void visit (HIR::ErrorPropagationExpr &) override {}
- virtual void visit (HIR::NegationExpr &) override {}
- virtual void visit (HIR::ArithmeticOrLogicalExpr &) override {}
- virtual void visit (HIR::ComparisonExpr &) override {}
- virtual void visit (HIR::LazyBooleanExpr &) override {}
- virtual void visit (HIR::TypeCastExpr &) override {}
- virtual void visit (HIR::AssignmentExpr &) override {}
- virtual void visit (HIR::CompoundAssignmentExpr &) override {}
- virtual void visit (HIR::GroupedExpr &) override {}
-
- virtual void visit (HIR::ArrayElemsValues &) override {}
- virtual void visit (HIR::ArrayElemsCopied &) override {}
- virtual void visit (HIR::ArrayExpr &) override {}
- virtual void visit (HIR::ArrayIndexExpr &) override {}
- virtual void visit (HIR::TupleExpr &) override {}
- virtual void visit (HIR::TupleIndexExpr &) override {}
- virtual void visit (HIR::StructExprStruct &) override {}
-
- virtual void visit (HIR::StructExprFieldIdentifier &) override {}
- virtual void visit (HIR::StructExprFieldIdentifierValue &) override {}
-
- virtual void visit (HIR::StructExprFieldIndexValue &) override {}
- virtual void visit (HIR::StructExprStructFields &) override {}
- virtual void visit (HIR::StructExprStructBase &) override {}
-
- virtual void visit (HIR::CallExpr &) override {}
- virtual void visit (HIR::MethodCallExpr &) override {}
- virtual void visit (HIR::FieldAccessExpr &) override {}
- virtual void visit (HIR::ClosureExprInner &) override {}
- virtual void visit (HIR::BlockExpr &) override {}
- virtual void visit (HIR::ClosureExprInnerTyped &) override {}
- virtual void visit (HIR::ContinueExpr &) override {}
- virtual void visit (HIR::BreakExpr &) override {}
- virtual void visit (HIR::RangeFromToExpr &) override {}
- virtual void visit (HIR::RangeFromExpr &) override {}
- virtual void visit (HIR::RangeToExpr &) override {}
- virtual void visit (HIR::RangeFullExpr &) override {}
- virtual void visit (HIR::RangeFromToInclExpr &) override {}
- virtual void visit (HIR::RangeToInclExpr &) override {}
- virtual void visit (HIR::ReturnExpr &) override {}
- virtual void visit (HIR::UnsafeBlockExpr &) override {}
- virtual void visit (HIR::LoopExpr &) override {}
- virtual void visit (HIR::WhileLoopExpr &) override {}
- virtual void visit (HIR::WhileLetLoopExpr &) override {}
- virtual void visit (HIR::ForLoopExpr &) override {}
- virtual void visit (HIR::IfExpr &) override {}
- virtual void visit (HIR::IfExprConseqElse &) override {}
- virtual void visit (HIR::IfExprConseqIf &) override {}
- virtual void visit (HIR::IfExprConseqIfLet &) override {}
- virtual void visit (HIR::IfLetExpr &) override {}
- virtual void visit (HIR::IfLetExprConseqElse &) override {}
- virtual void visit (HIR::IfLetExprConseqIf &) override {}
- virtual void visit (HIR::IfLetExprConseqIfLet &) override {}
-
- virtual void visit (HIR::MatchExpr &) override {}
- virtual void visit (HIR::AwaitExpr &) override {}
- virtual void visit (HIR::AsyncBlockExpr &) override {}
-
- virtual void visit (HIR::TypeParam &) override {}
-
- virtual void visit (HIR::LifetimeWhereClauseItem &) override {}
- virtual void visit (HIR::TypeBoundWhereClauseItem &) override {}
- virtual void visit (HIR::Module &) override {}
- virtual void visit (HIR::ExternCrate &) override {}
-
- virtual void visit (HIR::UseTreeGlob &) override {}
- virtual void visit (HIR::UseTreeList &) override {}
- virtual void visit (HIR::UseTreeRebind &) override {}
- virtual void visit (HIR::UseDeclaration &) override {}
- virtual void visit (HIR::Function &) override {}
- virtual void visit (HIR::TypeAlias &) override {}
- virtual void visit (HIR::StructStruct &) override {}
- virtual void visit (HIR::TupleStruct &) override {}
- virtual void visit (HIR::EnumItem &) override {}
- virtual void visit (HIR::EnumItemTuple &) override {}
- virtual void visit (HIR::EnumItemStruct &) override {}
- virtual void visit (HIR::EnumItemDiscriminant &) override {}
- virtual void visit (HIR::Enum &) override {}
- virtual void visit (HIR::Union &) override {}
- virtual void visit (HIR::ConstantItem &) override {}
- virtual void visit (HIR::StaticItem &) override {}
- virtual void visit (HIR::TraitItemFunc &) override {}
- virtual void visit (HIR::TraitItemConst &) override {}
- virtual void visit (HIR::TraitItemType &) override {}
- virtual void visit (HIR::Trait &) override {}
- virtual void visit (HIR::ImplBlock &) override {}
-
- virtual void visit (HIR::ExternalStaticItem &) override {}
- virtual void visit (HIR::ExternalFunctionItem &) override {}
- virtual void visit (HIR::ExternBlock &) override {}
-
- virtual void visit (HIR::LiteralPattern &) override {}
- virtual void visit (HIR::IdentifierPattern &) override {}
- virtual void visit (HIR::WildcardPattern &) override {}
-
- virtual void visit (HIR::RangePatternBoundLiteral &) override {}
- virtual void visit (HIR::RangePatternBoundPath &) override {}
- virtual void visit (HIR::RangePatternBoundQualPath &) override {}
- virtual void visit (HIR::RangePattern &) override {}
- virtual void visit (HIR::ReferencePattern &) override {}
-
- virtual void visit (HIR::StructPatternFieldTuplePat &) override {}
- virtual void visit (HIR::StructPatternFieldIdentPat &) override {}
- virtual void visit (HIR::StructPatternFieldIdent &) override {}
- virtual void visit (HIR::StructPattern &) override {}
-
- virtual void visit (HIR::TupleStructItemsNoRange &) override {}
- virtual void visit (HIR::TupleStructItemsRange &) override {}
- virtual void visit (HIR::TupleStructPattern &) override {}
-
- virtual void visit (HIR::TuplePatternItemsMultiple &) override {}
- virtual void visit (HIR::TuplePatternItemsRanged &) override {}
- virtual void visit (HIR::TuplePattern &) override {}
- virtual void visit (HIR::GroupedPattern &) override {}
- virtual void visit (HIR::SlicePattern &) override {}
-
- virtual void visit (HIR::EmptyStmt &) override {}
- virtual void visit (HIR::LetStmt &) override {}
- virtual void visit (HIR::ExprStmtWithoutBlock &) override {}
- virtual void visit (HIR::ExprStmtWithBlock &) override {}
-
- virtual void visit (HIR::TraitBound &) override {}
- virtual void visit (HIR::ImplTraitType &) override {}
- virtual void visit (HIR::TraitObjectType &) override {}
- virtual void visit (HIR::ParenthesisedType &) override {}
- virtual void visit (HIR::ImplTraitTypeOneBound &) override {}
- virtual void visit (HIR::TupleType &) override {}
- virtual void visit (HIR::NeverType &) override {}
- virtual void visit (HIR::RawPointerType &) override {}
- virtual void visit (HIR::ReferenceType &) override {}
- virtual void visit (HIR::ArrayType &) override {}
- virtual void visit (HIR::SliceType &) override {}
- virtual void visit (HIR::InferredType &) override {}
- virtual void visit (HIR::BareFunctionType &) override {}
protected:
MarkLiveBase () : mappings (Analysis::Mappings::get ()) {}
diff --git a/gcc/rust/typecheck/rust-hir-const-fold-base.h b/gcc/rust/typecheck/rust-hir-const-fold-base.h
index 0b41053..2ab4450 100644
--- a/gcc/rust/typecheck/rust-hir-const-fold-base.h
+++ b/gcc/rust/typecheck/rust-hir-const-fold-base.h
@@ -30,160 +30,11 @@ namespace Rust {
namespace ConstFold {
// base class to allow derivatives to overload as needed
-class ConstFoldBase : public HIR::HIRVisitor
+class ConstFoldBase : public HIR::HIRFullVisitorBase
{
public:
virtual ~ConstFoldBase () {}
- virtual void visit (HIR::IdentifierExpr &) override {}
- virtual void visit (HIR::Lifetime &) override {}
- virtual void visit (HIR::LifetimeParam &) override {}
- virtual void visit (HIR::PathInExpression &) override {}
- virtual void visit (HIR::TypePathSegment &) override {}
- virtual void visit (HIR::TypePathSegmentGeneric &) override {}
- virtual void visit (HIR::TypePathSegmentFunction &) override {}
- virtual void visit (HIR::TypePath &) override {}
- virtual void visit (HIR::QualifiedPathInExpression &) override {}
- virtual void visit (HIR::QualifiedPathInType &) override {}
-
- virtual void visit (HIR::LiteralExpr &) override {}
- virtual void visit (HIR::BorrowExpr &) override {}
- virtual void visit (HIR::DereferenceExpr &) override {}
- virtual void visit (HIR::ErrorPropagationExpr &) override {}
- virtual void visit (HIR::NegationExpr &) override {}
- virtual void visit (HIR::ArithmeticOrLogicalExpr &) override {}
- virtual void visit (HIR::ComparisonExpr &) override {}
- virtual void visit (HIR::LazyBooleanExpr &) override {}
- virtual void visit (HIR::TypeCastExpr &) override {}
- virtual void visit (HIR::AssignmentExpr &) override {}
- virtual void visit (HIR::CompoundAssignmentExpr &) override {}
- virtual void visit (HIR::GroupedExpr &) override {}
-
- virtual void visit (HIR::ArrayElemsValues &) override {}
- virtual void visit (HIR::ArrayElemsCopied &) override {}
- virtual void visit (HIR::ArrayExpr &) override {}
- virtual void visit (HIR::ArrayIndexExpr &) override {}
- virtual void visit (HIR::TupleExpr &) override {}
- virtual void visit (HIR::TupleIndexExpr &) override {}
- virtual void visit (HIR::StructExprStruct &) override {}
-
- virtual void visit (HIR::StructExprFieldIdentifier &) override {}
- virtual void visit (HIR::StructExprFieldIdentifierValue &) override {}
-
- virtual void visit (HIR::StructExprFieldIndexValue &) override {}
- virtual void visit (HIR::StructExprStructFields &) override {}
- virtual void visit (HIR::StructExprStructBase &) override {}
-
- virtual void visit (HIR::CallExpr &) override {}
- virtual void visit (HIR::MethodCallExpr &) override {}
- virtual void visit (HIR::FieldAccessExpr &) override {}
- virtual void visit (HIR::ClosureExprInner &) override {}
- virtual void visit (HIR::BlockExpr &) override {}
- virtual void visit (HIR::ClosureExprInnerTyped &) override {}
- virtual void visit (HIR::ContinueExpr &) override {}
- virtual void visit (HIR::BreakExpr &) override {}
- virtual void visit (HIR::RangeFromToExpr &) override {}
- virtual void visit (HIR::RangeFromExpr &) override {}
- virtual void visit (HIR::RangeToExpr &) override {}
- virtual void visit (HIR::RangeFullExpr &) override {}
- virtual void visit (HIR::RangeFromToInclExpr &) override {}
- virtual void visit (HIR::RangeToInclExpr &) override {}
- virtual void visit (HIR::ReturnExpr &) override {}
- virtual void visit (HIR::UnsafeBlockExpr &) override {}
- virtual void visit (HIR::LoopExpr &) override {}
- virtual void visit (HIR::WhileLoopExpr &) override {}
- virtual void visit (HIR::WhileLetLoopExpr &) override {}
- virtual void visit (HIR::ForLoopExpr &) override {}
- virtual void visit (HIR::IfExpr &) override {}
- virtual void visit (HIR::IfExprConseqElse &) override {}
- virtual void visit (HIR::IfExprConseqIf &) override {}
- virtual void visit (HIR::IfExprConseqIfLet &) override {}
- virtual void visit (HIR::IfLetExpr &) override {}
- virtual void visit (HIR::IfLetExprConseqElse &) override {}
- virtual void visit (HIR::IfLetExprConseqIf &) override {}
- virtual void visit (HIR::IfLetExprConseqIfLet &) override {}
-
- virtual void visit (HIR::MatchExpr &) override {}
- virtual void visit (HIR::AwaitExpr &) override {}
- virtual void visit (HIR::AsyncBlockExpr &) override {}
-
- virtual void visit (HIR::TypeParam &) override {}
-
- virtual void visit (HIR::LifetimeWhereClauseItem &) override {}
- virtual void visit (HIR::TypeBoundWhereClauseItem &) override {}
- virtual void visit (HIR::Module &) override {}
- virtual void visit (HIR::ExternCrate &) override {}
-
- virtual void visit (HIR::UseTreeGlob &) override {}
- virtual void visit (HIR::UseTreeList &) override {}
- virtual void visit (HIR::UseTreeRebind &) override {}
- virtual void visit (HIR::UseDeclaration &) override {}
- virtual void visit (HIR::Function &) override {}
- virtual void visit (HIR::TypeAlias &) override {}
- virtual void visit (HIR::StructStruct &) override {}
- virtual void visit (HIR::TupleStruct &) override {}
- virtual void visit (HIR::EnumItem &) override {}
- virtual void visit (HIR::EnumItemTuple &) override {}
- virtual void visit (HIR::EnumItemStruct &) override {}
- virtual void visit (HIR::EnumItemDiscriminant &) override {}
- virtual void visit (HIR::Enum &) override {}
- virtual void visit (HIR::Union &) override {}
- virtual void visit (HIR::ConstantItem &) override {}
- virtual void visit (HIR::StaticItem &) override {}
- virtual void visit (HIR::TraitItemFunc &) override {}
- virtual void visit (HIR::TraitItemConst &) override {}
- virtual void visit (HIR::TraitItemType &) override {}
- virtual void visit (HIR::Trait &) override {}
- virtual void visit (HIR::ImplBlock &) override {}
-
- virtual void visit (HIR::ExternalStaticItem &) override {}
- virtual void visit (HIR::ExternalFunctionItem &) override {}
- virtual void visit (HIR::ExternBlock &) override {}
-
- virtual void visit (HIR::LiteralPattern &) override {}
- virtual void visit (HIR::IdentifierPattern &) override {}
- virtual void visit (HIR::WildcardPattern &) override {}
-
- virtual void visit (HIR::RangePatternBoundLiteral &) override {}
- virtual void visit (HIR::RangePatternBoundPath &) override {}
- virtual void visit (HIR::RangePatternBoundQualPath &) override {}
- virtual void visit (HIR::RangePattern &) override {}
- virtual void visit (HIR::ReferencePattern &) override {}
-
- virtual void visit (HIR::StructPatternFieldTuplePat &) override {}
- virtual void visit (HIR::StructPatternFieldIdentPat &) override {}
- virtual void visit (HIR::StructPatternFieldIdent &) override {}
- virtual void visit (HIR::StructPattern &) override {}
-
- virtual void visit (HIR::TupleStructItemsNoRange &) override {}
- virtual void visit (HIR::TupleStructItemsRange &) override {}
- virtual void visit (HIR::TupleStructPattern &) override {}
-
- virtual void visit (HIR::TuplePatternItemsMultiple &) override {}
- virtual void visit (HIR::TuplePatternItemsRanged &) override {}
- virtual void visit (HIR::TuplePattern &) override {}
- virtual void visit (HIR::GroupedPattern &) override {}
- virtual void visit (HIR::SlicePattern &) override {}
-
- virtual void visit (HIR::EmptyStmt &) override {}
- virtual void visit (HIR::LetStmt &) override {}
- virtual void visit (HIR::ExprStmtWithoutBlock &) override {}
- virtual void visit (HIR::ExprStmtWithBlock &) override {}
-
- virtual void visit (HIR::TraitBound &) override {}
- virtual void visit (HIR::ImplTraitType &) override {}
- virtual void visit (HIR::TraitObjectType &) override {}
- virtual void visit (HIR::ParenthesisedType &) override {}
- virtual void visit (HIR::ImplTraitTypeOneBound &) override {}
- virtual void visit (HIR::TupleType &) override {}
- virtual void visit (HIR::NeverType &) override {}
- virtual void visit (HIR::RawPointerType &) override {}
- virtual void visit (HIR::ReferenceType &) override {}
- virtual void visit (HIR::ArrayType &) override {}
- virtual void visit (HIR::SliceType &) override {}
- virtual void visit (HIR::InferredType &) override {}
- virtual void visit (HIR::BareFunctionType &) override {}
-
protected:
ConstFoldBase ()
: mappings (Analysis::Mappings::get ()),
diff --git a/gcc/rust/typecheck/rust-hir-type-check-base.h b/gcc/rust/typecheck/rust-hir-type-check-base.h
index 52dea21..9942728 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-base.h
+++ b/gcc/rust/typecheck/rust-hir-type-check-base.h
@@ -32,159 +32,12 @@ namespace Resolver {
class TraitReference;
// base class to allow derivatives to overload as needed
-class TypeCheckBase : public HIR::HIRVisitor
+class TypeCheckBase : public HIR::HIRFullVisitorBase
{
public:
- virtual ~TypeCheckBase () {}
-
- virtual void visit (HIR::IdentifierExpr &) override {}
- virtual void visit (HIR::Lifetime &) override {}
- virtual void visit (HIR::LifetimeParam &) override {}
- virtual void visit (HIR::PathInExpression &) override {}
- virtual void visit (HIR::TypePathSegment &) override {}
- virtual void visit (HIR::TypePathSegmentGeneric &) override {}
- virtual void visit (HIR::TypePathSegmentFunction &) override {}
- virtual void visit (HIR::TypePath &) override {}
- virtual void visit (HIR::QualifiedPathInExpression &) override {}
- virtual void visit (HIR::QualifiedPathInType &) override {}
-
- virtual void visit (HIR::LiteralExpr &) override {}
- virtual void visit (HIR::BorrowExpr &) override {}
- virtual void visit (HIR::DereferenceExpr &) override {}
- virtual void visit (HIR::ErrorPropagationExpr &) override {}
- virtual void visit (HIR::NegationExpr &) override {}
- virtual void visit (HIR::ArithmeticOrLogicalExpr &) override {}
- virtual void visit (HIR::ComparisonExpr &) override {}
- virtual void visit (HIR::LazyBooleanExpr &) override {}
- virtual void visit (HIR::TypeCastExpr &) override {}
- virtual void visit (HIR::AssignmentExpr &) override {}
- virtual void visit (HIR::CompoundAssignmentExpr &) override {}
- virtual void visit (HIR::GroupedExpr &) override {}
-
- virtual void visit (HIR::ArrayElemsValues &) override {}
- virtual void visit (HIR::ArrayElemsCopied &) override {}
- virtual void visit (HIR::ArrayExpr &) override {}
- virtual void visit (HIR::ArrayIndexExpr &) override {}
- virtual void visit (HIR::TupleExpr &) override {}
- virtual void visit (HIR::TupleIndexExpr &) override {}
- virtual void visit (HIR::StructExprStruct &) override {}
-
- virtual void visit (HIR::StructExprFieldIdentifier &) override {}
- virtual void visit (HIR::StructExprFieldIdentifierValue &) override {}
-
- virtual void visit (HIR::StructExprFieldIndexValue &) override {}
- virtual void visit (HIR::StructExprStructFields &) override {}
- virtual void visit (HIR::StructExprStructBase &) override {}
-
- virtual void visit (HIR::CallExpr &) override {}
- virtual void visit (HIR::MethodCallExpr &) override {}
- virtual void visit (HIR::FieldAccessExpr &) override {}
- virtual void visit (HIR::ClosureExprInner &) override {}
- virtual void visit (HIR::BlockExpr &) override {}
- virtual void visit (HIR::ClosureExprInnerTyped &) override {}
- virtual void visit (HIR::ContinueExpr &) override {}
- virtual void visit (HIR::BreakExpr &) override {}
- virtual void visit (HIR::RangeFromToExpr &) override {}
- virtual void visit (HIR::RangeFromExpr &) override {}
- virtual void visit (HIR::RangeToExpr &) override {}
- virtual void visit (HIR::RangeFullExpr &) override {}
- virtual void visit (HIR::RangeFromToInclExpr &) override {}
- virtual void visit (HIR::RangeToInclExpr &) override {}
- virtual void visit (HIR::ReturnExpr &) override {}
- virtual void visit (HIR::UnsafeBlockExpr &) override {}
- virtual void visit (HIR::LoopExpr &) override {}
- virtual void visit (HIR::WhileLoopExpr &) override {}
- virtual void visit (HIR::WhileLetLoopExpr &) override {}
- virtual void visit (HIR::ForLoopExpr &) override {}
- virtual void visit (HIR::IfExpr &) override {}
- virtual void visit (HIR::IfExprConseqElse &) override {}
- virtual void visit (HIR::IfExprConseqIf &) override {}
- virtual void visit (HIR::IfExprConseqIfLet &) override {}
- virtual void visit (HIR::IfLetExpr &) override {}
- virtual void visit (HIR::IfLetExprConseqElse &) override {}
- virtual void visit (HIR::IfLetExprConseqIf &) override {}
- virtual void visit (HIR::IfLetExprConseqIfLet &) override {}
-
- virtual void visit (HIR::MatchExpr &) override {}
- virtual void visit (HIR::AwaitExpr &) override {}
- virtual void visit (HIR::AsyncBlockExpr &) override {}
-
- virtual void visit (HIR::TypeParam &) override {}
-
- virtual void visit (HIR::LifetimeWhereClauseItem &) override {}
- virtual void visit (HIR::TypeBoundWhereClauseItem &) override {}
- virtual void visit (HIR::Module &) override {}
- virtual void visit (HIR::ExternCrate &) override {}
+ using Rust::HIR::HIRFullVisitorBase::visit;
- virtual void visit (HIR::UseTreeGlob &) override {}
- virtual void visit (HIR::UseTreeList &) override {}
- virtual void visit (HIR::UseTreeRebind &) override {}
- virtual void visit (HIR::UseDeclaration &) override {}
- virtual void visit (HIR::Function &) override {}
- virtual void visit (HIR::TypeAlias &) override {}
- virtual void visit (HIR::StructStruct &) override {}
- virtual void visit (HIR::TupleStruct &) override {}
- virtual void visit (HIR::EnumItem &) override {}
- virtual void visit (HIR::EnumItemTuple &) override {}
- virtual void visit (HIR::EnumItemStruct &) override {}
- virtual void visit (HIR::EnumItemDiscriminant &) override {}
- virtual void visit (HIR::Enum &) override {}
- virtual void visit (HIR::Union &) override {}
- virtual void visit (HIR::ConstantItem &) override {}
- virtual void visit (HIR::StaticItem &) override {}
- virtual void visit (HIR::TraitItemFunc &) override {}
- virtual void visit (HIR::TraitItemConst &) override {}
- virtual void visit (HIR::TraitItemType &) override {}
- virtual void visit (HIR::Trait &) override {}
- virtual void visit (HIR::ImplBlock &) override {}
-
- virtual void visit (HIR::ExternalStaticItem &) override {}
- virtual void visit (HIR::ExternalFunctionItem &) override {}
- virtual void visit (HIR::ExternBlock &) override {}
-
- virtual void visit (HIR::LiteralPattern &) override {}
- virtual void visit (HIR::IdentifierPattern &) override {}
- virtual void visit (HIR::WildcardPattern &) override {}
-
- virtual void visit (HIR::RangePatternBoundLiteral &) override {}
- virtual void visit (HIR::RangePatternBoundPath &) override {}
- virtual void visit (HIR::RangePatternBoundQualPath &) override {}
- virtual void visit (HIR::RangePattern &) override {}
- virtual void visit (HIR::ReferencePattern &) override {}
-
- virtual void visit (HIR::StructPatternFieldTuplePat &) override {}
- virtual void visit (HIR::StructPatternFieldIdentPat &) override {}
- virtual void visit (HIR::StructPatternFieldIdent &) override {}
- virtual void visit (HIR::StructPattern &) override {}
-
- virtual void visit (HIR::TupleStructItemsNoRange &) override {}
- virtual void visit (HIR::TupleStructItemsRange &) override {}
- virtual void visit (HIR::TupleStructPattern &) override {}
-
- virtual void visit (HIR::TuplePatternItemsMultiple &) override {}
- virtual void visit (HIR::TuplePatternItemsRanged &) override {}
- virtual void visit (HIR::TuplePattern &) override {}
- virtual void visit (HIR::GroupedPattern &) override {}
- virtual void visit (HIR::SlicePattern &) override {}
-
- virtual void visit (HIR::EmptyStmt &) override {}
- virtual void visit (HIR::LetStmt &) override {}
- virtual void visit (HIR::ExprStmtWithoutBlock &) override {}
- virtual void visit (HIR::ExprStmtWithBlock &) override {}
-
- virtual void visit (HIR::TraitBound &) override {}
- virtual void visit (HIR::ImplTraitType &) override {}
- virtual void visit (HIR::TraitObjectType &) override {}
- virtual void visit (HIR::ParenthesisedType &) override {}
- virtual void visit (HIR::ImplTraitTypeOneBound &) override {}
- virtual void visit (HIR::TupleType &) override {}
- virtual void visit (HIR::NeverType &) override {}
- virtual void visit (HIR::RawPointerType &) override {}
- virtual void visit (HIR::ReferenceType &) override {}
- virtual void visit (HIR::ArrayType &) override {}
- virtual void visit (HIR::SliceType &) override {}
- virtual void visit (HIR::InferredType &) override {}
- virtual void visit (HIR::BareFunctionType &) override {}
+ virtual ~TypeCheckBase () {}
protected:
TypeCheckBase ()
diff --git a/gcc/rust/typecheck/rust-hir-type-check-util.h b/gcc/rust/typecheck/rust-hir-type-check-util.h
index f078df6..a6d7b83 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-util.h
+++ b/gcc/rust/typecheck/rust-hir-type-check-util.h
@@ -25,164 +25,9 @@
namespace Rust {
namespace Resolver {
-class SimpleHirVisitor : public HIR::HIRVisitor
+class ImplTypeIterator : public HIR::HIRFullVisitorBase
{
-public:
- virtual ~SimpleHirVisitor () {}
-
- virtual void visit (HIR::IdentifierExpr &) override {}
- virtual void visit (HIR::Lifetime &) override {}
- virtual void visit (HIR::LifetimeParam &) override {}
- virtual void visit (HIR::PathInExpression &) override {}
- virtual void visit (HIR::TypePathSegment &) override {}
- virtual void visit (HIR::TypePathSegmentGeneric &) override {}
- virtual void visit (HIR::TypePathSegmentFunction &) override {}
- virtual void visit (HIR::TypePath &) override {}
- virtual void visit (HIR::QualifiedPathInExpression &) override {}
- virtual void visit (HIR::QualifiedPathInType &) override {}
-
- virtual void visit (HIR::LiteralExpr &) override {}
- virtual void visit (HIR::BorrowExpr &) override {}
- virtual void visit (HIR::DereferenceExpr &) override {}
- virtual void visit (HIR::ErrorPropagationExpr &) override {}
- virtual void visit (HIR::NegationExpr &) override {}
- virtual void visit (HIR::ArithmeticOrLogicalExpr &) override {}
- virtual void visit (HIR::ComparisonExpr &) override {}
- virtual void visit (HIR::LazyBooleanExpr &) override {}
- virtual void visit (HIR::TypeCastExpr &) override {}
- virtual void visit (HIR::AssignmentExpr &) override {}
- virtual void visit (HIR::CompoundAssignmentExpr &) override {}
- virtual void visit (HIR::GroupedExpr &) override {}
-
- virtual void visit (HIR::ArrayElemsValues &) override {}
- virtual void visit (HIR::ArrayElemsCopied &) override {}
- virtual void visit (HIR::ArrayExpr &) override {}
- virtual void visit (HIR::ArrayIndexExpr &) override {}
- virtual void visit (HIR::TupleExpr &) override {}
- virtual void visit (HIR::TupleIndexExpr &) override {}
- virtual void visit (HIR::StructExprStruct &) override {}
-
- virtual void visit (HIR::StructExprFieldIdentifier &) override {}
- virtual void visit (HIR::StructExprFieldIdentifierValue &) override {}
-
- virtual void visit (HIR::StructExprFieldIndexValue &) override {}
- virtual void visit (HIR::StructExprStructFields &) override {}
- virtual void visit (HIR::StructExprStructBase &) override {}
-
- virtual void visit (HIR::CallExpr &) override {}
- virtual void visit (HIR::MethodCallExpr &) override {}
- virtual void visit (HIR::FieldAccessExpr &) override {}
- virtual void visit (HIR::ClosureExprInner &) override {}
- virtual void visit (HIR::BlockExpr &) override {}
- virtual void visit (HIR::ClosureExprInnerTyped &) override {}
- virtual void visit (HIR::ContinueExpr &) override {}
- virtual void visit (HIR::BreakExpr &) override {}
- virtual void visit (HIR::RangeFromToExpr &) override {}
- virtual void visit (HIR::RangeFromExpr &) override {}
- virtual void visit (HIR::RangeToExpr &) override {}
- virtual void visit (HIR::RangeFullExpr &) override {}
- virtual void visit (HIR::RangeFromToInclExpr &) override {}
- virtual void visit (HIR::RangeToInclExpr &) override {}
- virtual void visit (HIR::ReturnExpr &) override {}
- virtual void visit (HIR::UnsafeBlockExpr &) override {}
- virtual void visit (HIR::LoopExpr &) override {}
- virtual void visit (HIR::WhileLoopExpr &) override {}
- virtual void visit (HIR::WhileLetLoopExpr &) override {}
- virtual void visit (HIR::ForLoopExpr &) override {}
- virtual void visit (HIR::IfExpr &) override {}
- virtual void visit (HIR::IfExprConseqElse &) override {}
- virtual void visit (HIR::IfExprConseqIf &) override {}
- virtual void visit (HIR::IfExprConseqIfLet &) override {}
- virtual void visit (HIR::IfLetExpr &) override {}
- virtual void visit (HIR::IfLetExprConseqElse &) override {}
- virtual void visit (HIR::IfLetExprConseqIf &) override {}
- virtual void visit (HIR::IfLetExprConseqIfLet &) override {}
-
- virtual void visit (HIR::MatchExpr &) override {}
- virtual void visit (HIR::AwaitExpr &) override {}
- virtual void visit (HIR::AsyncBlockExpr &) override {}
-
- virtual void visit (HIR::TypeParam &) override {}
-
- virtual void visit (HIR::LifetimeWhereClauseItem &) override {}
- virtual void visit (HIR::TypeBoundWhereClauseItem &) override {}
- virtual void visit (HIR::Module &) override {}
- virtual void visit (HIR::ExternCrate &) override {}
-
- virtual void visit (HIR::UseTreeGlob &) override {}
- virtual void visit (HIR::UseTreeList &) override {}
- virtual void visit (HIR::UseTreeRebind &) override {}
- virtual void visit (HIR::UseDeclaration &) override {}
- virtual void visit (HIR::Function &) override {}
- virtual void visit (HIR::TypeAlias &) override {}
- virtual void visit (HIR::StructStruct &) override {}
- virtual void visit (HIR::TupleStruct &) override {}
- virtual void visit (HIR::EnumItem &) override {}
- virtual void visit (HIR::EnumItemTuple &) override {}
- virtual void visit (HIR::EnumItemStruct &) override {}
- virtual void visit (HIR::EnumItemDiscriminant &) override {}
- virtual void visit (HIR::Enum &) override {}
- virtual void visit (HIR::Union &) override {}
- virtual void visit (HIR::ConstantItem &) override {}
- virtual void visit (HIR::StaticItem &) override {}
- virtual void visit (HIR::TraitItemFunc &) override {}
- virtual void visit (HIR::TraitItemConst &) override {}
- virtual void visit (HIR::TraitItemType &) override {}
- virtual void visit (HIR::Trait &) override {}
- virtual void visit (HIR::ImplBlock &) override {}
-
- virtual void visit (HIR::ExternalStaticItem &) override {}
- virtual void visit (HIR::ExternalFunctionItem &) override {}
- virtual void visit (HIR::ExternBlock &) override {}
-
- virtual void visit (HIR::LiteralPattern &) override {}
- virtual void visit (HIR::IdentifierPattern &) override {}
- virtual void visit (HIR::WildcardPattern &) override {}
-
- virtual void visit (HIR::RangePatternBoundLiteral &) override {}
- virtual void visit (HIR::RangePatternBoundPath &) override {}
- virtual void visit (HIR::RangePatternBoundQualPath &) override {}
- virtual void visit (HIR::RangePattern &) override {}
- virtual void visit (HIR::ReferencePattern &) override {}
-
- virtual void visit (HIR::StructPatternFieldTuplePat &) override {}
- virtual void visit (HIR::StructPatternFieldIdentPat &) override {}
- virtual void visit (HIR::StructPatternFieldIdent &) override {}
- virtual void visit (HIR::StructPattern &) override {}
-
- virtual void visit (HIR::TupleStructItemsNoRange &) override {}
- virtual void visit (HIR::TupleStructItemsRange &) override {}
- virtual void visit (HIR::TupleStructPattern &) override {}
-
- virtual void visit (HIR::TuplePatternItemsMultiple &) override {}
- virtual void visit (HIR::TuplePatternItemsRanged &) override {}
- virtual void visit (HIR::TuplePattern &) override {}
- virtual void visit (HIR::GroupedPattern &) override {}
- virtual void visit (HIR::SlicePattern &) override {}
-
- virtual void visit (HIR::EmptyStmt &) override {}
- virtual void visit (HIR::LetStmt &) override {}
- virtual void visit (HIR::ExprStmtWithoutBlock &) override {}
- virtual void visit (HIR::ExprStmtWithBlock &) override {}
-
- virtual void visit (HIR::TraitBound &) override {}
- virtual void visit (HIR::ImplTraitType &) override {}
- virtual void visit (HIR::TraitObjectType &) override {}
- virtual void visit (HIR::ParenthesisedType &) override {}
- virtual void visit (HIR::ImplTraitTypeOneBound &) override {}
- virtual void visit (HIR::TupleType &) override {}
- virtual void visit (HIR::NeverType &) override {}
- virtual void visit (HIR::RawPointerType &) override {}
- virtual void visit (HIR::ReferenceType &) override {}
- virtual void visit (HIR::ArrayType &) override {}
- virtual void visit (HIR::SliceType &) override {}
- virtual void visit (HIR::InferredType &) override {}
- virtual void visit (HIR::BareFunctionType &) override {}
-};
-
-class ImplTypeIterator : public SimpleHirVisitor
-{
- using SimpleHirVisitor::visit;
+ using HIR::HIRFullVisitorBase::visit;
public:
ImplTypeIterator (HIR::ImplBlock &impl,
diff --git a/gcc/rust/typecheck/rust-tycheck-dump.h b/gcc/rust/typecheck/rust-tycheck-dump.h
index c305d48..c7219cd 100644
--- a/gcc/rust/typecheck/rust-tycheck-dump.h
+++ b/gcc/rust/typecheck/rust-tycheck-dump.h
@@ -27,9 +27,9 @@ namespace Resolver {
class TypeResolverDump : public TypeCheckBase
{
-public:
- using Rust::Resolver::TypeCheckBase::visit;
+ using Rust::HIR::HIRFullVisitorBase::visit;
+public:
static void go (HIR::Crate &crate, std::ofstream &out)
{
TypeResolverDump dumper;