<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GObject" version="2.0"/>
  <package name="javascriptcoregtk-4.1"/>
  <c:include name="jsc/jsc.h"/>
  <doc:format name="unknown"/>
  <namespace name="JavaScriptCore"
             version="4.1"
             shared-library="libjavascriptcoregtk-4.1.so.4.4"
             c:identifier-prefixes="JSC"
             c:symbol-prefixes="jsc">
    <function-macro name="CHECK_VERSION"
                    c:identifier="JSC_CHECK_VERSION"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
           line="58">Check the version of JSC header files at compile time.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
                       line="69"/>
      <parameters>
        <parameter name="major">
          <doc xml:space="preserve"
               filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
               line="60">major version (e.g. 1 for version 1.2.5)</doc>
        </parameter>
        <parameter name="minor">
          <doc xml:space="preserve"
               filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
               line="61">minor version (e.g. 2 for version 1.2.5)</doc>
        </parameter>
        <parameter name="micro">
          <doc xml:space="preserve"
               filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
               line="62">micro version (e.g. 5 for version 1.2.5)</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CLASS" c:identifier="JSC_CLASS" introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONTEXT"
                    c:identifier="JSC_CONTEXT"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONTEXT_CLASS"
                    c:identifier="JSC_CONTEXT_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONTEXT_GET_CLASS"
                    c:identifier="JSC_CONTEXT_GET_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <enumeration name="CheckSyntaxMode" c:type="JSCCheckSyntaxMode">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
           line="936">Enum values to specify a mode to check for syntax errors in jsc_context_check_syntax().</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="62"/>
      <member name="script"
              value="0"
              c:identifier="JSC_CHECK_SYNTAX_MODE_SCRIPT">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="938">mode to check syntax of a script</doc>
      </member>
      <member name="module"
              value="1"
              c:identifier="JSC_CHECK_SYNTAX_MODE_MODULE">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="939">mode to check syntax of a module</doc>
      </member>
    </enumeration>
    <enumeration name="CheckSyntaxResult" c:type="JSCCheckSyntaxResult">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
           line="944">Enum values to specify the result of jsc_context_check_syntax().</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="71"/>
      <member name="success"
              value="0"
              c:identifier="JSC_CHECK_SYNTAX_RESULT_SUCCESS">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="946">no errors</doc>
      </member>
      <member name="recoverable_error"
              value="1"
              c:identifier="JSC_CHECK_SYNTAX_RESULT_RECOVERABLE_ERROR">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="947">recoverable syntax error</doc>
      </member>
      <member name="irrecoverable_error"
              value="2"
              c:identifier="JSC_CHECK_SYNTAX_RESULT_IRRECOVERABLE_ERROR">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="948">irrecoverable syntax error</doc>
      </member>
      <member name="unterminated_literal_error"
              value="3"
              c:identifier="JSC_CHECK_SYNTAX_RESULT_UNTERMINATED_LITERAL_ERROR">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="949">unterminated literal error</doc>
      </member>
      <member name="out_of_memory_error"
              value="4"
              c:identifier="JSC_CHECK_SYNTAX_RESULT_OUT_OF_MEMORY_ERROR">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="950">out of memory error</doc>
      </member>
      <member name="stack_overflow_error"
              value="5"
              c:identifier="JSC_CHECK_SYNTAX_RESULT_STACK_OVERFLOW_ERROR">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="951">stack overflow error</doc>
      </member>
    </enumeration>
    <class name="Class"
           c:symbol-prefix="class"
           c:type="JSCClass"
           parent="GObject.Object"
           glib:type-name="JSCClass"
           glib:get-type="jsc_class_get_type"
           glib:type-struct="ClassClass">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
           line="37">A JSSClass represents a custom JavaScript class registered by the user in a #JSCContext.
It allows to create new JavaScripts objects whose instances are created by the user using
this API.
It's possible to add constructors, properties and methods for a JSSClass by providing
#GCallback&lt;!-- --&gt;s to implement them.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="37"/>
      <method name="add_constructor"
              c:identifier="jsc_class_add_constructor"
              shadowed-by="add_constructorv"
              introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="568">Add a constructor to @jsc_class. If @name is %NULL, the class name will be used. When &lt;function&gt;new&lt;/function&gt;
is used with the constructor or jsc_value_constructor_call() is called, @callback is invoked receiving the
parameters and @user_data as the last parameter. When the constructor object is cleared in the #JSCClass context,
@destroy_notify is called with @user_data as parameter.

This function creates the constructor, which needs to be added to an object as a property to be able to use it. Use
jsc_context_set_value() to make the constructor available in the global object.

Note that the value returned by @callback is adopted by @jsc_class, and the #GDestroyNotify passed to
jsc_context_register_class() is responsible for disposing of it.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                         line="84"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="590">a #JSCValue representing the class constructor.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="jsc_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="570">a #JSCClass</doc>
            <type name="Class" c:type="JSCClass*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="571">the constructor name or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="572">a #GCallback to be called to create an instance of @jsc_class</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="573">user data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="574">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="return_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="575">the #GType of the constructor return value</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="n_params" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="576">the number of parameter types to follow or 0 if constructor doesn't receive parameters.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="577">a list of #GType&lt;!-- --&gt;s, one for each parameter.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="add_constructor_variadic"
              c:identifier="jsc_class_add_constructor_variadic">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="659">Add a constructor to @jsc_class. If @name is %NULL, the class name will be used. When &lt;function&gt;new&lt;/function&gt;
is used with the constructor or jsc_value_constructor_call() is called, @callback is invoked receiving
a #GPtrArray of #JSCValue&lt;!-- --&gt;s as arguments and @user_data as the last parameter. When the constructor object
is cleared in the #JSCClass context, @destroy_notify is called with @user_data as parameter.

This function creates the constructor, which needs to be added to an object as a property to be able to use it. Use
jsc_context_set_value() to make the constructor available in the global object.

Note that the value returned by @callback is adopted by @jsc_class, and the #GDestroyNotify passed to
jsc_context_register_class() is responsible for disposing of it.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                         line="104"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="679">a #JSCValue representing the class constructor.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="jsc_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="661">a #JSCClass</doc>
            <type name="Class" c:type="JSCClass*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="662">the constructor name or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="663">a #GCallback to be called to create an instance of @jsc_class</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="664">user data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="665">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="return_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="666">the #GType of the constructor return value</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_constructorv"
              c:identifier="jsc_class_add_constructorv"
              shadows="add_constructor">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="614">Add a constructor to @jsc_class. If @name is %NULL, the class name will be used. When &lt;function&gt;new&lt;/function&gt;
is used with the constructor or jsc_value_constructor_call() is called, @callback is invoked receiving the
parameters and @user_data as the last parameter. When the constructor object is cleared in the #JSCClass context,
@destroy_notify is called with @user_data as parameter.

This function creates the constructor, which needs to be added to an object as a property to be able to use it. Use
jsc_context_set_value() to make the constructor available in the global object.

Note that the value returned by @callback is adopted by @jsc_class, and the #GDestroyNotify passed to
jsc_context_register_class() is responsible for disposing of it.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                         line="94"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="636">a #JSCValue representing the class constructor.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="jsc_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="616">a #JSCClass</doc>
            <type name="Class" c:type="JSCClass*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="617">the constructor name or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="618">a #GCallback to be called to create an instance of @jsc_class</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="619">user data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="620">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="return_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="621">the #GType of the constructor return value</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="n_parameters" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="622">the number of parameters</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="parameter_types"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="623">a list of #GType&lt;!-- --&gt;s, one for each parameter, or %NULL</doc>
            <array length="5" zero-terminated="0" c:type="GType*">
              <type name="GType"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="add_method"
              c:identifier="jsc_class_add_method"
              shadowed-by="add_methodv"
              introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="711">Add method with @name to @jsc_class. When the method is called by JavaScript or jsc_value_object_invoke_method(),
@callback is called receiving the class instance as first parameter, followed by the method parameters and then
@user_data as last parameter. When the method is cleared in the #JSCClass context, @destroy_notify is called with
@user_data as parameter.

Note that the value returned by @callback must be transfer full. In case of non-refcounted boxed types, you should use
%G_TYPE_POINTER instead of the actual boxed #GType to ensure that the instance owned by #JSCClass is used.
If you really want to return a new copy of the boxed type, use #JSC_TYPE_VALUE and return a #JSCValue created
with jsc_value_new_object() that receives the copy as the instance parameter.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="jsc_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="713">a #JSCClass</doc>
            <type name="Class" c:type="JSCClass*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="714">the method name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="715">a #GCallback to be called to invoke method @name of @jsc_class</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="716">user data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="717">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="return_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="718">the #GType of the method return value, or %G_TYPE_NONE if the method is void.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="n_params" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="719">the number of parameter types to follow or 0 if the method doesn't receive parameters.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="720">a list of #GType&lt;!-- --&gt;s, one for each parameter.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="add_method_variadic"
              c:identifier="jsc_class_add_method_variadic">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="787">Add method with @name to @jsc_class. When the method is called by JavaScript or jsc_value_object_invoke_method(),
@callback is called receiving the class instance as first parameter, followed by a #GPtrArray of #JSCValue&lt;!-- --&gt;s
with the method arguments and then @user_data as last parameter. When the method is cleared in the #JSCClass context,
@destroy_notify is called with @user_data as parameter.

Note that the value returned by @callback must be transfer full. In case of non-refcounted boxed types, you should use
%G_TYPE_POINTER instead of the actual boxed #GType to ensure that the instance owned by #JSCClass is used.
If you really want to return a new copy of the boxed type, use #JSC_TYPE_VALUE and return a #JSCValue created
with jsc_value_new_object() that receives the copy as the instance parameter.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                         line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="jsc_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="789">a #JSCClass</doc>
            <type name="Class" c:type="JSCClass*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="790">the method name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="791">a #GCallback to be called to invoke method @name of @jsc_class</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="792">user data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="793">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="return_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="794">the #GType of the method return value, or %G_TYPE_NONE if the method is void.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_methodv"
              c:identifier="jsc_class_add_methodv"
              shadows="add_method">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="749">Add method with @name to @jsc_class. When the method is called by JavaScript or jsc_value_object_invoke_method(),
