2024-06-22 14:39:41 +08:00

59 lines
1.8 KiB
C

// #include "pocketpy/compiler/expr.h"
// #include "pocketpy/common/memorypool.h"
// static bool default_false(const pk_Expr*) { return false; }
// static int default_zero(const pk_Expr*) { return 0; }
// static void default_dtor(pk_Expr*) {}
// void pk_ExprVt__ctor(pk_ExprVt* vt){
// vt->dtor = default_dtor;
// vt->is_literal = default_false;
// vt->is_json_object = default_false;
// vt->is_attrib = default_false;
// vt->is_subscr = default_false;
// vt->is_compare = default_false;
// vt->star_level = default_zero;
// vt->is_tuple = default_false;
// vt->is_name = default_false;
// vt->emit_ = NULL; // must be set
// vt->emit_del = NULL;
// vt->emit_store = NULL;
// vt->emit_inplace = NULL;
// vt->emit_store_inplace = NULL;
// }
// void pk_Expr__emit_(pk_Expr* self, pk_CodeEmitContext* ctx){
// assert(self->vt->emit_);
// self->vt->emit_(self, ctx);
// }
// bool pk_Expr__emit_del(pk_Expr* self, pk_CodeEmitContext* ctx){
// if(!self->vt->emit_del) return false;
// return self->vt->emit_del(self, ctx);
// }
// bool pk_Expr__emit_store(pk_Expr* self, pk_CodeEmitContext* ctx){
// if(!self->vt->emit_store) return false;
// return self->vt->emit_store(self, ctx);
// }
// void pk_Expr__emit_inplace(pk_Expr* self, pk_CodeEmitContext* ctx){
// if(!self->vt->emit_inplace){
// pk_Expr__emit_(self, ctx);
// return;
// }
// self->vt->emit_inplace(self, ctx);
// }
// bool pk_Expr__emit_store_inplace(pk_Expr* self, pk_CodeEmitContext* ctx){
// if(!self->vt->emit_store_inplace){
// return pk_Expr__emit_store(self, ctx);
// }
// return self->vt->emit_store_inplace(self, ctx);
// }
// void pk_Expr__delete(pk_Expr* self){
// if(!self) return;
// self->vt->dtor(self);
// PoolExpr_dealloc(self);
// }