| 695 | ScriptCallable *function; |
| 696 | |
| 697 | CppiaClosure(CppiaCtx *ctx, ScriptCallable *inFunction) |
| 698 | { |
| 699 | function = inFunction; |
| 700 | |
| 701 | unsigned char *base = ((unsigned char *)this) + sizeof(CppiaClosure); |
| 702 | |
| 703 | *(hx::Object **)base = ctx->getThis(false); |
| 704 | |
| 705 | for(int i=0;i<function->captureVars.size();i++) |
| 706 | { |
| 707 | CppiaStackVar *var = function->captureVars[i]; |
| 708 | int size = sTypeSize[var->expressionType]; |
| 709 | memcpy( base+var->capturePos, ctx->frame + var->fromStackPos, size ); |
| 710 | } |
| 711 | } |
| 712 | |
| 713 | hx::Object **getThis() const |
| 714 | { |