@callback is called receiving the class instance as first parameter, followed by the method parameters and then
@user_data as last parameter. When the method is cleared in the #JSCClass context, @destroy_notify is called with
@user_data as parameter.

Note that the value returned by @callback must be transfer full. In case of non-refcounted boxed types, you should use
%G_TYPE_POINTER instead of the actual boxed #GType to ensure that the instance owned by #JSCClass is used.
If you really want to return a new copy of the boxed type, use #JSC_TYPE_VALUE and return a #JSCValue created
with jsc_value_new_object() that receives the copy as the instance parameter.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                         line="122"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="jsc_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="751">a #JSCClass</doc>
            <type name="Class" c:type="JSCClass*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="752">the method name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="753">a #GCallback to be called to invoke method @name of @jsc_class</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="754">user data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="755">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="return_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="756">the #GType of the method return value, or %G_TYPE_NONE if the method is void.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="n_parameters" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="757">the number of parameter types to follow or 0 if the method doesn't receive parameters.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="parameter_types"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="758">a list of #GType&lt;!-- --&gt;s, one for each parameter, or %NULL</doc>
            <array length="5" zero-terminated="0" c:type="GType*">
              <type name="GType"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="add_property" c:identifier="jsc_class_add_property">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="816">Add a property with @name to @jsc_class. When the property value is read, @getter is called
receiving the the class instance as first parameter and @user_data as last parameter. When the property
value needs to be set, @setter is called receiving the the class instance as first parameter, followed
by the value to be set and then @user_data as the last parameter. When the property is cleared in the
#JSCClass context, @destroy_notify is called with @user_data as parameter.

Note that the value returned by @getter must be transfer full. In case of non-refcounted boxed types, you should use
%G_TYPE_POINTER instead of the actual boxed #GType to ensure that the instance owned by #JSCClass is used.
If you really want to return a new copy of the boxed type, use #JSC_TYPE_VALUE and return a #JSCValue created
with jsc_value_new_object() that receives the copy as the instance parameter.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                         line="140"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="jsc_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="818">a #JSCClass</doc>
            <type name="Class" c:type="JSCClass*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="819">the property name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="property_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="820">the #GType of the property value</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="getter"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="821">a #GCallback to be called to get the property value</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="setter"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="notified"
                     closure="4"
                     destroy="5">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="822">a #GCallback to be called to set the property value</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="823">user data to pass to @getter and @setter</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="824">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="jsc_class_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="514">Get the class name of @jsc_class</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="520">the name of @jsc_class</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="jsc_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="516">a @JSCClass</doc>
            <type name="Class" c:type="JSCClass*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_parent"
              c:identifier="jsc_class_get_parent"
              glib:get-property="parent">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="529">Get the parent class of @jsc_class</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="535">the parent class of @jsc_class</doc>
          <type name="Class" c:type="JSCClass*"/>
        </return-value>
        <parameters>
          <instance-parameter name="jsc_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
                 line="531">a @JSCClass</doc>
            <type name="Class" c:type="JSCClass*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="context"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="329">The #JSCContext in which the class was registered.</doc>
        <type name="Context"/>
      </property>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="342">The name of the class.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="parent"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_parent">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="355">The parent class or %NULL in case of final classes.</doc>
        <type name="Class"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ClassPrivate" c:type="JSCClassPrivate*"/>
      </field>
    </class>
    <record name="ClassClass"
            c:type="JSCClassClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Class">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="37"/>
    </record>
    <callback name="ClassDeletePropertyFunction"
              c:type="JSCClassDeletePropertyFunction">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
           line="411">The type of delete_property in #JSCClassVTable. This is only required when you need to handle
external properties not added to the prototype.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="54"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="421">%TRUE if handled or %FALSE to to forward the request to the parent class or prototype chain.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="jsc_class" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="413">a #JSCClass</doc>
          <type name="Class" c:type="JSCClass*"/>
        </parameter>
        <parameter name="context" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="414">a #JSCContext</doc>
          <type name="Context" c:type="JSCContext*"/>
        </parameter>
        <parameter name="instance"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="415">the @jsc_class instance</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="416">the property name</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="ClassEnumeratePropertiesFunction"
              c:type="JSCClassEnumeratePropertiesFunction">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
           line="424">The type of enumerate_properties in #JSCClassVTable. This is only required when you need to handle
external properties not added to the prototype.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="58"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="433">a %NULL-terminated array of strings
   containing the property names, or %NULL if @instance doesn't have enumerable properties.</doc>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="jsc_class" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="426">a #JSCClass</doc>
          <type name="Class" c:type="JSCClass*"/>
        </parameter>
        <parameter name="context" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="427">a #JSCContext</doc>
          <type name="Context" c:type="JSCContext*"/>
        </parameter>
        <parameter name="instance"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="428">the @jsc_class instance</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="ClassGetPropertyFunction"
              c:type="JSCClassGetPropertyFunction">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
           line="369">The type of get_property in #JSCClassVTable. This is only required when you need to handle
external properties not added to the prototype.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="41"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="379">a #JSCValue or %NULL to forward the request to
   the parent class or prototype chain</doc>
        <type name="Value" c:type="JSCValue*"/>
      </return-value>
      <parameters>
        <parameter name="jsc_class" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="371">a #JSCClass</doc>
          <type name="Class" c:type="JSCClass*"/>
        </parameter>
        <parameter name="context" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="372">a #JSCContext</doc>
          <type name="Context" c:type="JSCContext*"/>
        </parameter>
        <parameter name="instance"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="373">the @jsc_class instance</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="374">the property name</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="ClassHasPropertyFunction"
              c:type="JSCClassHasPropertyFunction">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
           line="397">The type of has_property in #JSCClassVTable. This is only required when you need to handle
external properties not added to the prototype.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="50"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="407">%TRUE if @instance has a property with @name or %FALSE to forward the request
   to the parent class or prototype chain.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="jsc_class" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="399">a #JSCClass</doc>
          <type name="Class" c:type="JSCClass*"/>
        </parameter>
        <parameter name="context" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="400">a #JSCContext</doc>
          <type name="Context" c:type="JSCContext*"/>
        </parameter>
        <parameter name="instance"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="401">the @jsc_class instance</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="402">the property name</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ClassPrivate"
            c:type="JSCClassPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="37"/>
    </record>
    <callback name="ClassSetPropertyFunction"
              c:type="JSCClassSetPropertyFunction">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
           line="383">The type of set_property in #JSCClassVTable. This is only required when you need to handle
external properties not added to the prototype.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="45"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="394">%TRUE if handled or %FALSE to forward the request to the parent class or prototype chain.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="jsc_class" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="385">a #JSCClass</doc>
          <type name="Class" c:type="JSCClass*"/>
        </parameter>
        <parameter name="context" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="386">a #JSCContext</doc>
          <type name="Context" c:type="JSCContext*"/>
        </parameter>
        <parameter name="instance"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="387">the @jsc_class instance</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="388">the property name</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
               line="389">the #JSCValue to set</doc>
          <type name="Value" c:type="JSCValue*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ClassVTable" c:type="JSCClassVTable">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
           line="437">Virtual table for a JSCClass. This can be optionally used when registering a #JSCClass in a #JSCContext
