JavaScriptCore.Context¶
- Subclasses:
None
Methods¶
- Inherited:
- Structs:
class |
|
class |
|
class |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Virtual Methods¶
- Inherited:
Properties¶
Name |
Type |
Flags |
Short Description |
|---|---|---|---|
r/w/co |
Signals¶
- Inherited:
Fields¶
- Inherited:
Name |
Type |
Access |
Description |
|---|---|---|---|
parent |
r |
Class Details¶
- class JavaScriptCore.Context(**kwargs)¶
- Bases:
- Abstract:
No
- Structure:
JavaScriptCore.Contextrepresents 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
JavaScriptCore.Context.evaluate() orJavaScriptCore.Context.evaluate_with_source_uri(). It’s also possible to register custom objects in the context withJavaScriptCore.Context.register_class().- classmethod get_current()¶
- Returns:
the
JavaScriptCore.Contextthat is currently executing.- Return type:
Get the
JavaScriptCore.Contextthat is currently executing a function. This should only be called within a function or method callback, otherwiseNonewill be returned.
- classmethod new()¶
- Returns:
the newly created
JavaScriptCore.Context.- Return type:
Create a new
JavaScriptCore.Context. The context is created in a newJavaScriptCore.VirtualMachine. UseJavaScriptCore.Context.new_with_virtual_machine() to create a newJavaScriptCore.Contextin an existingJavaScriptCore.VirtualMachine.
- classmethod new_with_virtual_machine(vm)¶
- Parameters:
vm (
JavaScriptCore.VirtualMachine) – aJavaScriptCore.VirtualMachine- Returns:
the newly created
JavaScriptCore.Context.- Return type:
Create a new
JavaScriptCore.Contextin virtual_machine.
- check_syntax(code, length, mode, uri, line_number)¶
- Parameters:
code (
str) – a JavaScript script to checklength (
int) – length of code, or -1 if code is a nul-terminated stringmode (
JavaScriptCore.CheckSyntaxMode) – aJavaScriptCore.CheckSyntaxModeuri (
str) – the source URIline_number (
int) – the starting line number
- Returns:
a
JavaScriptCore.CheckSyntaxResult- exception:
return location for a
JavaScriptCore.Exception, orNoneto ignore
- Return type:
(
JavaScriptCore.CheckSyntaxResult, exception:JavaScriptCore.Exception)
Check the given code in self 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
JavaScriptCore.Exceptionwith the details. You can passNoneto exception to ignore the error details.
- clear_exception()¶
Clear the uncaught exception in self if any.
- evaluate(code, length)¶
- Parameters:
- Returns:
a
JavaScriptCore.Valuerepresenting the last value generated by the script.- Return type:
Evaluate code in self.
- evaluate_in_object(code, length, object_instance, object_class, uri, line_number)¶
- Parameters:
code (
str) – a JavaScript script to evaluatelength (
int) – length of code, or -1 if code is a nul-terminated stringobject_class (
JavaScriptCore.ClassorNone) – aJavaScriptCore.ClassorNoneto use the defaulturi (
str) – the source URIline_number (
int) – the starting line number
- Returns:
a
JavaScriptCore.Valuerepresenting the last value generated by the script.- object:
return location for a
JavaScriptCore.Value.
- Return type:
(
JavaScriptCore.Value, object:JavaScriptCore.Value)
Evaluate code and create an new object where symbols defined in code will be added as properties, instead of being added to self global object. The new object is returned as object parameter. Similar to how
JavaScriptCore.Value.new_object() works, if object_instance is notNoneobject_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.
- evaluate_with_source_uri(code, length, uri, line_number)¶
- Parameters:
- Returns:
a
JavaScriptCore.Valuerepresenting the last value generated by the script.- Return type:
Evaluate code in self 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.
- get_exception()¶
- Returns:
a
JavaScriptCore.ExceptionorNoneif there isn’t any unhandled exception in theJavaScriptCore.Context.- Return type:
Get the last unhandled exception thrown in self by API functions calls.
- get_global_object()¶
- Returns:
- Return type:
Get a
JavaScriptCore.Valuereferencing the self global object
- get_value(name)¶
- Parameters:
name (
str) – the value name- Returns:
- Return type:
Get a property of self global object with name.
- get_virtual_machine()¶
- Returns:
the
JavaScriptCore.VirtualMachinewhere theJavaScriptCore.Contextwas created.- Return type:
Get the
JavaScriptCore.VirtualMachinewhere self was created.
- pop_exception_handler()¶
Remove the last
JavaScriptCore.ExceptionHandlerpreviously pushed to self withJavaScriptCore.Context.push_exception_handler().
- push_exception_handler(handler, *user_data)¶
- Parameters:
Push an exception handler in self. Whenever a JavaScript exception happens in the
JavaScriptCore.Context, the given handler will be called. The defaultJavaScriptCore.ExceptionHandlersimply callsJavaScriptCore.Context.throw_exception() to throw the exception to theJavaScriptCore.Context. If you don’t want to catch the exception, but only get notified about it, callJavaScriptCore.Context.throw_exception() in handler like the default one does. The last exception handler pushed is the only one used by theJavaScriptCore.Context, useJavaScriptCore.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.
- register_class(name, parent_class, vtable, destroy_notify)¶
- Parameters:
name (
str) – the class nameparent_class (
JavaScriptCore.ClassorNone) – aJavaScriptCore.ClassorNonevtable (
JavaScriptCore.ClassVTableorNone) – an optionalJavaScriptCore.ClassVTableorNonedestroy_notify (
GLib.DestroyNotifyorNone) – a destroy notifier for class instances
- Returns:
- Return type:
Register a custom class in self using the given name. If the new class inherits from another
JavaScriptCore.Class, the parent should be passed as parent_class, otherwiseNoneshould 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 theJavaScriptCore.Classis cleared in the context, destroy_notify is called with the instance as parameter.
- set_value(name, value)¶
- Parameters:
name (
str) – the value namevalue (
JavaScriptCore.Value) – aJavaScriptCore.Value
Set a property of self global object with name and value.
- throw(error_message)¶
- Parameters:
error_message (
str) – an error message
Throw an exception to self using the given error message. The created
JavaScriptCore.Exceptioncan be retrieved withJavaScriptCore.Context.get_exception().
- throw_exception(exception)¶
- Parameters:
exception (
JavaScriptCore.Exception) – aJavaScriptCore.Exception
Throw exception to self.
- throw_with_name(error_name, error_message)¶
-
Throw an exception to self using the given error name and message. The created
JavaScriptCore.Exceptioncan be retrieved withJavaScriptCore.Context.get_exception().
Property Details¶
- JavaScriptCore.Context.props.virtual_machine¶
- Name:
virtual-machine- Type:
- Default Value:
- Flags:
The
JavaScriptCore.VirtualMachinein which the context was created.