24#include "AstScript/Expr.hpp"
25#include "AstUtil/StringView.hpp"
26#include "AstUtil/SharedPtr.hpp"
57 errc_t setExpr(
Expr* expr);
62 errc_t bind(
Expr* expr);
70 const std::string& name()
const {
return name_; }
71 Expr* expr()
const {
return expr_.get(); }
virtual errc_t setValue(Value *val)
设置表达式的值
定义 Expr.hpp:58
virtual Value * eval() const =0
求值
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:81
SharedPtr< Expr > expr_
变量的值,或者绑定的表达式
定义 Variable.hpp:75
bool bind_
是否与表达式双向绑定
定义 Variable.hpp:76
std::string getExpression(Object *context=nullptr) const override
获取变量的表达式
定义 Variable.hpp:68
std::string name_
变量的名称
定义 Variable.hpp:74