to provide a custom implementation for the class. All virtual functions are optional and can be set to
%NULL to fallback to the default implementation.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="75"/>
      <field name="get_property" writable="1">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="439">a #JSCClassGetPropertyFunction for getting a property.</doc>
        <type name="ClassGetPropertyFunction"
              c:type="JSCClassGetPropertyFunction"/>
      </field>
      <field name="set_property" writable="1">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="440">a #JSCClassSetPropertyFunction for setting a property.</doc>
        <type name="ClassSetPropertyFunction"
              c:type="JSCClassSetPropertyFunction"/>
      </field>
      <field name="has_property" writable="1">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="441">a #JSCClassHasPropertyFunction for querying a property.</doc>
        <type name="ClassHasPropertyFunction"
              c:type="JSCClassHasPropertyFunction"/>
      </field>
      <field name="delete_property" writable="1">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="442">a #JSCClassDeletePropertyFunction for deleting a property.</doc>
        <type name="ClassDeletePropertyFunction"
              c:type="JSCClassDeletePropertyFunction"/>
      </field>
      <field name="enumerate_properties" writable="1">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCClass.cpp"
             line="443">a #JSCClassEnumeratePropertiesFunction for enumerating properties.</doc>
        <type name="ClassEnumeratePropertiesFunction"
              c:type="JSCClassEnumeratePropertiesFunction"/>
      </field>
      <field name="_jsc_reserved0" introspectable="0">
        <callback name="_jsc_reserved0">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                           line="71"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved1" introspectable="0">
        <callback name="_jsc_reserved1">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                           line="72"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved2" introspectable="0">
        <callback name="_jsc_reserved2">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                           line="73"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved3" introspectable="0">
        <callback name="_jsc_reserved3">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                           line="74"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <class name="Context"
           c:symbol-prefix="context"
           c:type="JSCContext"
           parent="GObject.Object"
           glib:type-name="JSCContext"
           glib:get-type="jsc_context_get_type"
           glib:type-struct="ContextClass">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
           line="42">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().</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="51"/>
      <constructor name="new" c:identifier="jsc_context_new">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="608">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.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="74"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="615">the newly created #JSCContext.</doc>
          <type name="Context" c:type="JSCContext*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_virtual_machine"
                   c:identifier="jsc_context_new_with_virtual_machine">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="622">Create a new #JSCContext in @virtual_machine.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="77"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="628">the newly created #JSCContext.</doc>
          <type name="Context" c:type="JSCContext*"/>
        </return-value>
        <parameters>
          <parameter name="vm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="624">a #JSCVirtualMachine</doc>
            <type name="VirtualMachine" c:type="JSCVirtualMachine*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="get_current" c:identifier="jsc_context_get_current">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="827">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.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="122"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="833">the #JSCContext that is currently executing.</doc>
          <type name="Context" c:type="JSCContext*"/>
        </return-value>
      </function>
      <method name="check_syntax" c:identifier="jsc_context_check_syntax">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="956">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.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="147"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="971">a #JSCCheckSyntaxResult</doc>
          <type name="CheckSyntaxResult" c:type="JSCCheckSyntaxResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="958">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="959">a JavaScript script to check</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="960">length of @code, or -1 if @code is a nul-terminated string</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="961">a #JSCCheckSyntaxMode</doc>
            <type name="CheckSyntaxMode" c:type="JSCCheckSyntaxMode"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="962">the source URI</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="line_number" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="963">the starting line number</doc>
            <type name="guint" c:type="unsigned"/>
          </parameter>
          <parameter name="exception"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="964">return location for a #JSCException, or %NULL to ignore</doc>
            <type name="Exception" c:type="JSCException**"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_exception"
              c:identifier="jsc_context_clear_exception">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="753">Clear the uncaught exception in @context if any.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="755">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="evaluate" c:identifier="jsc_context_evaluate">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="841">Evaluate @code in @context.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="125"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="849">a #JSCValue representing the last value generated by the script.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="843">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="844">a JavaScript script to evaluate</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="845">length of @code, or -1 if @code is a nul-terminated string</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="evaluate_in_object"
              c:identifier="jsc_context_evaluate_in_object">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="892">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.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="137"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="909">a #JSCValue representing the last value generated by the script.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="894">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="895">a JavaScript script to evaluate</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="896">length of @code, or -1 if @code is a nul-terminated string</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="object_instance"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="897">an object instance</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="object_class"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="898">a #JSCClass or %NULL to use the default</doc>
            <type name="Class" c:type="JSCClass*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="899">the source URI</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="line_number" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="900">the starting line number</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="object"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="901">return location for a #JSCValue.</doc>
            <type name="Value" c:type="JSCValue**"/>
          </parameter>
        </parameters>
      </method>
      <method name="evaluate_with_source_uri"
              c:identifier="jsc_context_evaluate_with_source_uri">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="863">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.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="130"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="875">a #JSCValue representing the last value generated by the script.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="865">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="866">a JavaScript script to evaluate</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="867">length of @code, or -1 if @code is a nul-terminated string</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="868">the source URI</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="line_number" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="869">the starting line number</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_exception" c:identifier="jsc_context_get_exception">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="651">Get the last unhandled exception thrown in @context by API functions calls.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="83"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="657">a #JSCException or %NULL if there isn't any
   unhandled exception in the #JSCContext.</doc>
          <type name="Exception" c:type="JSCException*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="653">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_global_object"
              c:identifier="jsc_context_get_global_object">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="1046">Get a #JSCValue referencing the @context global object</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="156"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="1052">a #JSCValue</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1048">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value" c:identifier="jsc_context_get_value">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="1079">Get a property of @context global object with @name.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="164"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="1086">a #JSCValue</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1081">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1082">the value name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_virtual_machine"
              c:identifier="jsc_context_get_virtual_machine"
              glib:get-property="virtual-machine">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="636">Get the #JSCVirtualMachine where @context was created.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="642">the #JSCVirtualMachine where the #JSCContext was created.</doc>
          <type name="VirtualMachine" c:type="JSCVirtualMachine*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="638">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pop_exception_handler"
              c:identifier="jsc_context_pop_exception_handler">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="799">Remove the last #JSCExceptionHandler previously pushed to @context with
jsc_context_push_exception_handler().</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="801">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="push_exception_handler"
              c:identifier="jsc_context_push_exception_handler">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="775">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 is called with @user_data as parameter.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="777">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="handler"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="778">a #JSCExceptionHandler</doc>
            <type name="ExceptionHandler" c:type="JSCExceptionHandler"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="779">user data to pass to @handler</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="780">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="register_class" c:identifier="jsc_context_register_class">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="1097">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.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="168"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="1112">a #JSCClass</doc>
          <type name="Class" c:type="JSCClass*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1099">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1100">the class name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="parent_class"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1101">a #JSCClass or %NULL</doc>
            <type name="Class" c:type="JSCClass*"/>
          </parameter>
          <parameter name="vtable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1102">an optional #JSCClassVTable or %NULL</doc>
            <type name="ClassVTable" c:type="JSCClassVTable*"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1103">a destroy notifier for class instances</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value" c:identifier="jsc_context_set_value">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="1061">Set a property of @context global object with @name and @value.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="159"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1063">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1064">the value name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="1065">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="throw" c:identifier="jsc_context_throw">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="667">Throw an exception to @context using the given error message. The created #JSCException
can be retrieved with jsc_context_get_exception().</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="669">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="error_message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="670">an error message</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="throw_exception"
              c:identifier="jsc_context_throw_exception">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="738">Throw @exception to @context.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="740">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="exception" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="741">a #JSCException</doc>
            <type name="Exception" c:type="JSCException*"/>
          </parameter>
        </parameters>
      </method>
      <method name="throw_printf"
              c:identifier="jsc_context_throw_printf"
              introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="682">Throw an exception to @context using the given formatted string as error message.
The created #JSCException can be retrieved with jsc_context_get_exception().</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="684">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="685">the string format</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="686">the parameters to insert into the format string</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="throw_with_name"
              c:identifier="jsc_context_throw_with_name">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="701">Throw an exception to @context using the given error name and message. The created #JSCException
can be retrieved with jsc_context_get_exception().</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="703">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="error_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="704">the error name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="error_message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="705">an error message</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="throw_with_name_printf"
              c:identifier="jsc_context_throw_with_name_printf"
              introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="718">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().</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="720">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </instance-parameter>
          <parameter name="error_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="721">the error name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="722">the string format</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
                 line="723">the parameters to insert into the format string</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <property name="virtual-machine"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_virtual_machine">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
             line="181">The #JSCVirtualMachine in which the context was created.</doc>
        <type name="VirtualMachine"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ContextPrivate" c:type="JSCContextPrivate*"/>
      </field>
    </class>
    <record name="ContextClass"
            c:type="JSCContextClass"
            glib:is-gtype-struct-for="Context">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="51"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_jsc_reserved0" introspectable="0">
        <callback name="_jsc_reserved0">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                           line="47"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved1" introspectable="0">
        <callback name="_jsc_reserved1">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                           line="48"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved2" introspectable="0">
        <callback name="_jsc_reserved2">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                           line="49"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved3" introspectable="0">
        <callback name="_jsc_reserved3">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                           line="50"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ContextPrivate"
            c:type="JSCContextPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="53"/>
    </record>
    <function-macro name="DECLARE_FINAL_TYPE"
                    c:identifier="JSC_DECLARE_FINAL_TYPE"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCDefines.h"
                       line="50"/>
      <parameters>
        <parameter name="ModuleObjName">
        </parameter>
        <parameter name="module_obj_name">
        </parameter>
        <parameter name="MODULE">
        </parameter>
        <parameter name="OBJ_NAME">
        </parameter>
        <parameter name="ParentName">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="EXCEPTION"
                    c:identifier="JSC_EXCEPTION"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                       line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="EXCEPTION_CLASS"
                    c:identifier="JSC_EXCEPTION_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                       line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="EXCEPTION_GET_CLASS"
                    c:identifier="JSC_EXCEPTION_GET_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                       line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Exception"
           c:symbol-prefix="exception"
           c:type="JSCException"
           parent="GObject.Object"
           glib:type-name="JSCException"
           glib:get-type="jsc_exception_get_type"
           glib:type-struct="ExceptionClass">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
           line="34">JSCException represents a JavaScript exception.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                       line="46"/>
      <constructor name="new" c:identifier="jsc_exception_new">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="109">Create a new #JSCException in @context with @message.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="53"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="116">a new #JSCException.</doc>
          <type name="Exception" c:type="JSCException*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="111">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="112">the error message</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_printf"
                   c:identifier="jsc_exception_new_printf"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="123">Create a new #JSCException in @context using a formatted string
for the message.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="132">a new #JSCException.</doc>
          <type name="Exception" c:type="JSCException*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="125">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="126">the string format</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="127">the parameters to insert into the format string</doc>
            <varargs/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_vprintf"
                   c:identifier="jsc_exception_new_vprintf"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="144">Create a new #JSCException in @context using a formatted string
for the message. This is similar to jsc_exception_new_printf()
except that the arguments to the format string are passed as a va_list.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="62"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="154">a new #JSCException.</doc>
          <type name="Exception" c:type="JSCException*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="146">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="147">the string format</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="148">the parameters to insert into the format string</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_name"
                   c:identifier="jsc_exception_new_with_name">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="165">Create a new #JSCException in @context with @name and @message.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="67"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="173">a new #JSCException.</doc>
          <type name="Exception" c:type="JSCException*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="167">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="168">the error name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="169">the error message</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_name_printf"
                   c:identifier="jsc_exception_new_with_name_printf"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="196">Create a new #JSCException in @context with @name and using a formatted string
for the message.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="72"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="206">a new #JSCException.</doc>
          <type name="Exception" c:type="JSCException*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="198">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="199">the error name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="200">the string format</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="201">the parameters to insert into the format string</doc>
            <varargs/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_name_vprintf"
                   c:identifier="jsc_exception_new_with_name_vprintf"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="218">Create a new #JSCException in @context with @name and using a formatted string
