25#include "AstUtil/SharedPtr.hpp"
46 : macro_(macro), args_(args)
52 Value* eval()
const override;
57 std::string getExpression(
Object* context=
nullptr)
const override;
62 const Expr* getMacro()
const {
return macro_; }
66 const std::vector<SharedPtr<Expr>>&
getArgs()
const {
return args_; }
70 std::vector<SharedPtr<Expr>> args_;
宏展开表达式
定义 ExprMacroExpand.hpp:35
Expr * getMacro()
获取被展开的宏对象
定义 ExprMacroExpand.hpp:61
const std::vector< SharedPtr< Expr > > & getArgs() const
获取宏展开参数列表
定义 ExprMacroExpand.hpp:66
ExprMacroExpand(Expr *macro, const std::vector< SharedPtr< Expr > > &args)
构造函数
定义 ExprMacroExpand.hpp:45
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:81