forked from PuqiAR/Fig-TreeWalker
[VER 0.3.2-Hotfix]
[Feat] 面对对象(struct)支持,完成对其初始化解析。 [Impl] Value更换为Object,且简单类型按值存储,复杂类型为shared_ptr。 [Impl] 全局使用 Object shared_ptr
This commit is contained in:
@@ -14,7 +14,7 @@ namespace Fig::Ast
|
||||
|
||||
struct FunctionCallArgs final
|
||||
{
|
||||
std::vector<Object> argv;
|
||||
std::vector<ObjectPtr> argv;
|
||||
size_t getLength() const { return argv.size(); }
|
||||
};
|
||||
|
||||
|
||||
@@ -9,13 +9,13 @@ namespace Fig::Ast
|
||||
class ValueExprAst final : public ExpressionAst
|
||||
{
|
||||
public:
|
||||
Object val;
|
||||
ObjectPtr val;
|
||||
|
||||
ValueExprAst()
|
||||
{
|
||||
type = AstType::ValueExpr;
|
||||
}
|
||||
ValueExprAst(Object _val)
|
||||
ValueExprAst(ObjectPtr _val)
|
||||
{
|
||||
type = AstType::ValueExpr;
|
||||
val = std::move(_val);
|
||||
|
||||
@@ -290,6 +290,7 @@ namespace Fig::Ast
|
||||
{TokenType::ShiftRight, Operator::ShiftRight},
|
||||
|
||||
// 赋值表达式
|
||||
{TokenType::Assign, Operator::Assign},
|
||||
// {TokenType::Walrus, Operator::Walrus},
|
||||
// 点运算符
|
||||
{TokenType::Dot, Operator::Dot},
|
||||
|
||||
Reference in New Issue
Block a user