for the message. This is similar to jsc_exception_new_with_name_printf()
except that the arguments to the format string are passed as a va_list.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="78"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="229">a new #JSCException.</doc>
          <type name="Exception" c:type="JSCException*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="220">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="221">the error name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="222">the string format</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="223">the parameters to insert into the format string</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_backtrace_string"
              c:identifier="jsc_exception_get_backtrace_string">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="335">Get a string with the exception backtrace.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="99"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="341">the exception backtrace string or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="exception" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="337">a #JSCException</doc>
            <type name="Exception" c:type="JSCException*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_column_number"
              c:identifier="jsc_exception_get_column_number">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="297">Get the column number at which @exception happened.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="303">the column number of @exception.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="exception" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="299">a #JSCException</doc>
            <type name="Exception" c:type="JSCException*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_line_number"
              c:identifier="jsc_exception_get_line_number">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="278">Get the line number at which @exception happened.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="284">the line number of @exception.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="exception" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="280">a #JSCException</doc>
            <type name="Exception" c:type="JSCException*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_message" c:identifier="jsc_exception_get_message">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="259">Get the error message of @exception.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="265">the @exception error message.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="exception" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="261">a #JSCException</doc>
            <type name="Exception" c:type="JSCException*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="jsc_exception_get_name">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="240">Get the error name of @exception</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="246">the @exception error name.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="exception" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="242">a #JSCException</doc>
            <type name="Exception" c:type="JSCException*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source_uri"
              c:identifier="jsc_exception_get_source_uri">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="316">Get the source URI of @exception.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="96"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="322">the the source URI of @exception, or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="exception" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="318">a #JSCException</doc>
            <type name="Exception" c:type="JSCException*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="report" c:identifier="jsc_exception_report">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="373">Return a report message of @exception, containing all the possible details such us
source URI, line, column and backtrace, and formatted to be printed.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="105"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="380">a new string with the exception report</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="exception" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="375">a #JSCException</doc>
            <type name="Exception" c:type="JSCException*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string" c:identifier="jsc_exception_to_string">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
             line="354">Get the string representation of @exception error.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                         line="102"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
               line="360">the string representation of @exception.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="exception" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCException.cpp"
                 line="356">a #JSCException</doc>
            <type name="Exception" c:type="JSCException*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ExceptionPrivate" c:type="JSCExceptionPrivate*"/>
      </field>
    </class>
    <record name="ExceptionClass"
            c:type="JSCExceptionClass"
            glib:is-gtype-struct-for="Exception">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                       line="46"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_jsc_reserved0" introspectable="0">
        <callback name="_jsc_reserved0">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                           line="42"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved1" introspectable="0">
        <callback name="_jsc_reserved1">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                           line="43"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved2" introspectable="0">
        <callback name="_jsc_reserved2">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                           line="44"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved3" introspectable="0">
        <callback name="_jsc_reserved3">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                           line="45"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <callback name="ExceptionHandler" c:type="JSCExceptionHandler">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
           line="766">Function used to handle JavaScript exceptions in a #JSCContext.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="55"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="context" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="768">a #JSCContext</doc>
          <type name="Context" c:type="JSCContext*"/>
        </parameter>
        <parameter name="exception" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="769">a #JSCException</doc>
          <type name="Exception" c:type="JSCException*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCContext.cpp"
               line="770">user data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ExceptionPrivate"
            c:type="JSCExceptionPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                       line="48"/>
    </record>
    <callback name="Executor" c:type="JSCExecutor" version="2.48">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
           line="2142">A function passed to @jsc_value_new_promise called during initialization

It is called like a JavaScript function, so exceptions raised will not be propagated
to the context, but handled by the promise causing a rejection.
@resolve and @reject can be reffed for later use to handle async task completion.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="323"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="resolve" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="2144">#JSCValue function to call to resolve the promise</doc>
          <type name="Value" c:type="JSCValue*"/>
        </parameter>
        <parameter name="reject" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="2145">#JSCValue function to call to reject the promise</doc>
          <type name="Value" c:type="JSCValue*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="2146">user data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <function-macro name="IS_CLASS"
                    c:identifier="JSC_IS_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCClass.h"
                       line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CONTEXT"
                    c:identifier="JSC_IS_CONTEXT"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CONTEXT_CLASS"
                    c:identifier="JSC_IS_CONTEXT_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCContext.h"
                       line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_EXCEPTION"
                    c:identifier="JSC_IS_EXCEPTION"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                       line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_EXCEPTION_CLASS"
                    c:identifier="JSC_IS_EXCEPTION_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCException.h"
                       line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VALUE"
                    c:identifier="JSC_IS_VALUE"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VALUE_CLASS"
                    c:identifier="JSC_IS_VALUE_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VIRTUAL_MACHINE"
                    c:identifier="JSC_IS_VIRTUAL_MACHINE"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                       line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VIRTUAL_MACHINE_CLASS"
                    c:identifier="JSC_IS_VIRTUAL_MACHINE_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                       line="37"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEAK_VALUE"
                    c:identifier="JSC_IS_WEAK_VALUE"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                       line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEAK_VALUE_CLASS"
                    c:identifier="JSC_IS_WEAK_VALUE_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                       line="37"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <docsection name="JSCOptions">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="28">JavaScript options allow changing the behavior of the JavaScript engine.
They affect the way the engine works, so the options must be set
at the very beginning of the program execution, before any other JavaScript
API call. Most of the options are only useful for testing and debugging.
Only a few of them are documented; you can use the undocumented options at
your own risk. (You can find the list of options in the WebKit source code).

The API allows to set and get any option using the types defined in #JSCOptionType.
You can also iterate all the available options using jsc_options_foreach() and
passing a #JSCOptionsFunc callback. If your application uses #GOptionContext to handle
command line arguments, you can easily integrate the JSCOptions by adding the
#GOptionGroup returned by jsc_options_get_option_group().</doc>
    </docsection>
    <constant name="MAJOR_VERSION" value="2" c:type="JSC_MAJOR_VERSION">
      <doc xml:space="preserve"
           filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
           line="31">Like jsc_get_major_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
                       line="38"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MICRO_VERSION" value="5" c:type="JSC_MICRO_VERSION">
      <doc xml:space="preserve"
           filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
           line="49">Like jsc_get_micro_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
                       line="56"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION" value="52" c:type="JSC_MINOR_VERSION">
      <doc xml:space="preserve"
           filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
           line="40">Like jsc_get_minor_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
                       line="47"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="OPTIONS_USE_DFG"
              value="useDFGJIT"
              c:type="JSC_OPTIONS_USE_DFG"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="721">Allows the DFG JIT to be used if %TRUE.
Option type: %JSC_OPTION_BOOLEAN
Default value: %TRUE.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="33"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="OPTIONS_USE_FTL"
              value="useFTLJIT"
              c:type="JSC_OPTIONS_USE_FTL"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="731">Allows the FTL JIT to be used if %TRUE.
Option type: %JSC_OPTION_BOOLEAN
Default value: %TRUE.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="34"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="OPTIONS_USE_JIT"
              value="useJIT"
              c:type="JSC_OPTIONS_USE_JIT"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="711">Allows the executable pages to be allocated for JIT and thunks if %TRUE.
Option type: %JSC_OPTION_BOOLEAN
Default value: %TRUE.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="32"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="OPTIONS_USE_LLINT"
              value="useLLInt"
              c:type="JSC_OPTIONS_USE_LLINT"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="741">Allows the LLINT to be used if %TRUE.
Option type: %JSC_OPTION_BOOLEAN
Default value: %TRUE.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="35"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <enumeration name="OptionType" version="2.24" c:type="JSCOptionType">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="591">Enum values for options types.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="94"/>
      <member name="boolean" value="0" c:identifier="JSC_OPTION_BOOLEAN">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="593">A #gboolean option type.</doc>
      </member>
      <member name="int" value="1" c:identifier="JSC_OPTION_INT">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="594">A #gint option type.</doc>
      </member>
      <member name="uint" value="2" c:identifier="JSC_OPTION_UINT">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="595">A #guint option type.</doc>
      </member>
      <member name="size" value="3" c:identifier="JSC_OPTION_SIZE">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="596">A #gsize options type.</doc>
      </member>
      <member name="double" value="4" c:identifier="JSC_OPTION_DOUBLE">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="597">A #gdouble options type.</doc>
      </member>
      <member name="string" value="5" c:identifier="JSC_OPTION_STRING">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="598">A string option type.</doc>
      </member>
      <member name="range_string"
              value="6"
              c:identifier="JSC_OPTION_RANGE_STRING">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="599">A range string option type.</doc>
      </member>
    </enumeration>
    <callback name="OptionsFunc" c:type="JSCOptionsFunc" version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="606">Function used to iterate options.

Not that @description string is not localized.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="96"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="617">%TRUE to stop the iteration, or %FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="608">the option name</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="609">the option #JSCOptionType</doc>
          <type name="OptionType" c:type="JSCOptionType"/>
        </parameter>
        <parameter name="description"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="610">the option description, or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="611">user data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="TypedArrayType"
                 version="2.38"
                 c:type="JSCTypedArrayType">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
           line="1640">Possible types of the elements contained in a typed array.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="72"/>
      <member name="none" value="0" c:identifier="JSC_TYPED_ARRAY_NONE">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1642">Not a typed array, or type unsupported.</doc>
      </member>
      <member name="int8" value="1" c:identifier="JSC_TYPED_ARRAY_INT8">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1643">Array elements are 8-bit signed integers (int8_t).</doc>
      </member>
      <member name="int16" value="2" c:identifier="JSC_TYPED_ARRAY_INT16">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1644">Array elements are 16-bit signed integers (int16_t).</doc>
      </member>
      <member name="int32" value="3" c:identifier="JSC_TYPED_ARRAY_INT32">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1645">Array elements are 32-bit signed integers (int32_t).</doc>
      </member>
      <member name="int64" value="4" c:identifier="JSC_TYPED_ARRAY_INT64">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1646">Array elements are 64-bit signed integers (int64_t).</doc>
      </member>
      <member name="uint8" value="5" c:identifier="JSC_TYPED_ARRAY_UINT8">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1647">Array elements are 8-bit unsigned integers (uint8_t).</doc>
      </member>
      <member name="uint8_clamped"
              value="6"
              c:identifier="JSC_TYPED_ARRAY_UINT8_CLAMPED">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1648">Array elements are 8-bit unsigned integers (uint8_t).</doc>
      </member>
      <member name="uint16" value="7" c:identifier="JSC_TYPED_ARRAY_UINT16">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1649">Array elements are 16-bit unsigned integers (uint16_t).</doc>
      </member>
      <member name="uint32" value="8" c:identifier="JSC_TYPED_ARRAY_UINT32">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1650">Array elements are 32-bit unsigned integers (uint32_t).</doc>
      </member>
      <member name="uint64" value="9" c:identifier="JSC_TYPED_ARRAY_UINT64">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1651">Array elements are 64-bit unsigned integers (uint64_t).</doc>
      </member>
      <member name="float32" value="10" c:identifier="JSC_TYPED_ARRAY_FLOAT32">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1652">Array elements are 32-bit floating point numbers (float).</doc>
      </member>
      <member name="float64" value="11" c:identifier="JSC_TYPED_ARRAY_FLOAT64">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1653">Array elements are 64-bit floating point numbers (double).</doc>
      </member>
    </enumeration>
    <function-macro name="VALUE" c:identifier="JSC_VALUE" introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VALUE_CLASS"
                    c:identifier="JSC_VALUE_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VALUE_GET_CLASS"
                    c:identifier="JSC_VALUE_GET_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VIRTUAL_MACHINE"
                    c:identifier="JSC_VIRTUAL_MACHINE"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                       line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VIRTUAL_MACHINE_CLASS"
                    c:identifier="JSC_VIRTUAL_MACHINE_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                       line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VIRTUAL_MACHINE_GET_CLASS"
                    c:identifier="JSC_VIRTUAL_MACHINE_GET_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                       line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Value"
           c:symbol-prefix="value"
           c:type="JSCValue"
           parent="GObject.Object"
           glib:type-name="JSCValue"
           glib:get-type="jsc_value_get_type"
           glib:type-struct="ValueClass">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
           line="44">JSCValue represents a reference to a value in a #JSCContext. The JSCValue
