diff options
-rw-r--r-- | gcc/rust/backend/rust-compile-base.h | 159 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-cond-compilation.h | 10 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-expr.h | 138 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-full-test.cc | 266 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-item.h | 64 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-path.h | 14 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-pattern.h | 48 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-stmt.h | 8 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-type.h | 26 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-visitor.h | 157 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir.h | 26 | ||||
-rw-r--r-- | gcc/rust/lint/rust-lint-marklive-base.h | 150 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-hir-const-fold-base.h | 151 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-hir-type-check-base.h | 153 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-hir-type-check-util.h | 159 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-tycheck-dump.h | 4 |
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 ¶m) {} - // 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; |