void visit (HIR::Trait &) override {}
void visit (HIR::EmptyStmt &) override {}
void visit (HIR::LetStmt &) override {}
- void visit (HIR::ExprStmtWithoutBlock &) override {}
- void visit (HIR::ExprStmtWithBlock &) override {}
+ void visit (HIR::ExprStmt &) override {}
protected:
CompileItem (Context *ctx, TyTy::BaseType *concrete, Location ref_locus)
}
void
-CompileStmt::visit (HIR::ExprStmtWithBlock &stmt)
-{
- translated = CompileExpr::Compile (stmt.get_expr (), ctx);
-}
-
-void
-CompileStmt::visit (HIR::ExprStmtWithoutBlock &stmt)
+CompileStmt::visit (HIR::ExprStmt &stmt)
{
translated = CompileExpr::Compile (stmt.get_expr (), ctx);
}
public:
static tree Compile (HIR::Stmt *stmt, Context *ctx);
- void visit (HIR::ExprStmtWithBlock &stmt) override;
- void visit (HIR::ExprStmtWithoutBlock &stmt) override;
+ void visit (HIR::ExprStmt &stmt) override;
void visit (HIR::LetStmt &stmt) override;
// Empty visit for unused Stmt HIR nodes.
}
void
-PrivacyReporter::visit (HIR::ExprStmtWithoutBlock &stmt)
-{
- stmt.get_expr ()->accept_vis (*this);
-}
-
-void
-PrivacyReporter::visit (HIR::ExprStmtWithBlock &stmt)
+PrivacyReporter::visit (HIR::ExprStmt &stmt)
{
stmt.get_expr ()->accept_vis (*this);
}
virtual void visit (HIR::ExternBlock &block);
virtual void visit (HIR::EmptyStmt &stmt);
virtual void visit (HIR::LetStmt &stmt);
- virtual void visit (HIR::ExprStmtWithoutBlock &stmt);
- virtual void visit (HIR::ExprStmtWithBlock &stmt);
+ virtual void visit (HIR::ExprStmt &stmt);
Analysis::Mappings &mappings;
Rust::Resolver::Resolver &resolver;
}
void
-ConstChecker::visit (ExprStmtWithoutBlock &stmt)
-{
- stmt.get_expr ()->accept_vis (*this);
-}
-
-void
-ConstChecker::visit (ExprStmtWithBlock &stmt)
+ConstChecker::visit (ExprStmt &stmt)
{
stmt.get_expr ()->accept_vis (*this);
}
virtual void visit (AltPattern &pattern) override;
virtual void visit (EmptyStmt &stmt) override;
virtual void visit (LetStmt &stmt) override;
- virtual void visit (ExprStmtWithoutBlock &stmt) override;
- virtual void visit (ExprStmtWithBlock &stmt) override;
+ virtual void visit (ExprStmt &stmt) override;
virtual void visit (TraitBound &bound) override;
virtual void visit (ImplTraitType &type) override;
virtual void visit (TraitObjectType &type) override;
}
void
-UnsafeChecker::visit (ExprStmtWithoutBlock &stmt)
-{
- stmt.get_expr ()->accept_vis (*this);
-}
-
-void
-UnsafeChecker::visit (ExprStmtWithBlock &stmt)
+UnsafeChecker::visit (ExprStmt &stmt)
{
stmt.get_expr ()->accept_vis (*this);
}
virtual void visit (AltPattern &pattern) override;
virtual void visit (EmptyStmt &stmt) override;
virtual void visit (LetStmt &stmt) override;
- virtual void visit (ExprStmtWithoutBlock &stmt) override;
- virtual void visit (ExprStmtWithBlock &stmt) override;
+ virtual void visit (ExprStmt &stmt) override;
virtual void visit (TraitBound &bound) override;
virtual void visit (ImplTraitType &type) override;
virtual void visit (TraitObjectType &type) override;
expr.get_iterator_expr ()->accept_vis (*this);
}
- void visit (HIR::ExprStmtWithoutBlock &stmt) override
- {
- stmt.get_expr ()->accept_vis (*this);
- }
-
- void visit (HIR::ExprStmtWithBlock &stmt) override
+ void visit (HIR::ExprStmt &stmt) override
{
stmt.get_expr ()->accept_vis (*this);
}
indentation.decrement ();
}
void
-Dump::visit (ExprStmtWithoutBlock &expr_stmt)
+Dump::visit (ExprStmt &expr_stmt)
{
auto expr = expr_stmt.get_expr ();
expr->accept_vis (*this);
}
-void
-Dump::visit (ExprStmtWithBlock &)
-{}
void
Dump::visit (TraitBound &)
virtual void visit (EmptyStmt &) override;
virtual void visit (LetStmt &) override;
- virtual void visit (ExprStmtWithoutBlock &) override;
- virtual void visit (ExprStmtWithBlock &) override;
+ virtual void visit (ExprStmt &) override;
virtual void visit (TraitBound &) override;
virtual void visit (ImplTraitType &) override;
Location get_locus () const override final { return locus; }
+ void accept_vis (HIRFullVisitor &vis) override;
+ void accept_vis (HIRStmtVisitor &vis) override;
+
bool is_item () const override final { return false; }
Expr *get_expr () { return expr.get (); }
: ExprStmt (std::move (mappings), std::move (expr), locus)
{}
- void accept_vis (HIRFullVisitor &vis) override;
- void accept_vis (HIRStmtVisitor &vis) override;
-
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
must_be_unit (must_be_unit)
{}
- void accept_vis (HIRFullVisitor &vis) override;
- void accept_vis (HIRStmtVisitor &vis) override;
-
bool is_unit_check_needed () const override { return must_be_unit; }
protected:
virtual void visit (AltPattern &pattern) = 0;
virtual void visit (EmptyStmt &stmt) = 0;
virtual void visit (LetStmt &stmt) = 0;
- virtual void visit (ExprStmtWithoutBlock &stmt) = 0;
- virtual void visit (ExprStmtWithBlock &stmt) = 0;
+ virtual void visit (ExprStmt &stmt) = 0;
virtual void visit (TraitBound &bound) = 0;
virtual void visit (ImplTraitType &type) = 0;
virtual void visit (TraitObjectType &type) = 0;
virtual void visit (EmptyStmt &) override {}
virtual void visit (LetStmt &) override {}
- virtual void visit (ExprStmtWithoutBlock &) override {}
- virtual void visit (ExprStmtWithBlock &) override {}
+ virtual void visit (ExprStmt &) override {}
virtual void visit (TraitBound &) override {}
virtual void visit (ImplTraitType &) override {}
virtual void visit (ExternBlock &block) = 0;
virtual void visit (EmptyStmt &stmt) = 0;
virtual void visit (LetStmt &stmt) = 0;
- virtual void visit (ExprStmtWithoutBlock &stmt) = 0;
- virtual void visit (ExprStmtWithBlock &stmt) = 0;
+ virtual void visit (ExprStmt &stmt) = 0;
};
class HIRExpressionVisitor
}
void
-ExprStmtWithoutBlock::accept_vis (HIRFullVisitor &vis)
-{
- vis.visit (*this);
-}
-
-void
-ExprStmtWithBlock::accept_vis (HIRFullVisitor &vis)
+ExprStmt::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
}
void
-ExprStmtWithoutBlock::accept_vis (HIRStmtVisitor &vis)
+ExprStmt::accept_vis (HIRStmtVisitor &vis)
{
vis.visit (*this);
}
vis.visit (*this);
}
-void
-ExprStmtWithBlock::accept_vis (HIRStmtVisitor &vis)
-{
- vis.visit (*this);
-}
-
void
PathInExpression::accept_vis (HIRPatternVisitor &vis)
{
}
void
-TypeCheckStmt::visit (HIR::ExprStmtWithBlock &stmt)
-{
- infered = TypeCheckExpr::Resolve (stmt.get_expr ());
-}
-
-void
-TypeCheckStmt::visit (HIR::ExprStmtWithoutBlock &stmt)
+TypeCheckStmt::visit (HIR::ExprStmt &stmt)
{
infered = TypeCheckExpr::Resolve (stmt.get_expr ());
}
public:
static TyTy::BaseType *Resolve (HIR::Stmt *stmt);
- void visit (HIR::ExprStmtWithBlock &stmt) override;
- void visit (HIR::ExprStmtWithoutBlock &stmt) override;
+ void visit (HIR::ExprStmt &stmt) override;
void visit (HIR::EmptyStmt &stmt) override;
void visit (HIR::ExternBlock &extern_block) override;
void visit (HIR::ConstantItem &constant) override;
}
}
- void visit (HIR::ExprStmtWithBlock &stmt) override
- {
- stmt.get_expr ()->accept_vis (*this);
- }
-
- void visit (HIR::ExprStmtWithoutBlock &stmt) override
+ void visit (HIR::ExprStmt &stmt) override
{
stmt.get_expr ()->accept_vis (*this);
}