protects the referenced value from being garbage collected.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="46"/>
      <constructor name="new_array"
                   c:identifier="jsc_value_new_array"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="464">Create a new #JSCValue referencing an array with the given items. If @first_item_type
is %G_TYPE_NONE an empty array is created.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="128"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="473">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="466">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="first_item_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="467">#GType of first item, or %G_TYPE_NONE</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="468">value of the first item, followed optionally by more type/value pairs, followed by %G_TYPE_NONE.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_array_buffer"
                   c:identifier="jsc_value_new_array_buffer"
                   version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1468">Creates a new %ArrayBuffer from existing @data in memory.

The @data is not copied: while this allows sharing data with JavaScript
efficiently, the caller must ensure that the memory region remains valid
until the newly created object is released by JSC.

Optionally, a @destroy_notify callback can be provided, which will be
invoked with @user_data as parameter when the %ArrayBuffer object is
released. This is intended to be used for freeing resources related to
the memory region which contains the data:

|[!&lt;-- language="C" --&gt;
GMappedFile *f = g_mapped_file_new (file_path, TRUE, NULL);
JSCValue *value = jsc_value_new_array_buffer (context,
    g_mapped_file_get_contents (f), g_mapped_file_get_length (f),
    (GDestroyNotify) g_mapped_file_unref, f);
]|

Note that the @user_data can be the same value as @data:

|[!&lt;-- language="C" --&gt;
void *bytes = g_malloc0 (100);
JSCValue *value = jsc_value_new_array_buffer (context, bytes, 100, g_free, bytes);
]|</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="253"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1501">A #JSCValue, or %NULL in case of exception.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1470">A #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1471">Pointer to a region of memory.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1472">Size in bytes of the memory region.</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1473">destroy notifier for @user_data.</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1474">user data.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_array_from_garray"
                   c:identifier="jsc_value_new_array_from_garray">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="530">Create a new #JSCValue referencing an array with the items from @array. If @array
is %NULL or empty a new empty array will be created. Elements of @array should be
pointers to a #JSCValue.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="133"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="539">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="532">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="array"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="533">a #GPtrArray</doc>
            <array name="GLib.PtrArray" c:type="GPtrArray*">
              <type name="Value"/>
            </array>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_array_from_strv"
                   c:identifier="jsc_value_new_array_from_strv">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="556">Create a new #JSCValue referencing an array of strings with the items from @strv. If @array
is %NULL or empty a new empty array will be created.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="137"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="564">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="558">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="strv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="559">a %NULL-terminated array of strings</doc>
            <array c:type="const char* const*">
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_boolean" c:identifier="jsc_value_new_boolean">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="287">Create a new #JSCValue from @value</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="102"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="294">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="289">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="290">a #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_json"
                   c:identifier="jsc_value_new_from_json"
                   version="2.28">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="2062">Create a new #JSCValue referencing a new value created by parsing @json.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="316"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="2069">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="2064">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="json" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="2065">the JSON string to be parsed</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_function"
                   c:identifier="jsc_value_new_function"
                   shadowed-by="new_functionv"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1188">Create a function in @context. If @name is %NULL an anonymous function will be created.
When the function is called by JavaScript or jsc_value_function_call(), @callback is called
receiving the function parameters and then @user_data as last parameter. When the function is
cleared in @context, @destroy_notify is called with @user_data as parameter.

Note that the value returned by @callback must be fully transferred. In case of boxed types, you could use
%G_TYPE_POINTER instead of the actual boxed #GType to ensure that the instance owned by #JSCClass is used.
If you really want to return a new copy of the boxed type, use #JSC_TYPE_VALUE and return a #JSCValue created
with jsc_value_new_object() that receives the copy as instance parameter.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="213"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1209">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1190">a #JSCContext:</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1191">the function name or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1192">a #GCallback.</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1193">user data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1194">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="return_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1195">the #GType of the function return value, or %G_TYPE_NONE if the function is void.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="n_params" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1196">the number of parameter types to follow or 0 if the function doesn't receive parameters.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1197">a list of #GType&lt;!-- --&gt;s, one for each parameter.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_function_variadic"
                   c:identifier="jsc_value_new_function_variadic">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1259">Create a function in @context. If @name is %NULL an anonymous function will be created.
When the function is called by JavaScript or jsc_value_function_call(), @callback is called
receiving an #GPtrArray of #JSCValue&lt;!-- --&gt;s with the arguments and then @user_data as last parameter.
When the function is cleared in @context, @destroy_notify is called with @user_data as parameter.

Note that the value returned by @callback must be fully transferred. In case of boxed types, you could use
%G_TYPE_POINTER instead of the actual boxed #GType to ensure that the instance owned by #JSCClass is used.
If you really want to return a new copy of the boxed type, use #JSC_TYPE_VALUE and return a #JSCValue created
with jsc_value_new_object() that receives the copy as instance parameter.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="233"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1278">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1261">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1262">the function name or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1263">a #GCallback.</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1264">user data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1265">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="return_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1266">the #GType of the function return value, or %G_TYPE_NONE if the function is void.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_functionv"
                   c:identifier="jsc_value_new_functionv"
                   shadows="new_function">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1226">Create a function in @context. If @name is %NULL an anonymous function will be created.
When the function is called by JavaScript or jsc_value_function_call(), @callback is called
receiving the function parameters and then @user_data as last parameter. When the function is
cleared in @context, @destroy_notify is called with @user_data as parameter.

Note that the value returned by @callback must be fully transferred. In case of boxed types, you could use
%G_TYPE_POINTER instead of the actual boxed #GType to ensure that the instance owned by #JSCClass is used.
If you really want to return a new copy of the boxed type, use #JSC_TYPE_VALUE and return a #JSCValue created
with jsc_value_new_object() that receives the copy as instance parameter.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="223"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1247">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1228">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1229">the function name or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1230">a #GCallback.</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1231">user data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1232">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="return_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1233">the #GType of the function return value, or %G_TYPE_NONE if the function is void.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="n_parameters" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1234">the number of parameters</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="parameter_types"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1235">a list of #GType&lt;!-- --&gt;s, one for each parameter, or %NULL</doc>
            <array length="6" zero-terminated="0" c:type="GType*">
              <type name="GType"/>
            </array>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_null" c:identifier="jsc_value_new_null">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="190">Create a new #JSCValue referencing &lt;function&gt;null&lt;/function&gt; in @context.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="84"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="196">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="192">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_number" c:identifier="jsc_value_new_number">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="221">Create a new #JSCValue from @number.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="90"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="228">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="223">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="number" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="224">a number</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_object" c:identifier="jsc_value_new_object">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="597">Create a new #JSCValue from @instance. If @instance is %NULL a new empty object is created.
When @instance is provided, @jsc_class must be provided too. @jsc_class takes ownership of
@instance that will be freed by the #GDestroyNotify passed to jsc_context_register_class().</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="144"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="607">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="599">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="instance"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="600">an object instance or %NULL</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="jsc_class"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="601">the #JSCClass of @instance</doc>
            <type name="Class" c:type="JSCClass*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_promise"
                   c:identifier="jsc_value_new_promise"
                   version="2.48">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="2157">Creates a new Promise. @executor will be invoked during promise initialization
and it receives the @resolve and @reject objects than can be called to resolve
or reject the promise. It is called like a JavaScript function, so exceptions raised
during the executor invocation will not be propagated to the context, but
handled by the promise causing a rejection.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="328"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="2169">a deferred promise object</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="2159">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="executor"
                     transfer-ownership="none"
                     scope="call"
                     closure="2">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="2160">an initialization callback</doc>
            <type name="Executor" c:type="JSCExecutor"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="2161">user data passed in @executor</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_string" c:identifier="jsc_value_new_string">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="335">Create a new #JSCValue from @string. If you need to create a #JSCValue from a
string containing null characters, use jsc_value_new_string_from_bytes() instead.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="111"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="343">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="337">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="string"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="338">a null-terminated string</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_string_from_bytes"
                   c:identifier="jsc_value_new_string_from_bytes">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="358">Create a new #JSCValue from @bytes.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="115"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="365">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="360">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="bytes"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="361">a #GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_typed_array"
                   c:identifier="jsc_value_new_typed_array"
                   version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1722">Create a new typed array containing a given amount of elements.

Create a #JSCValue referencing a new typed array with space for @length
elements of a given @type. As all typed arrays must have an associated
`ArrayBuffer`, a new one of suitable size will be allocated to store
the elements, which will be initialized to zero.

