2 Object user${{name}}$implementation(EnvironmentPool* environmentPool, Environment* environment, size_t argc, Stack* stack, jmp_buf parentJump)
4 environment = Environment_construct(environmentPool, environment);
6 StackSnapshot stackSnapshot = Stack_takeSnapshot(stack);
11 fprintf(stderr, "\tin {{name}}\n");
13 Stack_rewind(stack, stackSnapshot);
14 Environment_setLive(environment, false);
16 longjmp(parentJump, 1);
19 Object result = builtin$nil;
21 {% for argument_name in argument_name_list|reverse %}
22 Environment_set(environment, "{{ argument_name }}", Stack_pop(stack));
25 {% for statement in statement_list %}
29 // TODO Set the environment back to the parent environment
30 Environment_setLive(environment, false);