Class
JavaScriptCoreContext
Description [src]
class JavaScriptCore.Context : GObject.Object {
parent: GObject,
priv: JSCContextPrivate*
}
JSCContext represents a JavaScript execution context, where all operations take place and where the values will be associated.
When a new context is created, a global object is allocated and the built-in JavaScript
objects (Object, Function, String, Array) are populated. You can execute JavaScript in
the context by using jsc_context_evaluate()
or jsc_context_evaluate_with_source_uri().
It’s also possible to register custom objects in the context with jsc_context_register_class().
Constructors
jsc_context_new
Create a new JSCContext
. The context is created in a new JSCVirtualMachine
.
Use jsc_context_new_with_virtual_machine()
to create a new JSCContext
in an
existing JSCVirtualMachine
.
Functions
jsc_context_get_current
Get the JSCContext
that is currently executing a function. This should only be
called within a function or method callback, otherwise NULL
will be returned.
Instance methods
jsc_context_check_syntax
Check the given code
in context
for syntax errors. The line_number
is the starting line number in uri
;
the value is one-based so the first line is 1. uri
and line_number
are only used to fill the exception
.
In case of errors exception
will be set to a new JSCException
with the details. You can pass NULL
to
exception
to ignore the error details.
jsc_context_evaluate_in_object
Evaluate code
and create an new object where symbols defined in code
will be added as properties,
instead of being added to context
global object. The new object is returned as object
parameter.
Similar to how jsc_value_new_object()
works, if object_instance
is not NULL
object_class
must be provided too.
The line_number
is the starting line number in uri
; the value is one-based so the first line is 1.
uri
and line_number
will be shown in exceptions and they don’t affect the behavior of the script.
jsc_context_evaluate_with_source_uri
Evaluate code
in context
using uri
as the source URI. The line_number
is the starting line number
in uri
; the value is one-based so the first line is 1. uri
and line_number
will be shown in exceptions and
they don’t affect the behavior of the script.
jsc_context_get_exception
Get the last unhandled exception thrown in context
by API functions calls.
jsc_context_pop_exception_handler
Remove the last JSCExceptionHandler
previously pushed to context
with jsc_context_push_exception_handler().
jsc_context_push_exception_handler
Push an exception handler in context
. Whenever a JavaScript exception happens in
the JSCContext
, the given handler
will be called. The default JSCExceptionHandler
simply calls jsc_context_throw_exception()
to throw the exception to the JSCContext
.
If you don’t want to catch the exception, but only get notified about it, call
jsc_context_throw_exception()
in handler
like the default one does.
The last exception handler pushed is the only one used by the JSCContext
, use
jsc_context_pop_exception_handler()
to remove it and set the previous one. When handler
is removed from the context, destroy_notify
i called with user_data
as parameter.
jsc_context_register_class
Register a custom class in context
using the given name
. If the new class inherits from
another JSCClass
, the parent should be passed as parent_class
, otherwise NULL
should be
used. The optional vtable
parameter allows to provide a custom implementation for handling
the class, for example, to handle external properties not added to the prototype.
When an instance of the JSCClass
is cleared in the context, destroy_notify
is called with
the instance as parameter.
jsc_context_throw
Throw an exception to context
using the given error message. The created JSCException
can be retrieved with jsc_context_get_exception().
jsc_context_throw_printf
Throw an exception to context
using the given formatted string as error message.
The created JSCException
can be retrieved with jsc_context_get_exception().
jsc_context_throw_with_name
Throw an exception to context
using the given error name and message. The created JSCException
can be retrieved with jsc_context_get_exception().
jsc_context_throw_with_name_printf
Throw an exception to context
using the given error name and the formatted string as error message.
The created JSCException
can be retrieved with jsc_context_get_exception().
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct JavaScriptCoreContextClass {
GObjectClass parent_class;
void (* _jsc_reserved0) (
void
);
void (* _jsc_reserved1) (
void
);
void (* _jsc_reserved2) (
void
);
void (* _jsc_reserved3) (
void
);
}
Class members
parent_class: GObjectClass
- No description available.
_jsc_reserved0: void (* _jsc_reserved0) ( void )
- No description available.
_jsc_reserved1: void (* _jsc_reserved1) ( void )
- No description available.
_jsc_reserved2: void (* _jsc_reserved2) ( void )
- No description available.
_jsc_reserved3: void (* _jsc_reserved3) ( void )
- No description available.