The @type must *not* be %JSC_TYPED_ARRAY_NONE.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="270"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1737">a #JSCValue</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1724">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1725">the type of array elements</doc>
            <type name="TypedArrayType" c:type="JSCTypedArrayType"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1726">number of elements in the array</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_undefined" c:identifier="jsc_value_new_undefined">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="159">Create a new #JSCValue referencing &lt;function&gt;undefined&lt;/function&gt; in @context.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="78"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="165">a #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="161">a #JSCContext</doc>
            <type name="Context" c:type="JSCContext*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="array_buffer_get_data"
              c:identifier="jsc_value_array_buffer_get_data"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1559">Gets a pointer to memory that contains the array buffer data.

Obtains a pointer to the memory region that holds the contents of the
%ArrayBuffer; modifications done to the data will be visible to JavaScript
code. If @size is not %NULL, the size in bytes of the memory region
will also be stored in the pointed location.

Note that the pointer returned by this function is not guaranteed to remain
the same after calls to other JSC API functions. If you plan to access the
data of the %ArrayBuffer later, you can keep a reference to the @value and
obtain the data pointer at a later point. Keep in mind that if JavaScript
code has a chance to run, for example due to main loop events that result
in JSC being called, the contents of the memory region might be modified in
the meantime. Consider taking a copy of the data and using the copy instead
in asynchronous code.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="263"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1580">
  pointer to memory.</doc>
          <array length="0" zero-terminated="0" c:type="gpointer">
            <type name="guint8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1561">A #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="size"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1562">location where to store the size of the memory region.</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="array_buffer_get_size"
              c:identifier="jsc_value_array_buffer_get_size"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1609">Gets the size in bytes of the array buffer.

Obtains the size in bytes of the memory region that holds the contents of
an %ArrayBuffer.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="267"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1618">size, in bytes.</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1611">A #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="constructor_call"
              c:identifier="jsc_value_constructor_call"
              shadowed-by="constructor_callv"
              introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1397">Invoke &lt;function&gt;new&lt;/function&gt; with constructor referenced by @value. If @first_parameter_type
is %G_TYPE_NONE no parameters will be passed to the constructor.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="306"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1406">a #JSCValue referencing the newly created object instance.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1399">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="first_parameter_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1400">#GType of first parameter, or %G_TYPE_NONE</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1401">value of the first parameter, followed optionally by more type/value pairs, followed by %G_TYPE_NONE</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="constructor_callv"
              c:identifier="jsc_value_constructor_callv"
              shadows="constructor_call">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1427">Invoke &lt;function&gt;new&lt;/function&gt; with constructor referenced by @value. If @n_parameters
is 0 no parameters will be passed to the constructor.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="311"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1436">a #JSCValue referencing the newly created object instance.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1429">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="n_parameters" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1430">the number of parameters</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="parameters"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1431">the #JSCValue&lt;!-- --&gt;s to pass as parameters to the constructor, or %NULL</doc>
            <array length="0" zero-terminated="0" c:type="JSCValue**">
              <type name="Value"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="function_call"
              c:identifier="jsc_value_function_call"
              shadowed-by="function_callv"
              introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1307">Call function referenced by @value, passing the given parameters. If @first_parameter_type
is %G_TYPE_NONE no parameters will be passed to the function.

This function always returns a #JSCValue, in case of void functions a #JSCValue referencing
&lt;function&gt;undefined&lt;/function&gt; is returned</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="244"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1319">a #JSCValue with the return value of the function.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1309">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="first_parameter_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1310">#GType of first parameter, or %G_TYPE_NONE</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1311">value of the first parameter, followed optionally by more type/value pairs, followed by %G_TYPE_NONE</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="function_callv"
              c:identifier="jsc_value_function_callv"
              shadows="function_call">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1340">Call function referenced by @value, passing the given @parameters. If @n_parameters
is 0 no parameters will be passed to the function.

This function always returns a #JSCValue, in case of void functions a #JSCValue referencing
&lt;function&gt;undefined&lt;/function&gt; is returned</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="249"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1352">a #JSCValue with the return value of the function.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1342">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="n_parameters" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1343">the number of parameters</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="parameters"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1344">the #JSCValue&lt;!-- --&gt;s to pass as parameters to the function, or %NULL</doc>
            <array length="0" zero-terminated="0" c:type="JSCValue**">
              <type name="Value"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="get_context"
              c:identifier="jsc_value_get_context"
              glib:get-property="context">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="144">Get the #JSCContext in which @value was created.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="150">the #JSCValue context.</doc>
          <type name="Context" c:type="JSCContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="146">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_array" c:identifier="jsc_value_is_array">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="581">Get whether the value referenced by @value is an array.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="141"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="587">whether the value is an array.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="583">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_array_buffer"
              c:identifier="jsc_value_is_array_buffer"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1532">Check whether the @value is an %ArrayBuffer.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="260"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1538">whether the value is an %ArrayBuffer</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1534">A #JSCValue.</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_boolean" c:identifier="jsc_value_is_boolean">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="303">Get whether the value referenced by @value is a boolean.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="105"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="309">whether the value is a boolean.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="305">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_constructor" c:identifier="jsc_value_is_constructor">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1378">Get whether the value referenced by @value is a constructor.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="303"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1384">whether the value is a constructor.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1380">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_function" c:identifier="jsc_value_is_function">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1288">Get whether the value referenced by @value is a function</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="241"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1294">whether the value is a function.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1290">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_null" c:identifier="jsc_value_is_null">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="205">Get whether the value referenced by @value is &lt;function&gt;null&lt;/function&gt;.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="211">whether the value is null.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="207">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_number" c:identifier="jsc_value_is_number">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="237">Get whether the value referenced by @value is a number.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="243">whether the value is a number.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="239">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_object" c:identifier="jsc_value_is_object">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="617">Get whether the value referenced by @value is an object.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="149"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="623">whether the value is an object.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="619">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_string" c:identifier="jsc_value_is_string">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="379">Get whether the value referenced by @value is a string</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="119"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="385">whether the value is a string</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="381">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_typed_array"
              c:identifier="jsc_value_is_typed_array"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1816">Determines whether a value is a typed array.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="281"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1822">Whether @value is a typed array.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1818">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_undefined" c:identifier="jsc_value_is_undefined">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="174">Get whether the value referenced by @value is &lt;function&gt;undefined&lt;/function&gt;.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="180">whether the value is undefined.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="176">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="new_typed_array_with_buffer"
              c:identifier="jsc_value_new_typed_array_with_buffer"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1756">Create a new typed array value with elements from an array buffer.

Create a #JSCValue referencing a new typed array value containing
elements of the given @type, where the elements are stored at the memory
region represented by the @array_buffer.

The @type must *not* be %JSC_TYPED_ARRAY_NONE.

The @offset and @length parameters can be used to indicate which part of
the array buffer can be accessed through the typed array. If both are
omitted (passing zero as @offset, and `-1` as @length), the whole
@array_buffer is exposed through the typed array. Omitting the @length
with a non-zero @offset will expose the remainder of the @array_buffer
starting at the indicated offset.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="275"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1778">a #JSCValue</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="array_buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1758">a #JSCValue.</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1759">type of array elements.</doc>
            <type name="TypedArrayType" c:type="JSCTypedArrayType"/>
          </parameter>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1760">offset, in bytes.</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1761">number of array elements, or `-1`.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="object_define_property_accessor"
              c:identifier="jsc_value_object_define_property_accessor">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1131">Define or modify a property with @property_name in object referenced by @value. When the
property value is read or set, @getter and @setter callbacks will be called.
When the property is cleared in the #JSCClass context, @destroy_notify is called with
@user_data as parameter. This is equivalent to JavaScript &lt;function&gt;Object.defineProperty()&lt;/function&gt;
when used with an accessor descriptor.

Note that the value returned by @getter must be fully transferred. In case of boxed types, you could use
%G_TYPE_POINTER instead of the actual boxed #GType to ensure that the instance owned by #JSCClass is used.
If you really want to return a new copy of the boxed type, use #JSC_TYPE_VALUE and return a #JSCValue created
with jsc_value_new_object() that receives the copy as instance parameter.

Note that @getter and @setter are called as functions and not methods, so they don't receive an instance as
first parameter. Use jsc_class_add_property() if you want to add property accessor invoked as a method.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="203"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1133">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1134">the name of the property to define</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1135">#JSCValuePropertyFlags</doc>
            <type name="ValuePropertyFlags" c:type="JSCValuePropertyFlags"/>
          </parameter>
          <parameter name="property_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1136">the #GType of the property</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="getter"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="5">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1137">a #GCallback to be called to get the property value</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="setter"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="notified"
                     closure="5"
                     destroy="6">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1138">a #GCallback to be called to set the property value</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1139">user data to pass to @getter and @setter</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1140">destroy notifier for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="object_define_property_data"
              c:identifier="jsc_value_object_define_property_data">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1040">Define or modify a property with @property_name in object referenced by @value. This is equivalent to
JavaScript &lt;function&gt;Object.defineProperty()&lt;/function&gt; when used with a data descriptor.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="197"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1042">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1043">the name of the property to define</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1044">#JSCValuePropertyFlags</doc>
            <type name="ValuePropertyFlags" c:type="JSCValuePropertyFlags"/>
          </parameter>
          <parameter name="property_value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1045">the default property value</doc>
            <type name="Value" c:type="JSCValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="object_delete_property"
              c:identifier="jsc_value_object_delete_property">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="796">Try to delete property with @name from @value. This function will return %FALSE if
the property was defined without %JSC_VALUE_PROPERTY_CONFIGURABLE flag.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="178"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="804">%TRUE if the property was deleted, or %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="798">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="799">the property name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="object_enumerate_properties"
              c:identifier="jsc_value_object_enumerate_properties">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="826">Get the list of property names of @value. Only properties defined with %JSC_VALUE_PROPERTY_ENUMERABLE
