aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-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;