#include "cpps/cpps.h"namespace cpps{object dofunction(C *c, object func){cpps_value ret;if (func.value.tt == CPPS_TLAMBDAFUNCTION) {cpps_cppsclassvar* cppsclassvar = (cpps_cppsclassvar*)func.value.value.domain;cpps_lambda_function* pfunc = (cpps_lambda_function*)cppsclassvar->getclsptr();func.value = pfunc;func.value.tt = CPPS_TFUNCTION;}if (func.value.tt == CPPS_TFUNCTION){cpps_function *f = func.value.value.func;if (f){cpps_std_vector paramlist;cpps_domain *execdomain = c->_G;cpps_stack* stack = c->stack_alloc();stack->init("", 0, f->funcname.c_str());c->push_stack(stack);f->callfunction(c, &ret, execdomain, ¶mlist);c->pop_stack();c->stack_free(stack);}}return ret;}object doclassfunction(C *c, object domain, object func){cpps_value ret;if (func.value.tt == CPPS_TLAMBDAFUNCTION) {cpps_cppsclassvar* cppsclassvar = (cpps_cppsclassvar*)func.value.value.domain;cpps_lambda_function* pfunc = (cpps_lambda_function*)cppsclassvar->getclsptr();func.value = pfunc;func.value.tt = CPPS_TFUNCTION;}if (func.value.tt == CPPS_TFUNCTION){cpps_function *f = func.value.value.func;if (f){cpps_std_vector paramlist;cpps_domain *execdomain = domain.value.value.domain;cpps_stack* stack = c->stack_alloc();stack->init("", 0, f->funcname.c_str());c->push_stack(stack);f->callfunction(c, &ret, execdomain, ¶mlist);c->pop_stack();c->stack_free( stack);}}return ret;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型