flag will be collected.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="182"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="833">a %NULL-terminated array of strings containing the
   property names, or %NULL if @value doesn't have enumerable properties.  Use g_strfreev() to free.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="828">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="object_get_property"
              c:identifier="jsc_value_object_get_property">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="691">Get property with @name from @value.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="161"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="698">the property #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="693">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="694">the property name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="object_get_property_at_index"
              c:identifier="jsc_value_object_get_property_at_index">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="744">Get property at @index from @value.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="170"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="751">the property #JSCValue.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="746">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="747">the property index</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="object_has_property"
              c:identifier="jsc_value_object_has_property">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="771">Get whether @value has property with @name.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="174"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="778">%TRUE if @value has a property with @name, or %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="773">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="774">the property name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="object_invoke_method"
              c:identifier="jsc_value_object_invoke_method"
              shadowed-by="object_invoke_methodv"
              introspectable="0">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="928">Invoke method with @name on object referenced by @value, passing the given parameters. If
@first_parameter_type is %G_TYPE_NONE no parameters will be passed to the method.
The object instance will be handled automatically even when the method is a custom one
registered with jsc_class_add_method(), so it should never be passed explicitly as parameter
of this function.

This function always returns a #JSCValue, in case of void methods a #JSCValue referencing
&lt;function&gt;undefined&lt;/function&gt; is returned.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="185"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="944">a #JSCValue with the return value of the method.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="930">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="931">the method name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="first_parameter_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="932">#GType of first parameter, or %G_TYPE_NONE</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="933">value of the first parameter, followed optionally by more type/value pairs, followed by %G_TYPE_NONE</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="object_invoke_methodv"
              c:identifier="jsc_value_object_invoke_methodv"
              shadows="object_invoke_method">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="975">Invoke method with @name on object referenced by @value, passing the given @parameters. If
@n_parameters is 0 no parameters will be passed to the method.
The object instance will be handled automatically even when the method is a custom one
registered with jsc_class_add_method(), so it should never be passed explicitly as parameter
of this function.

This function always returns a #JSCValue, in case of void methods a #JSCValue referencing
&lt;function&gt;undefined&lt;/function&gt; is returned.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="191"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="991">a #JSCValue with the return value of the method.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="977">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="978">the method name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="n_parameters" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="979">the number of parameters</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="parameters"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="980">the #JSCValue&lt;!-- --&gt;s to pass as parameters to the method, or %NULL</doc>
            <array length="1" zero-terminated="0" c:type="JSCValue**">
              <type name="Value"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="object_is_instance_of"
              c:identifier="jsc_value_object_is_instance_of">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="633">Get whether the value referenced by @value is an instance of class @name.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="152"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="640">whether the value is an object instance of class @name.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="635">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="636">a class name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="object_set_property"
              c:identifier="jsc_value_object_set_property">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="665">Set @property with @name on @value.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="156"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="667">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="668">the property name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="669">the #JSCValue to set</doc>
            <type name="Value" c:type="JSCValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="object_set_property_at_index"
              c:identifier="jsc_value_object_set_property_at_index">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="720">Set @property at @index on @value.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="165"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="722">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="723">the property index</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="724">the #JSCValue to set</doc>
            <type name="Value" c:type="JSCValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_boolean" c:identifier="jsc_value_to_boolean">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="319">Convert @value to a boolean.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="108"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="325">a #gboolean result of the conversion.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="321">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_double" c:identifier="jsc_value_to_double">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="253">Convert @value to a double.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="259">a #gdouble result of the conversion.</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="255">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_int32" c:identifier="jsc_value_to_int32">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="274">Convert @value to a #gint32.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="280">a #gint32 result of the conversion.</doc>
          <type name="gint32" c:type="gint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="276">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_json" c:identifier="jsc_value_to_json" version="2.28">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="2107">Create a JSON string of @value serialization. If @indent is 0, the resulting JSON will
not contain newlines. The size of the indent is clamped to 10 spaces.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="320"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="2115">a null-terminated JSON string with serialization of @value</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="2109">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="indent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="2110">The number of spaces to indent when nesting.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_string" c:identifier="jsc_value_to_string">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="395">Convert @value to a string. Use jsc_value_to_string_as_bytes() instead, if you need to
handle strings containing null characters.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="122"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="402">a null-terminated string result of the conversion.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="397">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string_as_bytes"
              c:identifier="jsc_value_to_string_as_bytes">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="427">Convert @value to a string and return the results as #GBytes. This is needed
to handle strings with null characters.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="125"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="434">a #GBytes with the result of the conversion.</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="429">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="typed_array_get_buffer"
              c:identifier="jsc_value_typed_array_get_buffer"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="2034">Obtain the %ArrayBuffer for the memory region of the typed array elements.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="300"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="2040">A #JSCValue</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="2036">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="typed_array_get_data"
              c:identifier="jsc_value_typed_array_get_data"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1885">Obtains a pointer to the memory region that holds the elements of the typed
array; modifications done to them will be visible to JavaScript code. If
@length is not %NULL, the number of elements contained in the typed array
are also stored in the pointed location.

