|
| | ~JavaScript () override=default |
| |
| bool | start (size_t id, const std::shared_ptr< IFile_system > &fs={}, const Dictionary_t &predefined_globals={}) |
| |
| void | stop () |
| |
| std::string | execute (const std::string &code, int timeout, ResultType result_type, const GlobalCallbacks &callbacks) |
| |
| std::string | get_parameter_string (const std::vector< Value > ¶meters) const |
| |
| int64_t | eval (poly_reference source, poly_value *result) const |
| | Wraps a call to poly_context_eval. More...
|
| |
| poly_value | create_source (const std::string &source, const std::string &code_str) const |
| | Creates a Source object. More...
|
| |
| bool | is_idle () |
| |
| bool | wait_for_idle () |
| |
| size_t | id () |
| |
| | ~Java_script_interface () override=default |
| |
| const char * | get_language_id () const override |
| |
| void | initialize (const std::shared_ptr< IFile_system > &fs={}) override |
| |
| void | finalize () override |
| |
| poly_value | undefined () const override |
| | Return the a guest language interpretation of the Undefined C++ value. More...
|
| |
| bool | is_undefined (poly_value value) const override |
| | Returns true if the provided value is undefined in the guest language. More...
|
| |
| poly_value | array_buffer (const std::string &data) const override |
| | Return the guest language interpretation of a binary string. More...
|
| |
| bool | is_object (poly_value object, std::string *class_name=nullptr) const override |
| | Return true if the guest language identifies the value as an object. More...
|
| |
| const std::vector< std::string > & | keywords () const override |
| | Retrieves the list of keywords in the guest language. More...
|
| |
| | Polyglot_language (Polyglot_common_context *common_context, const std::string &debug_port="") |
| |
| | Polyglot_language (const Polyglot_language &)=delete |
| |
| | Polyglot_language (Polyglot_language &&)=delete |
| |
| | Polyglot_language (Polyglot_common_context *common_context, const std::string &debug_port="") |
| |
| | Polyglot_language (const Polyglot_language &)=delete |
| |
| Polyglot_language & | operator= (const Polyglot_language &)=delete |
| |
| | Polyglot_language (Polyglot_language &&)=delete |
| |
| Polyglot_language & | operator= (Polyglot_language &&)=delete |
| |
| virtual | ~Polyglot_language ()=default |
| |
| virtual void | init_context_builder () |
| |
| Polyglot_language * | language () |
| | The polyglot_utils file has the following functions that can be used to export C++ functions as polyglot global functions: More...
|
| |
| void | throw_jit_executor_exception (const Jit_executor_exception &exception) |
| | Throws a specific exception type in the GraalVM environment, with a specific message. More...
|
| |
| virtual poly_value | from_native_object (const Object_bridge_t &object) const =0 |
| | Converts a C++ object into a representation of the object in the guest language. More...
|
| |
| void | throw_exception_object (const shcore::Dictionary_t &data) const |
| | Translates a dictionary object into an exception in the guest language. More...
|
| |
| void | throw_exception_object (const Polyglot_error &data) const |
| | Translates a Polyglot_error into an exception in the guest language. More...
|
| |
| int64_t | eval (const std::string &source, const std::string &code_str, poly_value *result) const |
| | Wraps a call to poly_context_eval. More...
|
| |
| poly_value | create_source (const std::string &path) const |
| |
| std::pair< Value, bool > | debug (const std::string &path) |
| | Debugs the given script. More...
|
| |
| std::pair< Value, bool > | execute (const std::string &code_str, const std::string &source) |
| | Executes the given script. More...
|
| |
| virtual bool | load_plugin (const std::string &path) |
| | This function should be implemented to provide plugin load support. More...
|
| |
| poly_context | copy_global_context () const |
| | Creates a copy of the global context. More...
|
| |
| poly_value | poly_string (const std::string &data) const |
| |
| std::string | to_string (poly_value obj) const |
| |
| poly_context | context () const |
| |
| poly_thread | thread () const |
| |
| const std::shared_ptr< Polyglot_object > & | globals () const |
| |
| poly_reference | store (poly_value value) |
| |
| void | erase (poly_reference value) |
| |
| void | set_global (const std::string &name, const Value &value) const |
| |
| void | set_global (const std::string &name, poly_value value) const |
| |
| void | set_global_function (const std::string &name, poly_callback callback, void *data=nullptr) |
| |
| Store | get_global (const std::string &name) const |
| |
| void | terminate () |
| |
| bool | is_terminating () const |
| |
| Script_scope | enter_script (const std::string &s) |
| |
| Value | convert (poly_value value) const |
| |
| poly_value | convert (const Value &value) const |
| |
| Argument_list | convert_args (const std::vector< poly_value > &args) const |
| |
| poly_value | type_info (poly_value value) const |
| |
| bool | get_member (poly_value object, const char *name, poly_value *member) const |
| |
| std::string | current_script_folder () const |
| |
| Polyglot_common_context * | common_context () |
| |
MRS JavaScript Implementation.
Starts the JavaScript engine in a thread for execution of code from the MRS end points. A threaded version is needed to support the JavaScript Promise resolution to get the final result.
To achieve these two global functions are exposed: synch_return and synch_error, such function would be used on the promise resolution by executing: promise.then(value => synch_return(value), error=>synch_error(err0r))