24#include "AstUtil/Object.hpp"
25#include "AstUtil/ObjectNamed.hpp"
26#include "AstScript/ScriptAPI.hpp"
42 using ObjectNamed::ObjectNamed;
43 ~Expr()
override =
default;
59 virtual errc_t setValueDouble(
double val);
62 virtual errc_t getValueDouble(
double& val)
const;
表达式访问器
定义 ExprVisitor.hpp:62
virtual void accept(ExprVisitor &visitor)=0
接受表达式访问者
virtual errc_t setValue(Value *val)
设置表达式的值
定义 Expr.hpp:56
virtual Value * eval() const =0
求值
virtual std::string getExpression(Object *context=nullptr) const =0
获取表达式的字符串表示
命名对象
定义 ObjectNamed.hpp:36
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:95