The returned pointer needs to be casted to the appropriate type (see
#JSCTypedArrayType), and has the `offset` over the underlying array
buffer data applied—that is, points to the first element of the typed
array:

|[&lt;!-- language="C" --&gt;
if (jsc_value_typed_array_get_type(value) != JSC_TYPED_ARRAY_UINT32)
    g_error ("Only arrays of uint32_t are supported");

gsize count = 0;
uint32_t *elements = jsc_value_typed_array_get_contents (value, &amp;count);
for (gsize i = 0; i &lt; count; i++)
     g_print ("index %zu, value %" PRIu32 "\n", i, elements[i]);
]|

Note that the pointer returned by this function is not guaranteed to remain
the same after calls to other JSC API functions. See
jsc_value_array_buffer_get_data() for details.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="287"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1914">pointer to memory.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1887">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1888">location to return the number of elements contained</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="typed_array_get_length"
              c:identifier="jsc_value_typed_array_get_length"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1950">Gets the number of elements in a typed array.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="291"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1956">number of elements.</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1952">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="typed_array_get_offset"
              c:identifier="jsc_value_typed_array_get_offset"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="2006">Gets the offset over the underlying array buffer data.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="297"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="2012">offset, in bytes.</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="2008">A #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="typed_array_get_size"
              c:identifier="jsc_value_typed_array_get_size"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1978">Gets the size of a typed array.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="294"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1984">size, in bytes.</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1980">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="typed_array_get_type"
              c:identifier="jsc_value_typed_array_get_type"
              version="2.38">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1833">Gets the type of elements contained in a typed array.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                         line="284"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
               line="1839">type of the elements, or %JSC_TYPED_ARRAY_NONE if @value is not a typed array.</doc>
          <type name="TypedArrayType" c:type="JSCTypedArrayType"/>
        </return-value>
        <parameters>
          <instance-parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
                 line="1835">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="context"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_context">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="117">The #JSCContext in which the value was created.</doc>
        <type name="Context"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ValuePrivate" c:type="JSCValuePrivate*"/>
      </field>
    </class>
    <record name="ValueClass"
            c:type="JSCValueClass"
            glib:is-gtype-struct-for="Value">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="46"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_jsc_reserved0" introspectable="0">
        <callback name="_jsc_reserved0">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                           line="42"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved1" introspectable="0">
        <callback name="_jsc_reserved1">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                           line="43"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved2" introspectable="0">
        <callback name="_jsc_reserved2">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                           line="44"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved3" introspectable="0">
        <callback name="_jsc_reserved3">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                           line="45"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ValuePrivate"
            c:type="JSCValuePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="48"/>
    </record>
    <bitfield name="ValuePropertyFlags" c:type="JSCValuePropertyFlags">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
           line="1027">Flags used when defining properties with jsc_value_object_define_property_data() and
jsc_value_object_define_property_accessor().</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCValue.h"
                       line="57"/>
      <member name="configurable"
              value="1"
              c:identifier="JSC_VALUE_PROPERTY_CONFIGURABLE">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1029">the type of the property descriptor may be changed and the
 property may be deleted from the corresponding object.</doc>
      </member>
      <member name="enumerable"
              value="2"
              c:identifier="JSC_VALUE_PROPERTY_ENUMERABLE">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1031">the property shows up during enumeration of the properties on
 the corresponding object.</doc>
      </member>
      <member name="writable"
              value="4"
              c:identifier="JSC_VALUE_PROPERTY_WRITABLE">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCValue.cpp"
             line="1033">the value associated with the property may be changed with an
 assignment operator. This doesn't have any effect when passed to jsc_value_object_define_property_accessor().</doc>
      </member>
    </bitfield>
    <class name="VirtualMachine"
           c:symbol-prefix="virtual_machine"
           c:type="JSCVirtualMachine"
           parent="GObject.Object"
           glib:type-name="JSCVirtualMachine"
           glib:get-type="jsc_virtual_machine_get_type"
           glib:type-struct="VirtualMachineClass">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCVirtualMachine.cpp"
           line="31">JSCVirtualMachine represents a group of JSCContext&lt;!-- --&gt;s. It allows
concurrent JavaScript execution by creating a different instance of
JSCVirtualMachine in each thread.

To create a group of JSCContext&lt;!-- --&gt;s pass the same JSCVirtualMachine
instance to every JSCContext constructor.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                       line="47"/>
      <constructor name="new" c:identifier="jsc_virtual_machine_new">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCVirtualMachine.cpp"
             line="155">Create a new #JSCVirtualMachine.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                         line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCVirtualMachine.cpp"
               line="160">the newly created #JSCVirtualMachine.</doc>
          <type name="VirtualMachine" c:type="JSCVirtualMachine*"/>
        </return-value>
      </constructor>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="VirtualMachinePrivate" c:type="JSCVirtualMachinePrivate*"/>
      </field>
    </class>
    <record name="VirtualMachineClass"
            c:type="JSCVirtualMachineClass"
            glib:is-gtype-struct-for="VirtualMachine">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                       line="47"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_jsc_reserved0" introspectable="0">
        <callback name="_jsc_reserved0">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                           line="43"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved1" introspectable="0">
        <callback name="_jsc_reserved1">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                           line="44"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved2" introspectable="0">
        <callback name="_jsc_reserved2">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                           line="45"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved3" introspectable="0">
        <callback name="_jsc_reserved3">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                           line="46"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="VirtualMachinePrivate"
            c:type="JSCVirtualMachinePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVirtualMachine.h"
                       line="49"/>
    </record>
    <function-macro name="WEAK_VALUE"
                    c:identifier="JSC_WEAK_VALUE"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                       line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEAK_VALUE_CLASS"
                    c:identifier="JSC_WEAK_VALUE_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                       line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEAK_VALUE_GET_CLASS"
                    c:identifier="JSC_WEAK_VALUE_GET_CLASS"
                    introspectable="0">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                       line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="WeakValue"
           c:symbol-prefix="weak_value"
           c:type="JSCWeakValue"
           parent="GObject.Object"
           glib:type-name="JSCWeakValue"
           glib:get-type="jsc_weak_value_get_type"
           glib:type-struct="WeakValueClass">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCWeakValue.cpp"
           line="33">JSCWeakValue represents a weak reference to a value in a #JSCContext. It can be used
to keep a reference to a JavaScript value without protecting it from being garbage
collected and without referencing the #JSCContext either.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                       line="51"/>
      <constructor name="new" c:identifier="jsc_weak_value_new">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCWeakValue.cpp"
             line="163">Create a new #JSCWeakValue for the JavaScript value referenced by @value.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                         line="56"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCWeakValue.cpp"
               line="169">a new #JSCWeakValue</doc>
          <type name="WeakValue" c:type="JSCWeakValue*"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCWeakValue.cpp"
                 line="165">a #JSCValue</doc>
            <type name="Value" c:type="JSCValue*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_value" c:identifier="jsc_weak_value_get_value">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCWeakValue.cpp"
             line="178">Get a #JSCValue referencing the JavaScript value of @weak_value.</doc>
        <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                         line="59"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCWeakValue.cpp"
               line="184">a new #JSCValue or %NULL if @weak_value was cleared.</doc>
          <type name="Value" c:type="JSCValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="weak_value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="Source/JavaScriptCore/API/glib/JSCWeakValue.cpp"
                 line="180">a #JSCWeakValue</doc>
            <type name="WeakValue" c:type="JSCWeakValue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="value"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCWeakValue.cpp"
             line="134">The #JSCValue referencing the JavaScript value.</doc>
        <type name="Value"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="WeakValuePrivate" c:type="JSCWeakValuePrivate*"/>
      </field>
      <glib:signal name="cleared" when="last">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCWeakValue.cpp"
             line="147">This signal is emitted when the JavaScript value is destroyed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="WeakValueClass"
            c:type="JSCWeakValueClass"
            glib:is-gtype-struct-for="WeakValue">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                       line="51"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_jsc_reserved0" introspectable="0">
        <callback name="_jsc_reserved0">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                           line="47"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved1" introspectable="0">
        <callback name="_jsc_reserved1">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                           line="48"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved2" introspectable="0">
        <callback name="_jsc_reserved2">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                           line="49"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_jsc_reserved3" introspectable="0">
        <callback name="_jsc_reserved3">
          <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                           line="50"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="WeakValuePrivate"
            c:type="JSCWeakValuePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCWeakValue.h"
                       line="42"/>
    </record>
    <function name="get_major_version" c:identifier="jsc_get_major_version">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCVersion.cpp"
           line="37">Returns the major version number of the JavaScriptCore library.
(e.g. in JavaScriptCore version 1.8.3 this is 1.)

This function is in the library, so it represents the JavaScriptCore library
your code is running against. Contrast with the #JSC_MAJOR_VERSION
macro, which represents the major version of the JavaScriptCore headers you
have included when compiling your code.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
                       line="76"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCVersion.cpp"
             line="48">the major version number of the JavaScriptCore library</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="get_micro_version" c:identifier="jsc_get_micro_version">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCVersion.cpp"
           line="73">Returns the micro version number of the JavaScriptCore library.
(e.g. in JavaScriptCore version 1.8.3 this is 3.)

This function is in the library, so it represents the JavaScriptCore library
your code is running against. Contrast with the #JSC_MICRO_VERSION
macro, which represents the micro version of the JavaScriptCore headers you
have included when compiling your code.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
                       line="82"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCVersion.cpp"
             line="84">the micro version number of the JavaScriptCore library</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="get_minor_version" c:identifier="jsc_get_minor_version">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCVersion.cpp"
           line="55">Returns the minor version number of the JavaScriptCore library.
(e.g. in JavaScriptCore version 1.8.3 this is 8.)

This function is in the library, so it represents the JavaScriptCore library
your code is running against. Contrast with the #JSC_MINOR_VERSION
macro, which represents the minor version of the JavaScriptCore headers you
have included when compiling your code.</doc>
      <source-position filename="../build-amd64/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h"
                       line="79"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCVersion.cpp"
             line="66">the minor version number of the JavaScriptCore library</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="options_foreach"
              c:identifier="jsc_options_foreach"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="622">Iterates all available options calling @function for each one. Iteration can
stop early if @function returns %FALSE.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="102"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="function"
                   transfer-ownership="none"
                   scope="call"
                   closure="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="624">a #JSCOptionsFunc callback</doc>
          <type name="OptionsFunc" c:type="JSCOptionsFunc"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="625">callback user data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_get_boolean"
              c:identifier="jsc_options_get_boolean"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="238">Get @option as a #gboolean value.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="41"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="245">%TRUE if @value has been set or %FALSE if the option doesn't exist</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="240">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="241">return location for the option value</doc>
          <type name="gboolean" c:type="gboolean*"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_get_double"
              c:identifier="jsc_options_get_double"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="422">Get @option as a #gdouble value.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="69"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="429">%TRUE if @value has been set or %FALSE if the option doesn't exist</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="424">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="425">return location for the option value</doc>
          <type name="gdouble" c:type="gdouble*"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_get_int"
              c:identifier="jsc_options_get_int"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="284">Get @option as a #gint value.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="48"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="291">%TRUE if @value has been set or %FALSE if the option doesn't exist</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="286">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="287">return location for the option value</doc>
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_get_option_group"
              c:identifier="jsc_options_get_option_group"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="663">Create a #GOptionGroup to handle JSCOptions as command line arguments.
The options will be exposed as command line arguments with the form
&lt;emphasis&gt;--jsc-&amp;lt;option&amp;gt;=&amp;lt;value&amp;gt;&lt;/emphasis&gt;.
Each entry in the returned #GOptionGroup is configured to apply the
corresponding option during command line parsing. Applications only need to
pass the returned group to g_option_context_add_group(), and the rest will
be taken care for automatically.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="106"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="674">a #GOptionGroup for the JSCOptions</doc>
        <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
      </return-value>
    </function>
    <function name="options_get_range_string"
              c:identifier="jsc_options_get_range_string"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="522">Get @option as a range string. The string must be in the
format &lt;emphasis&gt;[!]&amp;lt;low&amp;gt;[:&amp;lt;high&amp;gt;]&lt;/emphasis&gt; where low and high are #guint values.
Values between low and high (both included) will be considered in
the range, unless &lt;emphasis&gt;!&lt;/emphasis&gt; is used to invert the range.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="83"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="532">%TRUE if @value has been set or %FALSE if the option doesn't exist</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="524">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="525">return location for the option value</doc>
          <type name="utf8" c:type="char**"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_get_size"
              c:identifier="jsc_options_get_size"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="376">Get @option as a #gsize value.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="62"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="383">%TRUE if @value has been set or %FALSE if the option doesn't exist</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="378">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="379">return location for the option value</doc>
          <type name="gsize" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_get_string"
              c:identifier="jsc_options_get_string"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="470">Get @option as a string.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="76"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="477">%TRUE if @value has been set or %FALSE if the option doesn't exist</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="472">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="473">return location for the option value</doc>
          <type name="utf8" c:type="char**"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_get_uint"
              c:identifier="jsc_options_get_uint"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="330">Get @option as a #guint value.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="55"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="337">%TRUE if @value has been set or %FALSE if the option doesn't exist</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="332">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="333">return location for the option value</doc>
          <type name="guint" c:type="guint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_set_boolean"
              c:identifier="jsc_options_set_boolean"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="217">Set @option as a #gboolean value.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="38"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="224">%TRUE if option was correctly set or %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="219">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="220">the value to set</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_set_double"
              c:identifier="jsc_options_set_double"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="401">Set @option as a #gdouble value.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="66"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="408">%TRUE if option was correctly set or %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="403">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="404">the value to set</doc>
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_set_int"
              c:identifier="jsc_options_set_int"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="263">Set @option as a #gint value.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="45"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="270">%TRUE if option was correctly set or %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="265">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="266">the value to set</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_set_range_string"
              c:identifier="jsc_options_set_range_string"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="496">Set @option as a range string. The string must be in the
format &lt;emphasis&gt;[!]&amp;lt;low&amp;gt;[:&amp;lt;high&amp;gt;]&lt;/emphasis&gt; where low and high are #guint values.
Values between low and high (both included) will be considered in
the range, unless &lt;emphasis&gt;!&lt;/emphasis&gt; is used to invert the range.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="80"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="506">%TRUE if option was correctly set or %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="498">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="499">the value to set</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_set_size"
              c:identifier="jsc_options_set_size"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="355">Set @option as a #gsize value.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="59"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="362">%TRUE if option was correctly set or %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="357">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="358">the value to set</doc>
          <type name="gsize" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_set_string"
              c:identifier="jsc_options_set_string"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="447">Set @option as a string.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="73"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="454">%TRUE if option was correctly set or %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="449">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="450">the value to set</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="options_set_uint"
              c:identifier="jsc_options_set_uint"
              version="2.24">
      <doc xml:space="preserve"
           filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
           line="309">Set @option as a #guint value.</doc>
      <source-position filename="Source/JavaScriptCore/API/glib/JSCOptions.h"
                       line="52"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
             line="316">%TRUE if option was correctly set or %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="311">the option identifier</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="Source/JavaScriptCore/API/glib/JSCOptions.cpp"
               line="312">the value to set</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
