/* file ConvertExpr.cpp * * author: Roland Conybeare */ #include "ConvertExpr.hpp" namespace xo { namespace ast { rp ConvertExpr::make(TypeDescr dest_type, rp arg) { return new ConvertExpr(dest_type, std::move(arg)); } std::set ConvertExpr::get_free_variables() const { if (this->arg_) return this->arg_->get_free_variables(); else return std::set(); } void ConvertExpr::display(std::ostream & os) const { os << "valuetype()->short_name()) << xtag("arg", arg_) << ">"; } // ----- ConvertExprAccess ----- rp ConvertExprAccess::make(TypeDescr dest_type, rp arg) { return new ConvertExprAccess(dest_type, std::move(arg)); } rp ConvertExprAccess::make_empty() { return new ConvertExprAccess(nullptr /*dest_type*/, nullptr /*arg*/); } } /*namespace ast*/ } /*namespace xo*/ /* end ConvertExpr.cpp */