Add builtin GeneratorFunction support (#3499)

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
This commit is contained in:
Robert Fancsik
2020-01-15 12:01:58 +01:00
committed by GitHub
parent e3decffdd3
commit 4a331b2edc
24 changed files with 659 additions and 152 deletions
@@ -17,6 +17,7 @@
#define ECMA_FUNCTION_OBJECT_H
#include "ecma-globals.h"
#include "ecma-builtins.h"
#include "vm.h"
/** \addtogroup ecma ECMA
@@ -38,8 +39,7 @@ bool ecma_is_constructor (ecma_value_t value);
bool ecma_object_is_constructor (ecma_object_t *obj_p);
ecma_object_t *
ecma_op_create_function_object (ecma_object_t *scope_p, const ecma_compiled_code_t *bytecode_data_p);
ecma_op_create_simple_function_object (ecma_object_t *scope_p, const ecma_compiled_code_t *bytecode_data_p);
ecma_object_t *
ecma_op_create_external_function_object (ecma_external_handler_t handler_cb);
@@ -47,6 +47,11 @@ ecma_op_create_external_function_object (ecma_external_handler_t handler_cb);
const ecma_compiled_code_t *
ecma_op_function_get_compiled_code (ecma_extended_object_t *function_p);
ecma_value_t
ecma_op_create_dynamic_function (const ecma_value_t *arguments_list_p,
ecma_length_t arguments_list_len,
ecma_parse_opts_t opts);
#if ENABLED (JERRY_ES2015)
void
ecma_op_set_super_called (ecma_object_t *lex_env_p);
@@ -69,6 +74,12 @@ ecma_op_function_implicit_constructor_handler_cb (const ecma_value_t function_ob
void
ecma_op_set_class_prototype (ecma_value_t completion_value, ecma_value_t this_arg);
ecma_object_t *
ecma_op_get_prototype_from_constructor (ecma_object_t *ctor_obj_p, ecma_builtin_id_t default_proto_id);
ecma_object_t *
ecma_op_create_generator_function_object (ecma_object_t *scope_p, const ecma_compiled_code_t *bytecode_data_p);
ecma_object_t *
ecma_op_create_arrow_function_object (ecma_object_t *scope_p, const ecma_compiled_code_t *bytecode_data_p,
ecma_value_t this_binding);