obj_gen.c File Reference
Generator objects. More...
#include <string.h>#include <kuroko/vm.h>#include <kuroko/value.h>#include <kuroko/memory.h>#include <kuroko/util.h>#include <kuroko/debug.h>
Include dependency graph for obj_gen.c:

Go to the source code of this file.
Data Structures | |
| struct | generator |
| Generator object implementation. More... | |
Macros | |
| #define | AS_generator(o) ((struct generator *)AS_OBJECT(o)) |
| #define | IS_generator(o) (krk_isInstanceOf(o, KRK_BASE_CLASS(generator))) |
| #define | CURRENT_CTYPE struct generator * |
| #define | CURRENT_NAME self |
Functions | |
| KrkInstance * | krk_buildGenerator (KrkClosure *closure, KrkValue *argsIn, size_t argCount) |
| Create a generator object from a closure and set of arguments. More... | |
| FUNC_SIG (generator, __init__) | |
| KrkValue | _generator___repr__ (int, KrkValue *, int) |
| KrkValue | _generator___iter__ (int, KrkValue *, int) |
| KrkValue | _generator___call__ (int, KrkValue *, int) |
| KrkValue | _generator_send (int, KrkValue *, int) |
| KrkValue | _generator___finish__ (int, KrkValue *, int) |
| KrkValue | _generator_gi_running (int, KrkValue *, int) |
| int | krk_getAwaitable (void) |
| Calls await | |
| _noexport void | _createAndBind_generatorClass (void) |
Detailed Description
Generator objects.
Generator objects track runtime state so they can be resumed and yielded from. Any function with a yield statement in its body is implicitly transformed into a generator object when called.
Definition in file obj_gen.c.
Function Documentation
◆ krk_buildGenerator()
| KrkInstance* krk_buildGenerator | ( | KrkClosure * | closure, |
| KrkValue * | argsIn, | ||
| size_t | argCount | ||
| ) |
Create a generator object from a closure and set of arguments.
Initializes the generator object, attaches the argument list, and sets up the execution state to point to the start of the function's code object.
- Parameters
-
closure Function object to transform. argsIn Array of arguments passed to the call. argCount Number of arguments in argsIn
- Returns
- A generator object.