diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 7f4c876..b21234d 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/tutorials/programming-language/main/06-00-libraries.doctree b/.doctrees/tutorials/programming-language/main/06-00-libraries.doctree index 7bbf46e..5bc6688 100644 Binary files a/.doctrees/tutorials/programming-language/main/06-00-libraries.doctree and b/.doctrees/tutorials/programming-language/main/06-00-libraries.doctree differ diff --git a/.doctrees/tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library.doctree b/.doctrees/tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library.doctree index dbfcbe9..a84e5c0 100644 Binary files a/.doctrees/tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library.doctree and b/.doctrees/tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library.doctree differ diff --git a/.doctrees/tutorials/programming-language/main/06-00-libraries/06-04-abi-and-api-design-choices.doctree b/.doctrees/tutorials/programming-language/main/06-00-libraries/06-04-abi-and-api-design-choices.doctree new file mode 100644 index 0000000..dbf34c3 Binary files /dev/null and b/.doctrees/tutorials/programming-language/main/06-00-libraries/06-04-abi-and-api-design-choices.doctree differ diff --git a/.doctrees/tutorials/programming-language/main/06-00-libraries/06-05-binding-to-vala-libraries-from-other-languages.doctree b/.doctrees/tutorials/programming-language/main/06-00-libraries/06-05-binding-to-vala-libraries-from-other-languages.doctree new file mode 100644 index 0000000..e7705c5 Binary files /dev/null and b/.doctrees/tutorials/programming-language/main/06-00-libraries/06-05-binding-to-vala-libraries-from-other-languages.doctree differ diff --git a/.doctrees/tutorials/programming-language/main/06-00-libraries/06-06-using-autotools.doctree b/.doctrees/tutorials/programming-language/main/06-00-libraries/06-06-using-autotools.doctree new file mode 100644 index 0000000..cddbf7c Binary files /dev/null and b/.doctrees/tutorials/programming-language/main/06-00-libraries/06-06-using-autotools.doctree differ diff --git a/_sources/tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library.rst.txt b/_sources/tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library.rst.txt index 2e1682f..02bae02 100644 --- a/_sources/tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library.rst.txt +++ b/_sources/tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library.rst.txt @@ -1,145 +1,6 @@ Creating a Library ================== -Using Autotools ---------------- - -It is possible to use Autotools to create a library written in Vala. A library is created by using C code generated by Vala compiler, linked and installed as any other library. Then you need tell which C files must be used to create the library and which of them must be distributable, allowing others to compile a tarball without Vala using standard Autotools commands: *configure*, *make* and *make install*. - -Example -~~~~~~~ - -This example was taken from GXml recent additions. GXmlDom is a library aimed to have a GObject based libxml2 replacement; is written in Vala and originally used to use WAF to build. - -* **valac** can be used to generate C code and headers from Vala sources. At this time is possible to generate a GObjectIntrospection and the VAPI file from the vala sources too. -* **gxml.vala.stamp** is used as the code sources for our library. - -It's important to add --pkg switches in order to valac to success and set all CFLAGS and LIBS required by the C library to compile and link against. - -.. code-block:: shell - - NULL = - - - AM_CPPFLAGS = \ - -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ - -DPACKAGE_SRC_DIR=\""$(srcdir)"\" \ - -DPACKAGE_DATA_DIR=\""$(datadir)"\" - - BUILT_SOURCES = gxml.vala.stamp - CLEANFILES = gxml.vala.stamp - - AM_CFLAGS =\ - -Wall\ - -g \ - $(GLIB_CFLAGS) \ - $(LIBXML_CFLAGS) \ - $(GIO_CFLAGS) \ - $(GEE_CFLAGS) \ - $(VALA_CFLAGS) \ - $(NULL) - - lib_LTLIBRARIES = libgxml.la - - VALAFLAGS = \ - $(top_srcdir)/vapi/config.vapi \ - --vapidir=$(top_srcdir)/vapi \ - --pkg libxml-2.0 \ - --pkg gee-1.0 \ - --pkg gobject-2.0 \ - --pkg gio-2.0 \ - $(NULL) - - libgxml_la_VALASOURCES = \ - Attr.vala \ - BackedNode.vala \ - CDATASection.vala \ - CharacterData.vala \ - Comment.vala \ - Document.vala \ - DocumentFragment.vala \ - DocumentType.vala \ - DomError.vala \ - Element.vala \ - Entity.vala \ - EntityReference.vala \ - Implementation.vala \ - NamespaceAttr.vala \ - NodeList.vala \ - NodeType.vala \ - Notation.vala \ - ProcessingInstruction.vala \ - Text.vala \ - XNode.vala \ - $(NULL) - - libgxml_la_SOURCES = \ - gxml.vala.stamp \ - $(libgxml_la_VALASOURCES:.vala=.c) \ - $(NULL) - - # Generate C code and headers, including GObject Introspection GIR files and VAPI file - gxml-1.0.vapi gxml.vala.stamp GXml-1.0.gir: $(libgxml_la_VALASOURCES) - $(VALA_COMPILER) $(VALAFLAGS) -C -H $(top_builddir)/gxml/gxml-dom.h --gir=GXmlDom-1.0.gir --library gxmldom-1.0 $^ - @touch $@ - - - # Library configuration - libgxml_la_LDFLAGS = - - libgxml_la_LIBADD = \ - $(GLIB_LIBS) \ - $(LIBXML_LIBS) \ - $(GIO_LIBS) \ - $(GEE_LIBS) \ - $(VALA_LIBS) \ - $(NULL) - - include_HEADERS = \ - gxml.h \ - $(NULL) - - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = libgxml-1.0.pc - - gxmlincludedir=$(includedir)/libgxml-1.0/gxml - gxmlinclude_HEADERS= gxml-dom.h - - # GObject Introspection - - if ENABLE_GI_SYSTEM_INSTALL - girdir = $(INTROSPECTION_GIRDIR) - typelibsdir = $(INTROSPECTION_TYPELIBDIR) - else - girdir = $(datadir)/gir-1.0 - typelibsdir = $(libdir)/girepository-1.0 - endif - - # GIR files are generated automatically by Valac so is not necessary to scan source code to generate it - INTROSPECTION_GIRS = - INTROSPECTION_GIRS += GXmlDom-1.0.gir - INTROSPECTION_COMPILER_ARGS = \ - --includedir=. \ - --includedir=$(top_builddir)/gxml - - GXmlDom-1.0.typelib: $(INTROSPECTION_GIRS) - $(INTROSPECTION_COMPILER) $(INTROSPECTION_COMPILER_ARGS) $< -o $@ - - gir_DATA = $(INTROSPECTION_GIRS) - typelibs_DATA = GXmlDom-1.0.typelib - - vapidir = $(VALA_VAPIDIR) - vapi_DATA=gxmldom-1.0.vapi - - CLEANFILES += $(INTROSPECTION_GIRS) $(typelibs_DATA) gxml-1.0.vapi - - EXTRA_DIST = \ - libgxml-1.0.pc.in \ - $(libgxml_la_VALASOURCES) \ - $(typelibs_DATA) \ - $(INTROSPECTION_GIRS) \ - gxml.vala.stamp - Compilation and linking using Command Line ------------------------------------------ @@ -150,7 +11,7 @@ Vala is not yet capable of directly creating dynamic or static libraries. To cre $ valac -c ...(source files) $ ar cx ...(object files) -or by compiling the intermediate C code with *gcc* +or by compiling the intermediate C code in the compiler of you choice. We'll be using *gcc* in these examples. .. code-block:: console @@ -228,3 +89,16 @@ You can also create a GObjectIntrospection GIR file for your library with the `` GIR files are XML descriptions of the API. +This will generate a GIR file named ``Test-1.0.gir``. The name of the GIR file should follow the GObject Introspection +naming conventions and include an API version number. + +A typelib file can then be generated from the GIR using g-ir-compiler: + +.. code-block:: console + + g-ir-compiler --output MyLibrary-1.0.typelib MyLibrary-1.0.gir + +GIR files are typically used to generate compile time bindings. +Typelib files are used to create runtime bindings and a binding generator +will read them using ``libgirepository``. + diff --git a/_sources/tutorials/programming-language/main/06-00-libraries/06-04-abi-and-api-design-choices.rst.txt b/_sources/tutorials/programming-language/main/06-00-libraries/06-04-abi-and-api-design-choices.rst.txt new file mode 100644 index 0000000..ab30af8 --- /dev/null +++ b/_sources/tutorials/programming-language/main/06-00-libraries/06-04-abi-and-api-design-choices.rst.txt @@ -0,0 +1,102 @@ +ABI and API Design Choices +========================== + +ABI +--- + +``abit-compliance-checker`` is a cross-platform tool for checcking the stability +of an ABI. Supported platforms are GNU/Linux, FreeBSD, Mac OS X and MS Windows. +See `ABI Compliance Checker `_ for +more details. + +The tool uses debug symbols to generate an ABI profile of a shared library: + +.. code-block:: console + + abi-dumper my_library.so -o ABI-0.dump -lver 0 + +This is then repeated for the new version of the library: + +.. code-block:: console + + abi-dumper my_library.so -o ABI-1.dump -lver 1 + +A report is then generated with: + +.. code-block:: console + + abi-compliance-checker -l my_library -old ABI-0.dump -new ABI-1.dump + +The report is an HTML file showing changes in the ABI. +An `example report for Vala `_ is available online. + +API Design +---------- + +Avoid Custom Constructors +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following example contains a custom constructors: + +.. code-block:: vala + + public class MyClass : Object { + private string value; + + public MyClass (string contents) { + value = contents; + } + } + + +This will be translated to C as the function name ``my_class_new`` and can be called with a string argument to create the object. + +The problem is GObject has an alternative way of creating an object. In Vala this is of the form: + +.. code-block:: vala + + void main () { + Object.new (typeof(MyClass)); + } + +The Vala ``Object.new`` method is bound to GObject `g_object_new `_ function in C and is often used to instantiate GObjects. +This can be from C, but also from languages using GObject introspection bindings. The problem is the construction defined Vala is not called. + +Vala does have a way to run a function at instantiation time that is the use of the construct {} in the class. +See :doc:`GObject Style Construction page ` +in the :doc:`Vala Main Tutorial ` in the Vala tutorial. + +Avoid Using varargs +~~~~~~~~~~~~~~~~~~~ + +A function with a variable number of arguments is not introspectable. +Although the GObject Introspection Repository will contain a method or function that can be called with a variable +number of arguments, the method or function will be marked as ``introspectable="0"``. This causes binding generators to +ignore the method or function. In Vala this can be overridden using ``skip = false`` in the metadata, but such +techniques are not available in all bindings. + +Avoid Using Generics +~~~~~~~~~~~~~~~~~~~~ + +Since GObject Introspection does not handle generics, using them in APIs is harmful, since GI will generate 3 new +parameters in the constructors of each generic class: one for the GType function, one for the duplication function and +another for the destruction. These parameters are quite complicated to handle in languages like Python or Javascript. + +In addition to this, the properties that expose the generic type parameter will be exposed as ``gpointer``s, which makes it +even more complicated. Even generic methods like Gee's ``add ()`` will expect a ``gpointer`` in GI, so doing something like +this in Python will result in an error, contrary to what you expect. + +.. code-block:: python + + list = get_a_list_of_strings () + list.add ('Hi') + +Further Reading +--------------- + +- `APIs, like diamonds, are forever `_ - some criteria for good API design +- `Libraries in Vala - ABI compatibility - part I `_ +- `Libraries in Vala - ABI compatibility - part II `_ +- `Writing Bindable APIs (GObject Intropsection) `_ +- `Minimalistic example of the GLib's GBoxedType usage `_ - explanation of basic types when used with GObject Introspection + and how to bind structs diff --git a/_sources/tutorials/programming-language/main/06-00-libraries/06-05-binding-to-vala-libraries-from-other-languages.rst.txt b/_sources/tutorials/programming-language/main/06-00-libraries/06-05-binding-to-vala-libraries-from-other-languages.rst.txt new file mode 100644 index 0000000..c36043e --- /dev/null +++ b/_sources/tutorials/programming-language/main/06-00-libraries/06-05-binding-to-vala-libraries-from-other-languages.rst.txt @@ -0,0 +1,73 @@ +Binding to Vala Libraries from Other Languages +============================================== + +Vala produces C code and also produces C headers. Binding from C is relatively easy, although the library may make use +of a lot of GObject boiler plate code. + +For Vala based projects, using either the Vala or Genie syntax, a VAPI can be produced that makes bindings easy. + +The Vala compiler can also produce a GObject Introspection Repository (GIR) file. This makes bindings from languages +that support GObject Introspection very easy. Often the binding is at runtime so a typelib file +also needs to be produced and libgirepository and libffi are used at runtime for the binding. + +Haskell +------- + +As of January 2017 the Haskell generator from GObject introspection repositories, haskell-gi, is described as complete. +The Haskell wiki page on GObject Introspection advises "The Haskell code generator at haskell-gi is now essentially +complete: all the information exposed in the bindings should now be available from the autogenerated bindings. +This includes: ordinary functions, signals, virtual functions, structure fields, object properties, etc." + +`haskell-gi `_ - Generate Haskell bindings for GObject-Introspection capable libraries + +JavaScript +---------- + +`node-gtk `_ - "uses the GObject Introspection library (as PyGObject, for example), so any gobject-introspectable library is supported" + +`node-gir `_ - "Node-gir is Node.js bindings to GObject Introspection making it +possible to make automatic and dynamic calls to any library that has GI annotations installed...With it you can also +write the performance-intensive parts of your applications in Vala and call them from Node.js and other languages." + +Lua +--- + +`LGI `_ provides runtime bindings for Lua 5.1+ and LuaJIT2. It uses libgirepository to read typelib files. + +There are alternative binding generators: lgob and LuiGI. `lgob `_ parses +GIR files to generate Lua modules. LuiGI was an experimental dynamic binding generator. LGI should be used instead of LuiGI. + +- `LGI `_ - "LGI is gobject-introspection based dynamic Lua binding to GObject based libraries...LGI is tested and + compatible with standard Lua 5.1, Lua 5.2, Lua 5.3 and LuaJIT2." +- `lgob `_ - "lgob provides bindings of GObject-based libraries (like GTK+ and WebKitGTK+), for Lua 5.1 / 5.2 / LuaJIT. + It consists of a compiler that parses GObject-Instrospection gir files and generates Lua modules. lgob ships with + bindings for GTK+, pango, cairo, vte, WebKitGtk, GtkTextView, and others" +- `Some thoughts (and code) around GObject-Introspection `_- blog post + from 2010 about the origins of LuiGI, "the kind people there made me note about LGI, which is also a dynamic GI binding + for Lua...but looking at its code I can tell that it is more complete than my own, so I will be probably contributing + to it instead of duplicating efforts" + +Perl +---- + +`perl-Glib-Object-Introspection `_ creates Perl bindings at runtime from a typelib file. + +- `Glib::Object::Introspection `_ - CPAN module + of `perl-Glib-Object-Introspection `_. The CPAN page includes examples. + +Python +------ + +`PyGObject `_ is a Python package providing bindings using GObject introspection. + +- `PyGObject Documentation `_ - "PyGObject provides full support of GObject Introspection and all of its features (callbacks, GVariant support, closures, sub-classing, etc.)" +- `PyGObject source repository at GNOME GitLab `_ +- `pgi-docgen `_ - GitHub repository of the API Documentation Generator for PyGObject +- `PyGObject API Reference `_ - pre-built API documentation for numerous libraries available through PyGObject + +Rust +---- + +The `gtk-rs `_ project has developed the ``gir`` tool to generate Rust bindings from a GIR file. + +- `gtk-rs/gir `_ - GitHub repository for the ``gir`` tool. A GIR file is needed and an additional TOML file is used to pass binding metadata to the tool diff --git a/_sources/tutorials/programming-language/main/06-00-libraries/06-06-using-autotools.rst.txt b/_sources/tutorials/programming-language/main/06-00-libraries/06-06-using-autotools.rst.txt new file mode 100644 index 0000000..59b3621 --- /dev/null +++ b/_sources/tutorials/programming-language/main/06-00-libraries/06-06-using-autotools.rst.txt @@ -0,0 +1,145 @@ +Using Autotools +--------------- + +.. note:: + + There are multiple :doc:`build systems ` you could use create a library in Vala + (Meson is the recommended one right now). + + This page is remains here for legacy purposes. + +It is possible to use Autotools to create a library written in Vala. A library is created by using C code generated by Vala compiler, linked and installed as any other library. Then you need tell which C files must be used to create the library and which of them must be distributable, allowing others to compile a tarball without Vala using standard Autotools commands: *configure*, *make* and *make install*. + +Example +~~~~~~~ + +This example was taken from GXml recent additions. GXmlDom is a library aimed to have a GObject based libxml2 replacement; is written in Vala and originally used to use WAF to build. + +* **valac** can be used to generate C code and headers from Vala sources. At this time is possible to generate a GObjectIntrospection and the VAPI file from the vala sources too. +* **gxml.vala.stamp** is used as the code sources for our library. + +It's important to add --pkg switches in order to valac to success and set all CFLAGS and LIBS required by the C library to compile and link against. + +.. code-block:: shell + + NULL = + + + AM_CPPFLAGS = \ + -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ + -DPACKAGE_SRC_DIR=\""$(srcdir)"\" \ + -DPACKAGE_DATA_DIR=\""$(datadir)"\" + + BUILT_SOURCES = gxml.vala.stamp + CLEANFILES = gxml.vala.stamp + + AM_CFLAGS =\ + -Wall\ + -g \ + $(GLIB_CFLAGS) \ + $(LIBXML_CFLAGS) \ + $(GIO_CFLAGS) \ + $(GEE_CFLAGS) \ + $(VALA_CFLAGS) \ + $(NULL) + + lib_LTLIBRARIES = libgxml.la + + VALAFLAGS = \ + $(top_srcdir)/vapi/config.vapi \ + --vapidir=$(top_srcdir)/vapi \ + --pkg libxml-2.0 \ + --pkg gee-1.0 \ + --pkg gobject-2.0 \ + --pkg gio-2.0 \ + $(NULL) + + libgxml_la_VALASOURCES = \ + Attr.vala \ + BackedNode.vala \ + CDATASection.vala \ + CharacterData.vala \ + Comment.vala \ + Document.vala \ + DocumentFragment.vala \ + DocumentType.vala \ + DomError.vala \ + Element.vala \ + Entity.vala \ + EntityReference.vala \ + Implementation.vala \ + NamespaceAttr.vala \ + NodeList.vala \ + NodeType.vala \ + Notation.vala \ + ProcessingInstruction.vala \ + Text.vala \ + XNode.vala \ + $(NULL) + + libgxml_la_SOURCES = \ + gxml.vala.stamp \ + $(libgxml_la_VALASOURCES:.vala=.c) \ + $(NULL) + + # Generate C code and headers, including GObject Introspection GIR files and VAPI file + gxml-1.0.vapi gxml.vala.stamp GXml-1.0.gir: $(libgxml_la_VALASOURCES) + $(VALA_COMPILER) $(VALAFLAGS) -C -H $(top_builddir)/gxml/gxml-dom.h --gir=GXmlDom-1.0.gir --library gxmldom-1.0 $^ + @touch $@ + + + # Library configuration + libgxml_la_LDFLAGS = + + libgxml_la_LIBADD = \ + $(GLIB_LIBS) \ + $(LIBXML_LIBS) \ + $(GIO_LIBS) \ + $(GEE_LIBS) \ + $(VALA_LIBS) \ + $(NULL) + + include_HEADERS = \ + gxml.h \ + $(NULL) + + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libgxml-1.0.pc + + gxmlincludedir=$(includedir)/libgxml-1.0/gxml + gxmlinclude_HEADERS= gxml-dom.h + + # GObject Introspection + + if ENABLE_GI_SYSTEM_INSTALL + girdir = $(INTROSPECTION_GIRDIR) + typelibsdir = $(INTROSPECTION_TYPELIBDIR) + else + girdir = $(datadir)/gir-1.0 + typelibsdir = $(libdir)/girepository-1.0 + endif + + # GIR files are generated automatically by Valac so is not necessary to scan source code to generate it + INTROSPECTION_GIRS = + INTROSPECTION_GIRS += GXmlDom-1.0.gir + INTROSPECTION_COMPILER_ARGS = \ + --includedir=. \ + --includedir=$(top_builddir)/gxml + + GXmlDom-1.0.typelib: $(INTROSPECTION_GIRS) + $(INTROSPECTION_COMPILER) $(INTROSPECTION_COMPILER_ARGS) $< -o $@ + + gir_DATA = $(INTROSPECTION_GIRS) + typelibs_DATA = GXmlDom-1.0.typelib + + vapidir = $(VALA_VAPIDIR) + vapi_DATA=gxmldom-1.0.vapi + + CLEANFILES += $(INTROSPECTION_GIRS) $(typelibs_DATA) gxml-1.0.vapi + + EXTRA_DIST = \ + libgxml-1.0.pc.in \ + $(libgxml_la_VALASOURCES) \ + $(typelibs_DATA) \ + $(INTROSPECTION_GIRS) \ + gxml.vala.stamp diff --git a/about.html b/about.html index 9076669..0436438 100644 --- a/about.html +++ b/about.html @@ -271,6 +271,9 @@
  • 6.1. Using Libraries
  • 6.2. Creating a Library
  • 6.3. Binding Libraries with VAPI Files
  • +
  • 6.4. ABI and API Design Choices
  • +
  • 6.5. Binding to Vala Libraries from Other Languages
  • +
  • 6.6. Using Autotools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
      diff --git a/searchindex.js b/searchindex.js index 8b36cb2..5768816 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["about", "contributor-guide/compiler-guide", "contributor-guide/compiler-guide/01-00-project-information", "contributor-guide/compiler-guide/02-00-environment-setup", "contributor-guide/compiler-guide/03-00-the-vala-compiler", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-01-vala-in-a-nutshell", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-02-parser", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-03-semantic-analyzer", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-04-symbol-resolution", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-05-flow-analyzer", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-06-c-code-generation", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-07-c-code-compilation-and-linking", "contributor-guide/compiler-guide/04-00-vala-bindings-vapi", "contributor-guide/compiler-guide/05-00-internal-libgee", "contributor-guide/compiler-guide/06-00-other-tools", "contributor-guide/compiler-guide/07-00-testing", "contributor-guide/compiler-guide/08-00-documentation", "contributor-guide/compiler-guide/09-00-build-system", "contributor-guide/index", "developer-guides/bindings", "developer-guides/bindings/generating-a-vapi-with-gobject-introspection", "developer-guides/bindings/upstream-guide", "developer-guides/bindings/writing-a-vapi-manually", "developer-guides/bindings/writing-a-vapi-manually/01-00-prerequisites", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-01-the-vapi-file", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-02-attribution-and-license", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-03-the-ccode-attribute", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-04-create-a-root-namespace", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-05-include-the-c-header-files", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-06-symbol-name-translations", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-07-code-formatting-conventions", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-08-documentation-and-valadoc-org", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-09-the-version-attribute", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-01-pointers-in-c", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-02-constants-the-stack-and-the-heap-in-c", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-03-the-concept-of-ownership-in-vala", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-04-binding-to-c-heap-handnlers", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-01-constants", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-02-enums-and-flags", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-03-simple-type-structs", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-04-structs", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-05-compact-classes", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-06-functions", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-07-delegates", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-01-out-and-reference-parameters-and-return-values", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-02-ownership", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-03-nullability", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-04-static-methods", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-05-changing-the-position-of-generated-arguments", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-06-default-values-and-changing-an-argument-s-position", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-07-adapting-a-signature-with-a-vala-wrapper", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-08-variadic-arguments", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-09-functions-that-do-not-return", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-10-methods-that-change-the-instance-reference", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-11-methods-that-destroy-the-instance-reference", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-01-to-string-methods", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-02-properties", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-03-collections", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-01-basic-types", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-02-structs", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-03-arrays", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-04-strings-and-buffers", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-05-function-pointers", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-06-parameters-of-variable-type-generics", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-07-pointers", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-01-structs", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-02-pointers-to-structs", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-03-arrays", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-04-function-pointers", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-05-unions", "developer-guides/bindings/writing-a-vapi-manually/09-00-extra-hints", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-01-array-lengths", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-02-dependently-typed-ownership", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-03-member-length", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-04-owned-array-of-unowned-objects", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-05-shared-context-delgates", "developer-guides/documentation", "developer-guides/documentation/valadoc-guide", "developer-guides/documentation/valadoc-guide/01-00-quick-start", "developer-guides/documentation/valadoc-guide/02-00-command-line-tool", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-01-brief-description", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-02-formatting", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-03-taglets", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-04-contributing-to-valadoc", "developer-guides/index", "faq", "index", "installation-guide", "tooling/build-systems", "tooling/code-editors-and-ides", "tooling/index", "tooling/language-server-protocol-support", "tooling/other-tools", "tooling/syntax-support", "tutorials/gui-programming", "tutorials/index", "tutorials/programming-language", "tutorials/programming-language/main", "tutorials/programming-language/main/01-00-first-program", "tutorials/programming-language/main/02-00-basics", "tutorials/programming-language/main/02-00-basics/02-01-source-files-and-compilation", "tutorials/programming-language/main/02-00-basics/02-02-syntax-overview", "tutorials/programming-language/main/02-00-basics/02-03-comments", "tutorials/programming-language/main/02-00-basics/02-04-data-types", "tutorials/programming-language/main/02-00-basics/02-05-operators", "tutorials/programming-language/main/02-00-basics/02-06-control-structures", "tutorials/programming-language/main/02-00-basics/02-07-language-elements", "tutorials/programming-language/main/02-00-basics/02-08-code-attributes", "tutorials/programming-language/main/03-00-object-oriented-programming", "tutorials/programming-language/main/03-00-object-oriented-programming/03-01-basics", "tutorials/programming-language/main/03-00-object-oriented-programming/03-02-construction", "tutorials/programming-language/main/03-00-object-oriented-programming/03-03-destruction", "tutorials/programming-language/main/03-00-object-oriented-programming/03-04-signals", "tutorials/programming-language/main/03-00-object-oriented-programming/03-05-properties", "tutorials/programming-language/main/03-00-object-oriented-programming/03-06-inheritance", "tutorials/programming-language/main/03-00-object-oriented-programming/03-07-abstract-classes", "tutorials/programming-language/main/03-00-object-oriented-programming/03-08-interfaces", "tutorials/programming-language/main/03-00-object-oriented-programming/03-09-polymorphism", "tutorials/programming-language/main/03-00-object-oriented-programming/03-10-method-hiding", "tutorials/programming-language/main/03-00-object-oriented-programming/03-11-run-time-type-information", "tutorials/programming-language/main/03-00-object-oriented-programming/03-12-dynamic-type-casting", "tutorials/programming-language/main/03-00-object-oriented-programming/03-13-generics", "tutorials/programming-language/main/03-00-object-oriented-programming/03-14-gobject-style-construction", "tutorials/programming-language/main/04-00-advanced-features", "tutorials/programming-language/main/04-00-advanced-features/04-01-assertions-and-contract-programming", "tutorials/programming-language/main/04-00-advanced-features/04-02-error-handling", "tutorials/programming-language/main/04-00-advanced-features/04-03-parameter-directions", "tutorials/programming-language/main/04-00-advanced-features/04-04-collections", "tutorials/programming-language/main/04-00-advanced-features/04-05-methods-with-syntax-support", "tutorials/programming-language/main/04-00-advanced-features/04-06-multi-threading", "tutorials/programming-language/main/04-00-advanced-features/04-07-the-main-loop", "tutorials/programming-language/main/04-00-advanced-features/04-08-asynchronous-methods", "tutorials/programming-language/main/04-00-advanced-features/04-09-weak-references", "tutorials/programming-language/main/04-00-advanced-features/04-10-ownership", "tutorials/programming-language/main/04-00-advanced-features/04-11-variable-length-argument-lists", "tutorials/programming-language/main/04-00-advanced-features/04-12-pointers", "tutorials/programming-language/main/04-00-advanced-features/04-13-non-object-classes", "tutorials/programming-language/main/04-00-advanced-features/04-14-d-bus-integration", "tutorials/programming-language/main/04-00-advanced-features/04-15-profiles", "tutorials/programming-language/main/05-00-experimental-features", "tutorials/programming-language/main/05-00-experimental-features/05-01-chained-relational-expressions", "tutorials/programming-language/main/05-00-experimental-features/05-02-regular-expression-literals", "tutorials/programming-language/main/05-00-experimental-features/05-03-strict-non-null-mode", "tutorials/programming-language/main/06-00-libraries", "tutorials/programming-language/main/06-00-libraries/06-01-using-libraries", "tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library", "tutorials/programming-language/main/06-00-libraries/06-03-binding-libraries-with-vapi-files", "tutorials/programming-language/main/07-00-tools", "tutorials/programming-language/main/07-00-tools/07-01-valac", "tutorials/programming-language/main/07-00-tools/07-02-vapigen", "tutorials/programming-language/main/07-00-tools/07-03-vala-gen-introspect", "tutorials/programming-language/main/08-00-techniques", "tutorials/programming-language/main/08-00-techniques/08-01-debugging", "tutorials/programming-language/main/08-00-techniques/08-02-using-glib"], "filenames": ["about.rst", "contributor-guide/compiler-guide.rst", "contributor-guide/compiler-guide/01-00-project-information.rst", "contributor-guide/compiler-guide/02-00-environment-setup.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-01-vala-in-a-nutshell.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-02-parser.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-03-semantic-analyzer.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-04-symbol-resolution.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-05-flow-analyzer.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-06-c-code-generation.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-07-c-code-compilation-and-linking.rst", "contributor-guide/compiler-guide/04-00-vala-bindings-vapi.rst", "contributor-guide/compiler-guide/05-00-internal-libgee.rst", "contributor-guide/compiler-guide/06-00-other-tools.rst", "contributor-guide/compiler-guide/07-00-testing.rst", "contributor-guide/compiler-guide/08-00-documentation.rst", "contributor-guide/compiler-guide/09-00-build-system.rst", "contributor-guide/index.rst", "developer-guides/bindings.rst", "developer-guides/bindings/generating-a-vapi-with-gobject-introspection.rst", "developer-guides/bindings/upstream-guide.rst", "developer-guides/bindings/writing-a-vapi-manually.rst", "developer-guides/bindings/writing-a-vapi-manually/01-00-prerequisites.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-01-the-vapi-file.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-02-attribution-and-license.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-03-the-ccode-attribute.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-04-create-a-root-namespace.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-05-include-the-c-header-files.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-06-symbol-name-translations.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-07-code-formatting-conventions.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-08-documentation-and-valadoc-org.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-09-the-version-attribute.rst", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management.rst", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-01-pointers-in-c.rst", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-02-constants-the-stack-and-the-heap-in-c.rst", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-03-the-concept-of-ownership-in-vala.rst", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-04-binding-to-c-heap-handnlers.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-01-constants.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-02-enums-and-flags.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-03-simple-type-structs.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-04-structs.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-05-compact-classes.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-06-functions.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-07-delegates.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-01-out-and-reference-parameters-and-return-values.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-02-ownership.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-03-nullability.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-04-static-methods.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-05-changing-the-position-of-generated-arguments.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-06-default-values-and-changing-an-argument-s-position.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-07-adapting-a-signature-with-a-vala-wrapper.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-08-variadic-arguments.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-09-functions-that-do-not-return.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-10-methods-that-change-the-instance-reference.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-11-methods-that-destroy-the-instance-reference.rst", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics.rst", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-01-to-string-methods.rst", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-02-properties.rst", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-03-collections.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-01-basic-types.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-02-structs.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-03-arrays.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-04-strings-and-buffers.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-05-function-pointers.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-06-parameters-of-variable-type-generics.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-07-pointers.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-01-structs.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-02-pointers-to-structs.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-03-arrays.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-04-function-pointers.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-05-unions.rst", "developer-guides/bindings/writing-a-vapi-manually/09-00-extra-hints.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-01-array-lengths.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-02-dependently-typed-ownership.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-03-member-length.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-04-owned-array-of-unowned-objects.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-05-shared-context-delgates.rst", "developer-guides/documentation.rst", "developer-guides/documentation/valadoc-guide.rst", "developer-guides/documentation/valadoc-guide/01-00-quick-start.rst", "developer-guides/documentation/valadoc-guide/02-00-command-line-tool.rst", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup.rst", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-01-brief-description.rst", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-02-formatting.rst", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-03-taglets.rst", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-04-contributing-to-valadoc.rst", "developer-guides/index.rst", "faq.rst", "index.rst", "installation-guide.rst", "tooling/build-systems.rst", "tooling/code-editors-and-ides.rst", "tooling/index.rst", "tooling/language-server-protocol-support.rst", "tooling/other-tools.rst", "tooling/syntax-support.rst", "tutorials/gui-programming.rst", "tutorials/index.rst", "tutorials/programming-language.rst", "tutorials/programming-language/main.rst", "tutorials/programming-language/main/01-00-first-program.rst", "tutorials/programming-language/main/02-00-basics.rst", "tutorials/programming-language/main/02-00-basics/02-01-source-files-and-compilation.rst", "tutorials/programming-language/main/02-00-basics/02-02-syntax-overview.rst", "tutorials/programming-language/main/02-00-basics/02-03-comments.rst", "tutorials/programming-language/main/02-00-basics/02-04-data-types.rst", "tutorials/programming-language/main/02-00-basics/02-05-operators.rst", "tutorials/programming-language/main/02-00-basics/02-06-control-structures.rst", "tutorials/programming-language/main/02-00-basics/02-07-language-elements.rst", "tutorials/programming-language/main/02-00-basics/02-08-code-attributes.rst", "tutorials/programming-language/main/03-00-object-oriented-programming.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-01-basics.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-02-construction.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-03-destruction.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-04-signals.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-05-properties.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-06-inheritance.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-07-abstract-classes.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-08-interfaces.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-09-polymorphism.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-10-method-hiding.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-11-run-time-type-information.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-12-dynamic-type-casting.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-13-generics.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-14-gobject-style-construction.rst", "tutorials/programming-language/main/04-00-advanced-features.rst", "tutorials/programming-language/main/04-00-advanced-features/04-01-assertions-and-contract-programming.rst", "tutorials/programming-language/main/04-00-advanced-features/04-02-error-handling.rst", "tutorials/programming-language/main/04-00-advanced-features/04-03-parameter-directions.rst", "tutorials/programming-language/main/04-00-advanced-features/04-04-collections.rst", "tutorials/programming-language/main/04-00-advanced-features/04-05-methods-with-syntax-support.rst", "tutorials/programming-language/main/04-00-advanced-features/04-06-multi-threading.rst", "tutorials/programming-language/main/04-00-advanced-features/04-07-the-main-loop.rst", "tutorials/programming-language/main/04-00-advanced-features/04-08-asynchronous-methods.rst", "tutorials/programming-language/main/04-00-advanced-features/04-09-weak-references.rst", "tutorials/programming-language/main/04-00-advanced-features/04-10-ownership.rst", "tutorials/programming-language/main/04-00-advanced-features/04-11-variable-length-argument-lists.rst", "tutorials/programming-language/main/04-00-advanced-features/04-12-pointers.rst", "tutorials/programming-language/main/04-00-advanced-features/04-13-non-object-classes.rst", "tutorials/programming-language/main/04-00-advanced-features/04-14-d-bus-integration.rst", "tutorials/programming-language/main/04-00-advanced-features/04-15-profiles.rst", "tutorials/programming-language/main/05-00-experimental-features.rst", "tutorials/programming-language/main/05-00-experimental-features/05-01-chained-relational-expressions.rst", "tutorials/programming-language/main/05-00-experimental-features/05-02-regular-expression-literals.rst", "tutorials/programming-language/main/05-00-experimental-features/05-03-strict-non-null-mode.rst", "tutorials/programming-language/main/06-00-libraries.rst", "tutorials/programming-language/main/06-00-libraries/06-01-using-libraries.rst", "tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library.rst", "tutorials/programming-language/main/06-00-libraries/06-03-binding-libraries-with-vapi-files.rst", "tutorials/programming-language/main/07-00-tools.rst", "tutorials/programming-language/main/07-00-tools/07-01-valac.rst", "tutorials/programming-language/main/07-00-tools/07-02-vapigen.rst", "tutorials/programming-language/main/07-00-tools/07-03-vala-gen-introspect.rst", "tutorials/programming-language/main/08-00-techniques.rst", "tutorials/programming-language/main/08-00-techniques/08-01-debugging.rst", "tutorials/programming-language/main/08-00-techniques/08-02-using-glib.rst"], "titles": ["About Vala", "Compiler Guide", "1. Project Information", "2. Environment Setup", "3. The Vala Compiler", "3.1. Vala in a Nutshell", "3.2. Parser", "3.3. Semantic Analyzer", "3.4. Symbol Resolution", "3.5. Flow Analyzer", "3.6. C Code Generation", "3.7. C Code Compilation and Linking", "4. Vala Bindings - VAPI", "5. libgee Internal", "6. Other Tools", "7. Testing", "8. Documentation", "9. Build System", "Documentation for Contributors to Vala", "Bindings", "Generating a VAPI with GObject Introspection", "Why Distribute Bindings Upstream", "Writing a VAPI Manually", "1. Prerequisites", "2. Getting Started", "2.1. The VAPI File", "2.2. Attribution and License", "2.3. The CCode Attribute", "2.4. Create a Root Namespace", "2.5. Include the C Header Files", "2.6. Symbol Name Translations", "2.7. Code Formatting Conventions", "2.8. Documentation and Valadoc.org", "2.9. The Version Attribute", "3. Using Vala\u2019s Automatic Memory Management", "3.1. Pointers in C (or what all these *\u2019s mean)", "3.2. Constants, the Stack and the Heap in C", "3.3. The Concept of \u201cOwnership\u201d in Vala", "3.4. Binding to C Heap Handlers", "4. Recognizing Vala Semantics in C Code", "4.1. Constants", "4.2. Enums and Flags", "4.3. Simple Type Structs", "4.4. Structs", "4.5. Compact Classes", "4.6. Functions", "4.7. Delegates", "5. Fundamentals of Binding a C Function", "5.1. Out and Reference Parameters and Return Values", "5.2. Ownership", "5.3. Nullability", "5.4. Static Methods", "5.5. Changing the Position of Generated Arguments", "5.6. Default Values and Changing an Argument\u2019s Position", "5.7. Adapting a Signature with a Vala Wrapper", "5.8. Variadic Arguments (a.k.a. \u201c\u2026\u201d)", "5.9. Functions That Do Not Return", "5.10. Methods that Change the Instance Reference", "5.11. Methods that Destroy the Instance Reference", "6. Adding Vala Friendly Semantics", "6.1. to_string () Methods", "6.2. Properties", "6.3. Collections", "7. Binding a C Function\u2019s Parameter and Return Types", "7.1. Basic Types", "7.2. Structs", "7.3. Arrays", "7.4. Strings and Buffers", "7.5. Function Pointers", "7.6. Parameters of Variable Type (Generics)", "7.7. Pointers", "8. Binding a C Struct\u2019s Fields", "8.1. Structs", "8.2. Pointers to Structs", "8.3. Arrays", "8.4. Function Pointers", "8.5. Unions", "9. Extra Hints", "10. Awkward Situations", "10.1. Array Lengths", "10.2. Dependently Typed Ownership", "10.3. Member Length", "10.4. Owned Array of Unowned Objects", "10.5. Shared Context Delegates", "Documentation", "Valadoc Guide", "1. Quick Start", "2. Command Line Tool", "3. Documentation Comment Markup", "3.1.1. Brief Description", "3.1.2. Formatting", "3.1.3. Taglets", "3.1.4. Contributing to Valadoc", "Developer Guides", "Vala FAQ", "Vala Documentation", "Installation Guide", "Build Systems", "Code Editors and IDEs", "Tooling", "Language Server Protocol Support", "Other Tools", "Syntax Support", "GUI Programming", "Tutorials", "Programming Language", "Main Tutorial", "1. First Program", "2. Basics", "2.1. Source Files and Compilation", "2.2. Syntax Overview", "2.3. Comments", "2.4. Data Types", "2.5. Operators", "2.6. Control Structures", "2.7. Language Elements", "2.8. Code Attributes", "3. Object Oriented Programming", "3.1. Basics", "3.2. Construction", "3.3. Destruction", "3.4. Signals", "3.5. Properties", "3.6. Inheritance", "3.7. Abstract Classes", "3.8. Interfaces", "3.9. Polymorphism", "3.10. Method Hiding", "3.11. Run-Time Type Information", "3.12. Dynamic Type Casting", "3.13. Generics", "3.14. GObject-Style Construction", "4. Advanced Features", "4.1. Assertions and Contract Programming", "4.2. Error Handling", "4.3. Parameter Directions", "4.4. Collections", "4.5. Methods With Syntax Support", "4.6. Multi-Threading", "4.7. The Main Loop", "4.8. Asynchronous Methods", "4.9. Weak References", "4.10. Ownership", "4.11. Variable-Length Argument Lists", "4.12. Pointers", "4.13. Non-Object classes", "4.14. D-Bus Integration", "4.15. Profiles", "5. Experimental Features", "5.1. Chained Relational Expressions", "5.2. Regular Expression Literals", "5.3. Strict Non-Null Mode", "6. Libraries", "6.1. Using Libraries", "6.2. Creating a Library", "6.3. Binding Libraries with VAPI Files", "7. Tools", "7.1. valac", "7.2. vapigen", "7.3. vala-gen-introspect", "8. Techniques", "8.1. Debugging", "8.2. Using GLib"], "terms": {"valac": [0, 4, 17, 20, 21, 25, 30, 45, 94, 96, 101, 107, 109, 146, 147, 153, 154, 156, 161], "compil": [0, 2, 6, 7, 16, 17, 20, 21, 25, 30, 34, 36, 40, 42, 51, 55, 56, 59, 92, 94, 95, 98, 106, 108, 115, 116, 125, 134, 136, 142, 143, 145, 146, 147, 151, 152, 153, 155, 157, 161], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 15, 16, 17, 18, 20, 22, 23, 25, 26, 28, 30, 32, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 61, 62, 63, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 83, 85, 87, 89, 90, 91, 92, 95, 96, 98, 102, 107, 109, 110, 112, 113, 114, 115, 116, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 151, 152, 153, 154, 155, 157, 158, 159, 162], "self": [0, 52, 61], "host": 0, "translat": [0, 20, 24, 28, 42, 62, 64, 134, 162], "sourc": [0, 2, 5, 6, 16, 17, 21, 23, 26, 49, 60, 80, 85, 87, 92, 94, 95, 98, 101, 102, 107, 108, 122, 129, 139, 140, 154, 155, 157, 161], "code": [0, 1, 2, 4, 5, 6, 7, 8, 12, 16, 18, 21, 22, 24, 27, 30, 34, 35, 36, 40, 43, 46, 56, 60, 62, 65, 66, 69, 74, 80, 86, 94, 95, 99, 100, 101, 102, 106, 107, 108, 109, 110, 111, 112, 114, 115, 118, 121, 122, 123, 125, 126, 130, 131, 134, 135, 136, 138, 139, 140, 142, 146, 147, 151, 154, 157, 161, 162], "c": [0, 3, 4, 5, 6, 7, 12, 18, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 34, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 59, 61, 62, 65, 66, 67, 68, 69, 74, 75, 77, 95, 97, 106, 107, 109, 110, 112, 114, 115, 118, 119, 120, 121, 122, 124, 125, 126, 130, 131, 134, 135, 138, 143, 144, 147, 149, 152, 154, 155, 157, 161, 162], "header": [0, 3, 12, 23, 24, 27, 28, 39, 42, 64, 71, 94, 109, 118, 154], "file": [0, 5, 6, 12, 15, 17, 18, 21, 24, 26, 27, 28, 39, 42, 44, 45, 48, 54, 59, 85, 86, 87, 92, 96, 97, 101, 102, 107, 108, 115, 116, 118, 134, 152, 153, 154, 157, 158, 159, 160, 161], "It": [0, 1, 5, 6, 20, 22, 26, 35, 39, 43, 46, 49, 50, 52, 54, 62, 66, 86, 94, 106, 107, 112, 114, 115, 118, 122, 126, 128, 131, 134, 135, 140, 143, 152, 153, 154, 157, 158], "us": [0, 3, 5, 6, 7, 8, 12, 17, 18, 20, 22, 23, 25, 26, 27, 28, 30, 32, 35, 36, 38, 40, 41, 42, 43, 44, 45, 48, 51, 52, 54, 56, 59, 60, 62, 65, 66, 67, 69, 74, 75, 77, 81, 87, 88, 89, 90, 91, 95, 96, 98, 100, 101, 102, 106, 107, 109, 110, 112, 113, 114, 115, 116, 118, 120, 121, 122, 124, 125, 126, 127, 130, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 152, 155, 157, 159, 160], "gobject": [0, 5, 17, 18, 19, 22, 25, 44, 85, 93, 95, 106, 107, 115, 117, 118, 119, 121, 122, 125, 128, 143, 144, 145, 147, 154, 159], "type": [0, 3, 6, 7, 16, 17, 22, 28, 29, 30, 34, 35, 36, 38, 39, 40, 41, 44, 48, 49, 50, 51, 55, 61, 65, 66, 68, 71, 72, 73, 74, 75, 78, 81, 91, 95, 106, 107, 108, 110, 113, 114, 115, 117, 118, 121, 122, 123, 124, 125, 126, 130, 131, 134, 135, 136, 137, 138, 142, 143, 144, 145, 146, 147, 150, 151, 162], "system": [0, 1, 5, 20, 45, 48, 52, 55, 86, 87, 94, 95, 96, 99, 106, 109, 112, 118, 121, 125, 126, 130, 131, 134, 136, 138, 139, 145, 147, 152], "creat": [0, 1, 5, 6, 8, 12, 18, 20, 21, 24, 32, 36, 41, 44, 46, 69, 86, 102, 107, 110, 112, 115, 121, 123, 128, 130, 131, 134, 138, 139, 142, 144, 152, 153, 155, 157, 158, 161], "class": [0, 1, 3, 5, 6, 7, 8, 20, 22, 28, 30, 32, 38, 39, 43, 48, 50, 51, 52, 57, 58, 61, 62, 63, 68, 71, 75, 77, 83, 107, 108, 109, 110, 112, 117, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 132, 134, 136, 137, 138, 139, 141, 142, 146, 150, 154, 161], "interfac": [0, 6, 7, 8, 20, 62, 85, 94, 98, 108, 116, 117, 118, 122, 126, 127, 129, 136, 145, 146, 154, 155], "declar": [0, 3, 6, 20, 36, 38, 48, 57, 66, 68, 110, 112, 113, 115, 118, 122, 123, 124, 125, 126, 131, 134, 143, 151], "The": [0, 1, 2, 3, 6, 7, 8, 12, 16, 17, 20, 21, 22, 24, 26, 28, 29, 30, 32, 34, 35, 36, 41, 42, 43, 44, 45, 46, 48, 49, 52, 54, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 73, 79, 85, 86, 87, 89, 92, 94, 96, 97, 98, 100, 107, 109, 112, 113, 114, 115, 118, 120, 121, 122, 123, 124, 125, 126, 127, 130, 131, 132, 133, 134, 135, 136, 137, 138, 140, 142, 143, 144, 146, 147, 150, 151, 153, 154, 155, 156, 157, 161, 162], "syntax": [0, 5, 20, 21, 50, 59, 62, 90, 94, 98, 99, 106, 107, 108, 115, 116, 120, 121, 122, 125, 131, 132, 133, 136], "similar": [0, 18, 20, 21, 48, 74, 94, 106, 107, 115, 121, 130, 134, 136, 142], "modifi": [0, 8, 18, 30, 39, 55, 62, 66, 94, 115, 118, 121, 123, 124, 127, 135, 141, 142], "better": [0, 20, 21, 22, 30, 36, 43, 94, 122, 143, 157], "fit": [0, 12, 94, 109, 112], "support": [0, 3, 21, 41, 46, 87, 94, 97, 98, 99, 106, 112, 115, 118, 119, 131, 132, 133, 138, 143, 144, 147, 150], "modern": [0, 95, 106, 134, 144], "languag": [0, 1, 15, 21, 34, 46, 95, 99, 102, 104, 106, 107, 108, 109, 110, 111, 112, 118, 123, 125, 126, 134, 146, 147, 157, 162], "featur": [0, 1, 15, 20, 21, 38, 94, 98, 106, 107, 112, 115, 118, 125, 133, 134, 147, 149, 150, 151], "follow": [0, 17, 18, 20, 21, 22, 23, 27, 28, 30, 38, 40, 44, 48, 52, 61, 62, 65, 66, 69, 74, 80, 86, 96, 109, 112, 115, 118, 121, 123, 125, 126, 130, 135, 137, 138, 139, 142, 150, 153, 154, 155, 162], "properti": [0, 3, 6, 7, 20, 30, 59, 62, 66, 71, 94, 107, 112, 117, 124, 126, 131, 132, 136, 143, 145, 146], "signal": [0, 6, 7, 20, 21, 94, 117, 122, 135, 145, 146, 161], "foreach": [0, 6, 62, 110, 114, 136, 137], "lambda": [0, 83, 113, 115, 121], "express": [0, 6, 8, 39, 63, 82, 83, 94, 112, 113, 115, 121, 129, 148], "infer": [0, 39, 108, 115, 143], "local": [0, 18, 32, 90, 112, 115, 135, 146, 153, 154], "variabl": [0, 1, 3, 5, 8, 17, 18, 21, 28, 30, 58, 62, 63, 65, 71, 74, 94, 110, 112, 114, 115, 122, 129, 131, 132, 133, 135, 141, 142, 150], "gener": [0, 1, 4, 5, 6, 12, 16, 17, 18, 19, 22, 25, 27, 28, 29, 30, 32, 35, 40, 41, 43, 47, 50, 51, 53, 63, 66, 67, 81, 85, 86, 87, 91, 92, 93, 94, 95, 101, 107, 111, 112, 115, 117, 122, 136, 138, 142, 143, 147, 153, 154, 155, 157, 162], "non": [0, 5, 6, 20, 21, 44, 48, 66, 114, 115, 123, 125, 132, 142, 147, 148], "null": [0, 6, 8, 20, 39, 44, 48, 50, 53, 55, 62, 63, 67, 69, 73, 74, 94, 112, 113, 114, 115, 122, 129, 133, 135, 137, 139, 142, 143, 148, 154, 161], "assist": [0, 27, 106], "memori": [0, 22, 27, 35, 36, 38, 44, 48, 49, 69, 73, 74, 81, 94, 106, 112, 120, 135, 141, 142, 144], "manag": [0, 22, 27, 28, 35, 36, 38, 69, 94, 96, 106, 112, 120, 134, 138, 141, 142, 144], "except": [0, 6, 7, 8, 48, 112, 113, 114, 125, 134, 140, 150], "handl": [0, 5, 7, 20, 21, 28, 34, 36, 42, 44, 50, 98, 111, 121, 130, 132, 140, 144, 160], "modul": [0, 5, 97, 138, 142], "plugin": 0, "design": [0, 5, 20, 62, 66, 94, 100, 122, 134, 140, 142], "allow": [0, 20, 21, 23, 25, 26, 33, 50, 52, 56, 59, 60, 61, 62, 74, 94, 106, 107, 111, 114, 115, 118, 119, 121, 124, 125, 126, 134, 136, 138, 139, 142, 144, 149, 154], "access": [0, 8, 50, 59, 66, 71, 81, 94, 106, 107, 112, 115, 118, 121, 122, 123, 125, 135, 136, 137, 138, 144], "exist": [0, 12, 20, 21, 22, 23, 32, 42, 54, 86, 87, 94, 97, 102, 106, 130, 134, 136, 142], "librari": [0, 1, 3, 5, 12, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 34, 40, 42, 44, 46, 50, 65, 69, 74, 85, 95, 96, 106, 107, 115, 118, 131, 136, 140, 143, 144, 147, 157, 158, 159], "especi": [0, 21, 27, 67, 112], "base": [0, 6, 8, 20, 21, 28, 34, 36, 44, 97, 110, 113, 114, 120, 123, 125, 126, 127, 131, 141, 144, 154, 159], "without": [0, 2, 18, 21, 38, 45, 60, 68, 74, 94, 95, 107, 112, 115, 118, 122, 123, 125, 126, 131, 134, 138, 139, 140, 143, 150, 154], "need": [0, 8, 18, 20, 21, 29, 34, 35, 36, 38, 42, 43, 44, 45, 49, 60, 61, 62, 65, 66, 68, 70, 73, 75, 87, 94, 96, 106, 109, 111, 112, 120, 126, 131, 134, 138, 139, 140, 142, 144, 146, 147, 153, 154, 157, 162], "runtim": [0, 20, 94, 95, 106, 112, 115, 122, 128, 129, 130, 131, 133, 134, 138, 147], "bind": [0, 1, 5, 16, 20, 22, 23, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 39, 40, 41, 43, 51, 53, 54, 58, 60, 62, 64, 65, 66, 69, 72, 74, 77, 87, 93, 116, 143, 145, 151, 152, 158, 159], "all": [0, 3, 5, 6, 7, 8, 17, 20, 21, 22, 28, 34, 38, 39, 41, 42, 48, 49, 55, 59, 61, 64, 69, 87, 94, 96, 106, 107, 109, 112, 114, 115, 118, 121, 123, 124, 125, 130, 131, 133, 134, 136, 138, 146, 150, 151, 153, 154, 155, 157, 162], "an": [0, 1, 5, 6, 8, 17, 18, 20, 21, 22, 23, 26, 28, 29, 30, 31, 32, 34, 35, 36, 39, 40, 42, 43, 44, 46, 47, 48, 50, 52, 54, 58, 62, 63, 65, 67, 68, 69, 74, 75, 79, 80, 82, 86, 90, 91, 97, 98, 106, 107, 110, 112, 113, 114, 115, 118, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 138, 139, 140, 141, 142, 143, 144, 146, 147, 151, 152, 153, 154, 155, 157, 162], "api": [0, 12, 18, 20, 22, 85, 95, 106, 122, 136, 138, 154, 162], "contain": [0, 3, 5, 8, 20, 21, 28, 29, 32, 35, 36, 43, 51, 62, 69, 74, 94, 112, 113, 115, 118, 123, 124, 125, 126, 131, 136, 137, 147, 154, 155], "method": [0, 3, 5, 6, 7, 8, 21, 22, 28, 30, 42, 44, 47, 48, 54, 55, 59, 61, 62, 63, 65, 66, 68, 77, 94, 98, 107, 108, 110, 112, 113, 117, 118, 119, 121, 122, 123, 126, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139, 143, 146, 157, 159], "current": [0, 8, 20, 25, 45, 62, 94, 100, 112, 118, 121, 137, 138, 139, 147, 151, 154], "come": [0, 20, 74, 78, 96, 106, 122, 131, 151], "glib": [0, 5, 15, 18, 20, 21, 22, 28, 29, 30, 42, 44, 75, 91, 94, 106, 107, 112, 115, 118, 121, 122, 123, 124, 125, 126, 130, 131, 133, 134, 138, 139, 140, 145, 146, 147, 155, 157, 160], "gtk": [0, 3, 8, 18, 20, 94, 102, 115, 119, 122, 139], "mani": [0, 20, 21, 50, 62, 94, 95, 98, 100, 102, 109, 112, 140, 142, 145, 155], "other": [0, 1, 5, 6, 21, 36, 42, 43, 45, 46, 66, 69, 87, 91, 95, 96, 98, 99, 100, 102, 106, 107, 108, 111, 113, 115, 118, 120, 123, 125, 131, 134, 135, 136, 137, 138, 140, 141, 142, 154, 155], "from": [0, 1, 5, 6, 7, 8, 12, 17, 20, 22, 27, 30, 32, 35, 36, 39, 42, 43, 44, 46, 48, 52, 59, 85, 87, 91, 98, 100, 101, 106, 107, 108, 115, 118, 121, 122, 123, 125, 126, 128, 130, 131, 134, 135, 136, 139, 140, 142, 143, 144, 145, 146, 147, 153, 154, 155, 157, 158, 162], "gnome": [0, 1, 2, 6, 16, 17, 18, 20, 29, 32, 37, 94, 95, 98, 100, 102, 103, 104, 106, 109, 136], "platform": [0, 1, 36, 94, 106, 109, 112, 116, 147, 162], "written": [0, 12, 18, 22, 23, 25, 49, 54, 62, 65, 69, 85, 95, 97, 106, 109, 136, 138, 142, 154, 155], "applic": [0, 1, 18, 20, 21, 66, 85, 95, 102, 106, 113, 123, 136, 140, 153, 154, 156], "difficult": [0, 20, 44, 106], "onli": [0, 3, 5, 6, 20, 21, 22, 25, 28, 29, 32, 40, 41, 50, 53, 66, 69, 74, 86, 87, 88, 90, 94, 106, 107, 110, 112, 115, 118, 121, 122, 123, 125, 130, 131, 132, 134, 135, 137, 138, 139, 143, 154], "ha": [0, 1, 6, 8, 20, 21, 25, 30, 36, 41, 42, 43, 44, 49, 50, 59, 61, 62, 68, 73, 75, 87, 91, 95, 96, 100, 102, 106, 107, 112, 113, 118, 122, 123, 125, 130, 134, 135, 136, 137, 138, 140, 142, 146, 150, 157], "instal": [0, 15, 17, 20, 25, 32, 86, 87, 94, 95, 107, 136, 152, 153, 154], "mai": [0, 6, 20, 21, 22, 23, 26, 32, 41, 43, 46, 48, 49, 50, 53, 61, 62, 65, 67, 69, 71, 74, 80, 86, 87, 90, 94, 98, 106, 107, 110, 112, 113, 114, 115, 118, 119, 122, 123, 124, 125, 126, 127, 130, 131, 133, 134, 135, 138, 139, 140, 142, 157], "usual": [0, 6, 12, 20, 21, 30, 34, 35, 44, 48, 54, 55, 61, 75, 94, 96, 98, 110, 131, 142, 143, 144, 147], "should": [0, 1, 18, 20, 21, 25, 26, 30, 44, 50, 51, 59, 67, 68, 71, 73, 75, 96, 106, 112, 115, 118, 122, 134, 136, 138, 140, 141, 142, 143, 152, 154, 162], "also": [0, 3, 5, 6, 8, 12, 18, 20, 21, 22, 25, 28, 35, 36, 39, 40, 41, 49, 52, 54, 55, 62, 65, 68, 69, 72, 87, 92, 94, 96, 106, 107, 109, 110, 112, 113, 115, 118, 121, 122, 123, 125, 126, 130, 131, 134, 135, 136, 140, 142, 144, 145, 146, 153, 154, 157, 158, 159, 162], "easili": [0, 5, 21, 48, 69, 83, 94, 118, 121, 142], "possibl": [0, 20, 21, 22, 23, 38, 46, 52, 54, 69, 94, 98, 106, 112, 114, 115, 121, 123, 125, 126, 130, 131, 138, 139, 141, 151, 153, 154], "write": [0, 1, 5, 6, 18, 19, 20, 23, 26, 30, 34, 36, 39, 41, 60, 93, 94, 102, 103, 104, 106, 110, 112, 115, 118, 121, 122, 123, 125, 126, 131, 139, 143, 147, 149, 154], "e": [0, 3, 8, 20, 21, 23, 28, 30, 35, 42, 43, 46, 51, 64, 66, 67, 69, 72, 91, 94, 110, 112, 115, 121, 131, 133, 134, 136, 140, 142, 143, 145, 146, 151, 152, 154, 161], "g": [0, 8, 21, 23, 28, 30, 35, 42, 64, 66, 67, 69, 91, 110, 112, 115, 130, 132, 133, 140, 142, 143, 144, 145, 151, 152, 154, 161], "parser": [0, 4, 5, 7, 8, 21, 94, 102], "so": [0, 1, 2, 5, 6, 8, 20, 21, 22, 25, 30, 36, 39, 40, 41, 42, 43, 44, 50, 52, 59, 65, 69, 71, 74, 94, 106, 110, 111, 112, 115, 118, 122, 123, 124, 125, 126, 130, 131, 134, 135, 138, 139, 140, 147, 151, 152, 154, 157, 161], "time": [0, 20, 21, 34, 36, 49, 71, 77, 94, 106, 112, 117, 118, 121, 122, 130, 138, 139, 140, 141, 144, 147, 151, 154], "inform": [0, 1, 8, 18, 20, 21, 33, 36, 40, 46, 48, 61, 71, 94, 100, 106, 112, 115, 117, 122, 134, 139, 152, 153, 157, 158, 161], "avail": [0, 3, 21, 44, 91, 96, 100, 106, 112, 118, 125, 147, 162], "when": [0, 6, 8, 12, 18, 20, 21, 22, 25, 27, 30, 32, 34, 36, 38, 40, 41, 42, 44, 48, 49, 50, 51, 55, 64, 66, 69, 71, 73, 80, 81, 83, 87, 88, 91, 94, 98, 109, 110, 112, 115, 123, 125, 126, 130, 131, 134, 135, 136, 138, 139, 140, 142, 144, 150, 153, 155, 157], "develop": [0, 1, 15, 20, 21, 25, 32, 94, 95, 96, 98, 100, 103, 104], "want": [0, 6, 18, 21, 48, 91, 94, 96, 107, 109, 114, 118, 119, 122, 126, 131, 134, 136, 144, 154, 157], "high": [0, 1, 95, 106], "level": [0, 1, 21, 35, 95, 106, 145, 152], "program": [0, 2, 12, 20, 28, 30, 36, 40, 46, 62, 69, 85, 95, 97, 104, 106, 109, 112, 115, 118, 121, 122, 130, 132, 134, 136, 138, 139, 142, 144, 153, 154, 156, 157, 161], "can": [0, 1, 2, 5, 6, 8, 12, 16, 17, 18, 20, 21, 22, 23, 25, 28, 30, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 50, 51, 52, 54, 55, 58, 59, 61, 62, 64, 66, 68, 69, 72, 74, 75, 76, 77, 79, 80, 85, 86, 90, 91, 92, 96, 98, 102, 106, 107, 109, 110, 112, 113, 115, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 151, 152, 153, 154, 157, 159, 161, 162], "t": [0, 3, 6, 7, 8, 12, 20, 22, 30, 36, 43, 52, 53, 57, 61, 62, 69, 76, 83, 87, 96, 106, 107, 109, 110, 112, 115, 118, 121, 125, 134, 137, 138, 142, 143, 151, 157], "don": [0, 3, 6, 7, 8, 12, 96, 112, 115, 134, 142], "java": [0, 106, 109, 112, 115, 119, 121, 122, 123, 125, 126, 130, 131, 134, 136], "variou": [0, 27, 38, 64, 92, 130, 131, 136, 155], "reason": [0, 21, 36, 94, 106, 107, 112, 119, 121, 129, 142, 143], "thei": [0, 6, 12, 20, 21, 25, 28, 36, 41, 43, 44, 46, 49, 50, 61, 68, 72, 74, 77, 83, 94, 98, 106, 109, 110, 112, 113, 115, 116, 125, 126, 131, 136, 139, 140, 141, 142, 143, 145, 148, 153], "ar": [0, 1, 2, 3, 5, 6, 7, 8, 12, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30, 32, 34, 36, 38, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 53, 55, 61, 62, 64, 66, 67, 68, 69, 71, 72, 74, 75, 78, 79, 83, 88, 90, 91, 92, 94, 95, 96, 98, 100, 106, 107, 109, 110, 111, 112, 113, 115, 116, 118, 120, 121, 122, 123, 125, 128, 130, 131, 133, 134, 135, 136, 137, 138, 140, 142, 143, 144, 145, 146, 147, 148, 150, 152, 153, 154, 155, 157, 162], "stuck": 0, "complex": [0, 73, 75, 149], "object": [0, 5, 7, 8, 20, 22, 34, 36, 38, 43, 61, 62, 66, 69, 77, 78, 80, 106, 107, 110, 112, 113, 114, 115, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 134, 135, 136, 137, 138, 140, 141, 142, 144, 146, 151, 154, 157, 161, 162], "orient": [0, 8, 22, 106, 112, 115, 118, 122], "rapidli": 0, "while": [0, 6, 20, 21, 23, 38, 41, 44, 62, 94, 114, 124, 125, 130, 143], "maintain": [0, 1, 5, 17, 20, 21, 106], "standard": [0, 17, 62, 122, 133, 136, 137, 138, 147, 152, 154, 162], "abi": [0, 95], "keep": [0, 8, 18, 20, 43, 52, 94, 106, 112, 141, 161], "requir": [0, 5, 6, 18, 20, 21, 26, 36, 39, 62, 67, 90, 94, 95, 96, 98, 106, 107, 109, 115, 121, 123, 125, 126, 129, 130, 133, 134, 139, 143, 147, 153, 154, 158], "low": [0, 94], "same": [0, 6, 7, 20, 21, 25, 26, 32, 42, 49, 50, 52, 64, 71, 72, 74, 94, 98, 107, 109, 111, 112, 113, 115, 118, 119, 120, 121, 125, 126, 127, 130, 134, 135, 136, 138, 139, 142, 152], "wai": [0, 5, 12, 18, 20, 21, 22, 28, 43, 53, 55, 66, 67, 79, 82, 83, 87, 92, 94, 106, 109, 111, 115, 118, 121, 122, 125, 126, 131, 134, 135, 136, 138, 139, 140, 142, 144, 149, 153, 157], "nativ": [0, 21, 95, 106], "accept": [0, 5, 6, 18, 48, 130, 139], "part": [0, 1, 5, 6, 20, 21, 34, 36, 44, 76, 107, 109, 110, 112, 114, 115, 118, 123, 134, 144, 152], "suffer": 0, "higher": 0, "which": [0, 1, 4, 5, 6, 7, 8, 17, 18, 20, 21, 23, 28, 32, 35, 43, 44, 46, 48, 50, 56, 58, 61, 68, 69, 74, 79, 91, 94, 106, 107, 110, 112, 113, 114, 115, 118, 119, 121, 122, 124, 125, 126, 128, 130, 131, 134, 138, 139, 140, 142, 147, 151, 152, 154, 157, 161, 162], "some": [0, 6, 7, 12, 20, 21, 36, 38, 51, 55, 59, 63, 64, 69, 90, 98, 102, 106, 107, 112, 115, 118, 122, 125, 126, 129, 131, 134, 136, 137, 138, 139, 140, 142, 146, 148, 157], "situat": [0, 20, 22, 44, 59, 69, 125, 138, 145, 157], "produc": [0, 5, 20, 22, 27, 51, 52, 94, 109, 115], "you": [0, 3, 5, 6, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 35, 48, 52, 65, 70, 77, 86, 87, 89, 90, 91, 96, 106, 107, 109, 110, 112, 114, 115, 118, 119, 120, 122, 123, 124, 125, 126, 127, 128, 130, 131, 133, 134, 135, 136, 138, 139, 141, 142, 143, 144, 146, 149, 150, 151, 153, 154, 156, 157, 162], "ve": [0, 70, 96, 109], "your": [0, 6, 17, 18, 20, 21, 22, 23, 25, 26, 52, 62, 86, 87, 92, 94, 96, 109, 112, 118, 120, 122, 126, 130, 136, 141, 142, 143, 146, 151, 153, 154, 157], "directli": [0, 17, 28, 46, 48, 72, 106, 107, 112, 115, 118, 126, 128, 136, 145, 154, 159], "won": [0, 109, 112, 151], "look": [0, 6, 8, 18, 20, 21, 22, 25, 39, 43, 48, 90, 94, 109, 125, 131, 138], "differ": [0, 2, 5, 6, 13, 20, 21, 22, 30, 32, 38, 39, 44, 48, 50, 59, 64, 90, 94, 95, 98, 106, 109, 111, 112, 113, 115, 118, 119, 124, 125, 126, 127, 131, 135, 136, 140, 144, 145, 147], "than": [0, 3, 6, 8, 20, 21, 22, 30, 34, 36, 43, 51, 52, 86, 94, 98, 106, 114, 115, 118, 122, 124, 126, 134, 136, 138, 142, 145, 146, 157], "ani": [0, 18, 20, 21, 36, 39, 41, 43, 47, 48, 50, 52, 66, 72, 73, 86, 87, 92, 94, 96, 100, 106, 110, 112, 113, 114, 115, 118, 121, 123, 124, 125, 126, 131, 134, 135, 136, 137, 138, 139, 140, 142, 150, 153, 154, 158], "There": [0, 5, 12, 18, 20, 21, 22, 34, 35, 41, 43, 44, 50, 64, 66, 78, 91, 94, 98, 109, 113, 115, 118, 122, 123, 124, 125, 133, 134, 140, 142], "distribut": [0, 2, 12, 19, 20, 25, 26, 93, 94, 96, 100, 154, 156], "tarbal": [0, 154], "addit": [0, 5, 20, 26, 32, 87, 95, 98, 112, 119, 122, 140, 154], "run": [0, 5, 6, 15, 16, 17, 18, 20, 36, 40, 86, 98, 106, 109, 112, 114, 117, 121, 125, 130, 131, 134, 138, 139, 140, 146, 151, 154, 155, 157, 161], "build": [0, 1, 3, 5, 16, 20, 21, 22, 25, 32, 98, 99, 153, 154, 156, 157], "depend": [0, 5, 20, 21, 22, 36, 38, 43, 49, 75, 78, 94, 113, 131, 138, 147, 152, 153], "user": [0, 1, 20, 21, 34, 44, 46, 61, 63, 98, 118, 122, 136, 139], "goal": [1, 15, 126], "thi": [1, 5, 6, 7, 8, 12, 16, 17, 18, 20, 21, 22, 25, 26, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 50, 52, 53, 54, 55, 56, 62, 64, 66, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 86, 87, 88, 89, 90, 92, 94, 95, 96, 98, 102, 107, 109, 110, 112, 113, 114, 115, 118, 119, 121, 122, 123, 124, 125, 126, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 157, 161, 162], "document": [1, 15, 20, 22, 23, 24, 26, 44, 53, 71, 85, 86, 87, 89, 90, 91, 92, 93, 94, 98, 100, 101, 106, 111, 131, 136, 139, 154, 162], "provid": [1, 6, 20, 21, 27, 28, 43, 44, 58, 61, 62, 94, 96, 98, 100, 102, 106, 113, 115, 121, 122, 124, 125, 126, 134, 136, 137, 143, 162], "singl": [1, 3, 20, 22, 27, 28, 29, 30, 38, 39, 69, 94, 112, 122, 131, 138, 140], "point": [1, 6, 12, 20, 21, 26, 27, 35, 40, 52, 72, 106, 107, 110, 112, 118, 119, 131, 134, 139, 140, 142, 144], "interest": [1, 5, 18, 21, 122, 135], "improv": [1, 92, 94], "vala": [1, 2, 3, 7, 8, 15, 16, 17, 22, 23, 25, 27, 28, 30, 32, 33, 36, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 60, 61, 62, 65, 66, 67, 68, 69, 74, 76, 77, 79, 82, 83, 85, 86, 87, 90, 92, 96, 97, 98, 100, 101, 102, 107, 109, 110, 111, 112, 113, 114, 115, 116, 118, 119, 120, 121, 122, 123, 125, 126, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 140, 141, 142, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 162], "hope": 1, "encourag": [1, 21, 106], "more": [1, 5, 6, 8, 18, 20, 21, 22, 30, 34, 36, 38, 39, 54, 67, 73, 75, 77, 80, 86, 92, 94, 95, 98, 100, 102, 106, 109, 112, 115, 118, 120, 121, 122, 124, 125, 126, 133, 134, 135, 138, 139, 140, 144, 145, 149, 155, 156, 157, 162], "contribut": [1, 16, 18, 46, 88], "find": [1, 6, 8, 18, 21, 25, 39, 86, 87, 100, 112, 125, 138, 162], "fix": [1, 22, 74, 81, 112, 143], "bug": [1, 20, 62, 82, 94], "test": [1, 17, 18, 21, 22, 23, 25, 30, 32, 33, 98, 113, 114, 115, 121, 130, 134, 136, 138, 140, 142, 148, 153, 154], "case": [1, 6, 8, 12, 18, 20, 22, 27, 28, 29, 42, 44, 49, 50, 58, 63, 66, 67, 73, 80, 81, 94, 107, 109, 110, 112, 113, 114, 115, 122, 125, 126, 130, 131, 135, 138, 139, 140, 141, 142, 143, 145, 150, 151, 155, 157], "implement": [1, 3, 6, 8, 20, 43, 61, 62, 94, 98, 100, 107, 115, 117, 118, 120, 121, 122, 124, 126, 129, 130, 134, 135, 136, 137, 144, 145, 154], "new": [1, 3, 6, 8, 17, 20, 22, 30, 32, 38, 42, 44, 55, 57, 62, 74, 86, 90, 106, 107, 108, 110, 115, 118, 119, 121, 122, 124, 125, 126, 127, 128, 130, 131, 134, 135, 136, 137, 138, 139, 142, 144, 146, 151, 154, 157, 162], "In": [1, 5, 6, 8, 15, 20, 21, 29, 30, 34, 41, 42, 44, 46, 51, 62, 67, 69, 75, 77, 80, 88, 90, 94, 107, 109, 110, 112, 113, 114, 115, 121, 122, 123, 125, 130, 131, 134, 135, 136, 138, 139, 140, 141, 142, 143, 144, 145, 152, 153], "opinion": 1, "": [1, 3, 5, 6, 7, 8, 12, 16, 18, 20, 21, 22, 25, 26, 27, 28, 30, 33, 43, 44, 47, 48, 50, 52, 55, 56, 62, 65, 66, 68, 69, 72, 74, 83, 85, 90, 94, 96, 100, 107, 110, 112, 113, 115, 118, 120, 121, 122, 125, 126, 128, 130, 131, 134, 136, 138, 140, 141, 142, 143, 144, 145, 146, 147, 150, 154, 157, 158], "author": [1, 2, 3, 17, 26, 94], "qualiti": [1, 16], "1": [1, 2, 6, 15, 17, 20, 21, 33, 41, 42, 43, 48, 52, 66, 69, 81, 86, 90, 91, 94, 97, 102, 112, 114, 115, 119, 122, 133, 135, 136, 137, 141, 149, 150, 152, 153, 154, 157], "0": [1, 6, 15, 17, 18, 20, 21, 28, 33, 41, 42, 43, 52, 62, 86, 90, 91, 94, 107, 112, 114, 115, 118, 121, 125, 133, 134, 136, 137, 140, 141, 143, 146, 149, 150, 152, 153, 154, 157], "import": [1, 5, 6, 8, 30, 34, 39, 40, 43, 44, 50, 102, 106, 107, 115, 121, 125, 134, 135, 136, 139, 144, 154], "futur": [1, 148], "becaus": [1, 5, 6, 8, 20, 21, 22, 40, 48, 94, 98, 107, 113, 119, 121, 126, 127, 130, 138, 140, 142, 145, 147, 157], "simplifi": [1, 94, 138], "task": [1, 109, 113, 140], "excel": 1, "neutral": 1, "necessari": [1, 3, 6, 12, 20, 94, 115, 133, 140, 154], "next": [1, 20, 22, 43, 62, 73, 121, 137, 140, 141, 153, 154], "fresh": 1, "easi": [1, 20, 21, 22, 94, 98, 126], "read": [1, 6, 20, 21, 22, 30, 41, 43, 49, 53, 98, 102, 112, 122, 125, 131, 132], "name": [1, 3, 6, 7, 8, 20, 21, 24, 25, 26, 27, 28, 32, 43, 45, 59, 62, 65, 69, 71, 74, 76, 86, 87, 91, 94, 96, 98, 107, 109, 110, 112, 113, 115, 118, 119, 122, 124, 125, 126, 127, 128, 131, 134, 137, 138, 146, 152, 153, 155, 162], "descript": [1, 7, 32, 34, 88, 90, 91, 122, 154, 155, 162], "one": [1, 3, 5, 8, 17, 18, 20, 21, 26, 34, 38, 39, 41, 43, 44, 49, 52, 62, 90, 98, 106, 112, 113, 114, 115, 118, 121, 122, 123, 124, 125, 126, 129, 130, 131, 134, 137, 138, 140, 141, 143, 144, 145, 153, 161], "often": [1, 3, 21, 29, 32, 41, 42, 49, 55, 61, 66, 69, 71, 73, 74, 77, 94, 98, 106, 115, 125, 140, 143], "feel": [1, 77, 92, 106], "what": [1, 6, 7, 12, 13, 21, 34, 48, 66, 107, 112, 118, 121, 122, 123, 126, 130, 138, 142, 153, 157], "suppos": [1, 4, 6, 17, 52, 116, 122], "do": [1, 6, 18, 20, 21, 22, 28, 30, 36, 41, 43, 46, 47, 50, 55, 61, 62, 66, 74, 83, 106, 109, 112, 114, 115, 118, 120, 121, 122, 125, 126, 130, 131, 135, 138, 139, 140, 142, 149, 155, 157, 161], "spars": 1, "comment": [1, 3, 6, 18, 20, 26, 32, 85, 91, 108, 154], "problem": [1, 18, 20, 21, 46, 55, 119, 122, 126, 134, 138, 140, 142], "howev": [1, 5, 6, 20, 22, 34, 35, 52, 55, 69, 83, 86, 94, 107, 110, 112, 115, 119, 129, 133, 134, 138, 140, 141, 142, 145, 151], "inevit": 1, "long": [1, 6, 21, 26, 30, 32, 88, 106, 112, 122, 137, 140, 142], "its": [1, 5, 6, 8, 20, 27, 48, 49, 86, 92, 98, 102, 106, 110, 115, 118, 122, 123, 124, 125, 126, 128, 129, 130, 134, 136, 138, 140, 141, 147, 161], "call": [1, 3, 5, 6, 7, 8, 20, 25, 27, 28, 32, 34, 44, 45, 48, 51, 54, 56, 61, 62, 65, 66, 68, 73, 75, 86, 94, 98, 107, 110, 112, 115, 118, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 134, 135, 137, 139, 140, 142, 143, 146, 154, 162], "stack": [1, 20, 34, 35, 74, 95, 112, 115, 122], "deep": [1, 121], "view": [1, 86, 87, 91, 95, 132], "how": [1, 3, 5, 7, 18, 20, 22, 30, 32, 34, 35, 36, 41, 88, 92, 102, 106, 109, 112, 115, 116, 126, 130, 131, 135, 138, 142, 144, 153, 154, 155, 161, 162], "put": [1, 3, 17, 20, 46, 55, 69, 109, 112, 115, 136, 140], "togeth": [1, 5, 20, 109, 112, 131], "been": [1, 6, 20, 25, 30, 36, 49, 55, 87, 91, 96, 100, 125, 134, 146, 157], "port": [1, 96], "docbook": 1, "wiki": [1, 18, 37, 90, 94, 95, 102, 136], "order": [1, 15, 20, 21, 27, 52, 66, 112, 113, 114, 115, 118, 121, 130, 133, 134, 136, 138, 140, 142, 144, 152, 154], "team": [1, 21], "up": [1, 8, 18, 20, 21, 22, 25, 26, 78, 106, 115, 123, 134, 140, 142, 153], "date": [1, 3, 106], "latest": [1, 20, 94, 157], "releas": [1, 21, 74, 120], "complet": [1, 20, 39, 98, 100, 106, 112, 134, 140, 162], "text": [1, 3, 40, 98, 102, 106, 109, 112, 115, 134, 140, 142, 154], "gnu": [1, 17, 102, 161], "free": [1, 26, 34, 36, 43, 44, 49, 58, 66, 67, 73, 75, 77, 92, 106, 144], "found": [1, 5, 8, 20, 21, 25, 72, 94, 131, 134, 154], "here": [1, 6, 18, 20, 21, 30, 83, 98, 112, 115, 116, 125, 126, 131, 134, 135, 138], "http": [1, 2, 6, 16, 17, 18, 20, 29, 37, 90, 92, 94, 101, 136, 140], "www": [1, 140], "org": [1, 2, 6, 16, 17, 18, 20, 21, 24, 29, 37, 94, 95, 98, 136, 146, 150], "fdl": 1, "html": [1, 6, 16, 18, 32, 86, 102], "wa": [1, 6, 12, 18, 20, 21, 37, 73, 94, 100, 112, 121, 122, 126, 130, 134, 138, 142, 151, 154], "origin": [1, 37, 39, 100, 112, 113, 127, 138, 154], "2008": 1, "updat": [1, 20, 92, 94, 122, 124], "2010": 1, "rodnei": [1, 17], "lorrimar": 1, "j\u00fcrg": [1, 2], "billet": [1, 2], "raffael": [1, 2], "sandrini": [1, 2], "philip": 1, "van": 1, "hoof": 1, "section": [1, 18, 20, 21, 22, 27, 35, 37, 40, 43, 71, 88, 94, 112, 114, 115, 119, 122, 128, 134, 152, 153], "id": [1, 3, 20, 99], "au": 1, "luca": 1, "bruno": 1, "lethalman88": 1, "gmail": 1, "com": [1, 16, 26, 101, 140], "project": [1, 17, 18, 20, 21, 37, 92, 95, 97, 98, 106, 109, 136, 157], "environ": [1, 17, 18, 94, 96, 98, 106, 138, 147], "setup": 1, "vapi": [1, 5, 6, 17, 18, 19, 24, 26, 28, 32, 42, 45, 51, 54, 57, 59, 62, 85, 93, 101, 116, 152, 153, 154, 158, 162], "libge": [1, 96, 136, 152], "intern": [1, 6, 18, 112, 118, 121, 122, 136, 138, 140, 141, 153, 157], "tool": [1, 3, 4, 5, 20, 85, 86, 94, 95, 98, 106, 111, 152, 158, 159, 162], "dev": [2, 17, 90, 96], "gitlab": [2, 6, 16, 17, 18, 29], "issu": [2, 18, 20, 21, 86, 92, 94, 134], "princip": 2, "under": [2, 12, 21, 140], "lgpl": 2, "2": [2, 18, 20, 21, 28, 33, 41, 42, 50, 52, 81, 90, 94, 112, 114, 115, 119, 137, 140, 146, 150, 154], "proprietari": 2, "possibli": [2, 7, 22, 73], "readm": [3, 17, 18, 100], "md": [3, 18], "full": [3, 30, 43, 86, 94, 125, 136, 151], "instruct": [3, 17, 34, 96, 107, 114, 116, 138, 155], "download": [3, 32], "git": [3, 17, 18, 25, 32, 92, 94], "A": [3, 6, 8, 15, 21, 22, 29, 30, 31, 32, 40, 41, 43, 47, 48, 68, 80, 90, 94, 96, 102, 106, 107, 109, 110, 112, 114, 115, 118, 121, 122, 124, 125, 126, 133, 134, 135, 136, 138, 139, 142, 143, 147, 150, 152, 154, 161], "list": [3, 5, 6, 7, 20, 21, 29, 32, 46, 55, 62, 67, 70, 87, 91, 94, 98, 109, 112, 115, 125, 130, 132, 136, 137, 141, 153, 157], "lowercas": [3, 150], "separ": [3, 20, 23, 29, 41, 94, 115, 136], "between": [3, 6, 13, 20, 21, 26, 39, 41, 44, 59, 98, 110, 111, 113, 114, 115, 123, 125, 138, 162], "word": [3, 115], "format": [3, 20, 24, 55, 88, 98, 112], "namespaceclassnam": 3, "For": [3, 5, 6, 8, 18, 20, 21, 25, 27, 28, 29, 30, 33, 35, 36, 39, 42, 43, 48, 50, 62, 65, 66, 68, 74, 94, 98, 109, 110, 112, 113, 115, 122, 125, 126, 129, 136, 137, 139, 140, 141, 142, 153, 155, 156, 157, 161, 162], "exampl": [3, 5, 6, 7, 8, 17, 18, 20, 21, 23, 25, 27, 28, 29, 30, 32, 33, 35, 36, 40, 41, 42, 43, 45, 50, 52, 62, 65, 86, 94, 96, 98, 101, 102, 109, 110, 112, 113, 115, 116, 121, 122, 123, 124, 125, 126, 129, 130, 131, 132, 134, 135, 136, 137, 138, 139, 141, 142, 143, 146, 150, 153, 157, 162], "filenam": [3, 20, 44, 48], "formalparamet": [3, 6, 7], "valaformalparamet": 3, "namespac": [3, 5, 6, 7, 8, 24, 29, 30, 33, 45, 51, 107, 108, 109, 133, 153], "instead": [3, 20, 21, 22, 35, 41, 46, 58, 96, 106, 109, 112, 115, 120, 122, 124, 125, 135, 138, 139, 140, 143, 144, 157, 159], "qualifi": [3, 8, 91, 107, 115, 153], "symbol": [3, 4, 5, 6, 7, 18, 21, 23, 24, 32, 33, 88, 89, 91, 94, 98, 100, 115, 153], "itself": [3, 18, 21, 68, 94, 109, 115, 118, 131, 140, 142, 145, 153], "seem": [3, 6, 70], "variat": 3, "tab": [3, 31], "rather": [3, 21, 22, 48, 68, 69, 83, 118, 157], "space": [3, 20, 31, 36, 90, 94, 98], "width": [3, 20], "unspecifi": 3, "4": [3, 34, 41, 42, 90, 94, 112, 115, 137, 150, 154], "work": [3, 5, 6, 17, 20, 22, 25, 45, 48, 55, 59, 62, 70, 83, 92, 94, 98, 109, 112, 113, 116, 118, 122, 125, 130, 131, 134, 156, 162], "well": [3, 6, 8, 18, 20, 30, 69, 74, 94, 107, 112, 115, 124, 142, 150], "hang": [3, 125], "brace": [3, 110, 115], "cuddl": 3, "els": [3, 6, 94, 114, 125, 131, 153, 154], "line": [3, 18, 20, 22, 26, 85, 86, 90, 94, 96, 98, 101, 107, 109, 111, 112, 115, 126, 144, 146, 150, 152, 161], "block": [3, 6, 98, 110, 112, 114, 122, 128, 131, 134, 138], "identifi": [3, 6, 18, 20, 26, 30, 35, 40, 60, 98, 107, 110, 112, 113, 118, 130], "seper": 3, "underscor": [3, 110, 115, 122], "camelcas": [3, 115, 146], "enum": [3, 6, 7, 22, 28, 30, 38, 39, 50, 51, 72, 112], "member": [3, 6, 41, 44, 51, 78, 112, 115, 118, 121, 123, 125, 130, 131, 138, 144, 146, 162], "constant": [3, 6, 7, 20, 28, 30, 34, 35, 39, 41, 42, 63, 74, 94, 112], "all_cap": 3, "hungarian": 3, "notat": [3, 154], "implicit": [3, 40, 113, 123], "var": [3, 6, 30, 62, 79, 80, 94, 112, 115, 119, 122, 124, 125, 127, 130, 136, 137, 138, 139, 140, 143, 146, 150, 154], "foo": [3, 20, 21, 28, 29, 30, 32, 41, 43, 44, 48, 50, 52, 53, 61, 65, 66, 69, 72, 73, 74, 75, 76, 79, 80, 81, 83, 110, 112, 115, 125, 127, 128, 133, 136, 142, 143, 144, 150, 161, 162], "No": [3, 31, 34, 38, 118, 124], "length": [3, 38, 48, 52, 55, 63, 74, 78, 112, 115, 132], "limit": [3, 21, 94, 115, 118, 125], "function": [3, 6, 7, 8, 21, 22, 23, 25, 27, 28, 30, 35, 36, 38, 39, 41, 43, 44, 46, 48, 49, 51, 52, 53, 54, 55, 57, 58, 61, 62, 65, 66, 67, 69, 71, 77, 79, 80, 86, 89, 94, 98, 107, 109, 115, 124, 126, 131, 136, 137, 143, 144, 146, 154, 157, 162], "paramet": [3, 6, 7, 8, 20, 22, 27, 39, 46, 47, 49, 50, 52, 53, 55, 62, 65, 66, 68, 80, 81, 91, 107, 109, 115, 121, 131, 132, 133, 134, 138, 142, 162], "open": [3, 16, 18, 26, 31, 44, 86, 98, 146], "parenthesi": [3, 31, 98, 112], "get": [3, 6, 15, 20, 22, 34, 61, 62, 65, 69, 77, 91, 96, 107, 112, 121, 122, 124, 125, 126, 128, 130, 131, 134, 136, 137, 138, 142, 144, 146, 155], "default": [3, 6, 16, 20, 21, 30, 43, 46, 47, 49, 52, 61, 65, 66, 68, 81, 112, 113, 114, 115, 117, 118, 122, 124, 135, 136, 147, 151, 157], "semicolon": 3, "If": [3, 7, 8, 18, 20, 21, 22, 23, 25, 28, 32, 36, 46, 48, 49, 52, 53, 56, 58, 62, 66, 67, 68, 69, 70, 71, 73, 75, 85, 86, 94, 96, 98, 107, 109, 112, 115, 119, 122, 125, 129, 131, 133, 134, 136, 137, 138, 140, 141, 142, 143, 151, 157], "have": [3, 6, 7, 8, 15, 17, 20, 21, 22, 25, 26, 29, 30, 32, 35, 38, 41, 43, 44, 49, 50, 52, 53, 55, 61, 62, 66, 68, 69, 71, 74, 75, 81, 82, 83, 100, 106, 107, 109, 110, 112, 115, 118, 119, 120, 122, 123, 125, 126, 127, 131, 133, 134, 135, 136, 137, 138, 139, 142, 143, 144, 146, 154, 157], "attribut": [3, 6, 18, 23, 24, 29, 30, 42, 45, 46, 52, 55, 56, 57, 58, 59, 61, 66, 69, 108, 122, 146], "own": [3, 6, 17, 20, 21, 27, 34, 38, 39, 49, 52, 58, 61, 68, 69, 73, 78, 79, 80, 90, 92, 110, 112, 118, 120, 123, 124, 125, 135, 136, 140, 142], "javadoc": 3, "top": [3, 18, 21, 92, 106, 118], "copyright": [3, 26], "20yi": 3, "holder": [3, 62, 75], "email": [3, 26, 150], "address": [3, 26, 35, 126, 144, 150], "licens": [3, 24], "programm": [3, 4, 22, 30, 41, 46, 49, 50, 74, 110, 114, 115, 118, 121, 122, 126, 133, 140, 143], "best": [4, 20, 28, 41, 44, 53, 55, 62, 81, 98, 106, 138, 154], "place": [4, 28, 36, 46, 51, 55, 94, 113, 115, 130, 134, 138], "start": [4, 22, 26, 39, 69, 85, 87, 94, 107, 110, 112, 137, 138, 139, 140, 146, 150, 161], "know": [4, 7, 20, 22, 35, 36, 43, 56, 66, 94, 109, 110, 112, 121, 130, 138, 142, 157], "nutshel": 4, "semant": [4, 5, 6, 8, 22, 30, 49, 50, 66, 74, 94], "analyz": [4, 5, 6, 8, 56], "resolut": 4, "flow": [4, 5, 6], "link": [4, 5, 8, 21, 91, 94, 95, 109, 141, 147, 152, 153, 157], "small": [5, 144, 147], "shell": [5, 157], "around": [5, 20, 59, 77, 83, 94, 112, 115, 139], "libvala": [5, 16, 98, 109], "argument": [5, 6, 7, 20, 21, 27, 46, 47, 51, 63, 65, 69, 94, 98, 107, 112, 113, 115, 118, 121, 131, 132, 133, 135, 138, 140], "locat": [5, 12, 21, 35, 38, 98, 109, 115, 135, 152], "drive": [5, 140], "pars": [5, 6, 7, 8, 94, 98, 112, 143], "error": [5, 8, 20, 44, 61, 62, 86, 94, 96, 98, 101, 112, 115, 125, 132, 133, 138, 142, 147, 151], "check": [5, 8, 15, 17, 20, 25, 41, 50, 55, 67, 71, 75, 101, 112, 113, 114, 115, 128, 129, 133, 134, 138, 139, 143, 151], "report": [5, 8, 21, 98, 101, 112, 134], "gcc": [5, 96, 154], "done": [5, 18, 20, 21, 22, 38, 40, 41, 49, 54, 112, 125, 138, 140], "valacompil": 5, "These": [5, 21, 27, 36, 41, 44, 45, 61, 94, 98, 110, 111, 112, 113, 126, 131, 135, 136, 139, 152, 153, 154, 162], "normal": [5, 12, 20, 28, 138, 140, 142, 144], "optioncontext": 5, "most": [5, 6, 12, 20, 21, 28, 34, 41, 44, 46, 50, 58, 61, 64, 66, 79, 94, 98, 106, 107, 110, 111, 112, 115, 116, 118, 126, 130, 138, 144, 145, 162], "instanc": [5, 18, 20, 30, 36, 38, 39, 43, 44, 47, 48, 51, 52, 61, 62, 66, 69, 77, 94, 107, 112, 113, 115, 118, 121, 122, 123, 124, 125, 126, 128, 129, 130, 131, 135, 138, 139, 140, 142, 144, 146], "referenc": [5, 68, 73, 115, 118, 129, 141], "arrai": [5, 8, 38, 39, 48, 50, 52, 55, 63, 67, 69, 71, 78, 107, 108, 113, 114, 115, 136, 143], "veri": [5, 26, 65, 94, 106, 107, 121, 126, 134, 136, 138, 150, 162], "plug": 5, "big": 5, "modular": 5, "make": [5, 15, 16, 17, 18, 20, 21, 22, 23, 28, 30, 32, 36, 44, 48, 50, 52, 54, 62, 77, 83, 86, 94, 95, 96, 98, 106, 110, 115, 122, 125, 130, 140, 142, 145, 150, 152, 153, 154, 155, 158], "extern": [5, 6, 13, 20, 21, 94, 121, 123, 140, 144, 155], "initi": [5, 6, 8, 28, 36, 110, 114, 126, 131], "add": [5, 6, 16, 17, 20, 23, 32, 42, 44, 55, 57, 77, 86, 91, 92, 94, 96, 106, 115, 120, 124, 125, 139, 140, 154, 157], "packag": [5, 18, 20, 21, 25, 32, 86, 87, 96, 100, 109, 118, 146, 153, 157], "profil": [5, 132], "geni": [5, 102], "gir": [5, 12, 18, 20, 85, 101, 154, 159], "everyth": [5, 6, 34, 106, 115], "resolv": [5, 20, 36], "emit": [5, 7, 69, 121, 122, 146], "out": [5, 6, 8, 20, 21, 34, 39, 47, 49, 50, 68, 79, 94, 109, 114, 122, 130, 131, 135, 140, 141, 162], "gidl": [5, 18, 21], "being": [5, 20, 21, 30, 36, 59, 61, 66, 67, 68, 94, 106, 107, 116, 118, 123, 125, 126, 133, 142, 143, 145], "individu": [5, 96, 130, 138], "step": [5, 20, 21, 98, 107, 126, 155], "explain": [5, 20, 88, 106, 107, 113, 126, 141, 152], "later": [5, 6, 7, 8, 26, 35, 43, 107, 112, 114, 115, 120, 122, 128, 142, 152], "first": [5, 18, 20, 21, 22, 32, 41, 46, 51, 52, 66, 71, 86, 90, 96, 106, 112, 113, 114, 115, 121, 134, 138, 140, 154], "data": [5, 6, 30, 35, 36, 38, 43, 46, 51, 52, 67, 68, 69, 75, 76, 79, 80, 81, 91, 107, 108, 113, 115, 118, 123, 125, 130, 135, 136, 138, 140, 141, 150], "structur": [5, 6, 20, 21, 32, 36, 41, 43, 51, 69, 71, 73, 74, 75, 108, 109, 112, 141], "hold": [5, 36, 75, 107, 112, 118, 126, 141], "store": [5, 17, 28, 38, 42, 98, 112, 125, 130, 140, 142, 150], "were": [5, 7, 21, 94, 106, 126, 134, 138, 142, 153], "specifi": [5, 17, 20, 21, 35, 43, 45, 55, 65, 66, 91, 109, 118, 157], "instanti": [5, 94, 110, 115, 119, 124, 125, 130, 136, 162], "refer": [5, 6, 8, 16, 20, 22, 27, 34, 36, 38, 39, 47, 50, 65, 68, 73, 91, 94, 95, 100, 106, 108, 110, 113, 115, 118, 120, 122, 123, 126, 132, 135, 136, 144, 151, 153, 161, 162], "pass": [5, 20, 21, 25, 38, 43, 46, 50, 63, 65, 69, 83, 109, 112, 114, 115, 121, 122, 126, 130, 134, 135, 136, 138, 140, 142, 143, 157], "lot": [5, 21, 22, 30, 55, 106, 109], "effect": [5, 61, 138], "global": [5, 6, 28, 115], "root": [5, 6, 8, 16, 24, 138], "tree": [5, 6, 7, 8, 12, 16, 20, 73, 94, 102, 126, 141], "node": [5, 6, 7, 8, 91, 141], "context": [5, 6, 20, 29, 43, 46, 52, 55, 66, 68, 69, 75, 78, 94, 113, 138, 142, 143], "walk": 5, "depth": [5, 6, 106], "travers": [5, 6, 8, 125], "codevisitor": [5, 6, 7, 8], "pattern": [5, 28, 41, 43, 44, 65, 81, 120, 143, 150], "discuss": [5, 50, 66, 115], "diagram": 5, "abstract": [5, 6, 95, 115, 117, 125, 126], "ast": [5, 6], "built": [5, 8, 16, 17, 18, 21, 130, 140, 153], "see": [5, 6, 18, 20, 21, 25, 27, 29, 32, 35, 37, 49, 62, 65, 66, 71, 82, 86, 87, 91, 94, 96, 98, 100, 109, 115, 124, 130, 139, 140, 153, 156, 158, 159, 162], "destructor": [5, 6, 43, 52, 69, 73, 120], "inherit": [5, 6, 7, 8, 21, 41, 42, 55, 91, 117, 118, 126, 127, 142], "directori": [5, 12, 16, 17, 18, 20, 21, 25, 28, 32, 86, 87, 92, 154], "repres": [5, 21, 112, 115, 122, 133, 154], "ccode": [5, 7, 17, 20, 21, 23, 24, 29, 30, 32, 41, 42, 43, 44, 45, 46, 52, 53, 55, 57, 58, 59, 61, 62, 65, 66, 68, 69, 74, 75, 76, 79, 80, 81, 83, 112, 116, 122], "output": [5, 6, 18, 20, 48, 79, 86, 87, 106, 107, 109, 112, 125, 154, 157], "machineri": 5, "transform": [5, 52, 66, 94, 157], "codegen": 5, "arrang": [5, 140], "visitor": 5, "split": 5, "upon": [5, 48, 122], "probabl": [5, 6, 20, 21, 42, 94, 98, 107, 109, 122, 126, 138, 144], "break": [5, 6, 21, 55, 69, 94, 112, 114, 122, 137, 141, 143], "conceptu": 5, "relat": [5, 28, 98, 107, 115, 134, 148, 153, 162], "understand": [5, 22, 30, 35, 36, 39, 76, 102, 106, 121, 152], "chunk": [5, 49, 115], "suitabl": [5, 94], "modif": [5, 94, 136], "could": [5, 20, 39, 52, 62, 91, 94, 122, 125, 130, 134, 138, 140, 141, 146, 151, 157], "replac": [5, 8, 12, 33, 40, 62, 122, 135, 137, 150, 154], "conceiv": 5, "realist": 5, "intermedi": [5, 62, 109, 154], "frontend": 5, "ey": 6, "thing": [6, 18, 20, 21, 23, 28, 39, 51, 61, 70, 94, 106, 110, 126, 138, 150, 157], "u": [6, 20, 112, 157], "never": [6, 50, 56, 77, 140, 142, 146], "definit": [6, 28, 41, 46, 51, 55, 68, 77, 98, 107, 115, 118, 121, 123, 124, 125, 130, 134, 153, 155], "pretti": [6, 94], "much": [6, 21, 22, 28, 30, 34, 36, 68, 94, 109, 112, 115, 125, 139, 142, 144, 145], "syntact": [6, 39, 61, 62], "correct": [6, 8, 20, 41, 43, 49, 66, 136, 142, 153], "caught": [6, 140], "befor": [6, 12, 21, 31, 32, 40, 48, 50, 69, 94, 106, 109, 112, 114, 122, 124, 126, 131, 138, 140, 142, 145, 150], "3": [6, 18, 20, 40, 41, 42, 50, 67, 80, 90, 91, 94, 112, 114, 115, 135], "classic": [6, 21], "flex": 6, "scanner": [6, 21], "bison": 6, "lalr": 6, "combin": [6, 20, 41, 92, 98, 109, 110, 121], "But": [6, 21, 115, 122], "commit": [6, 32, 58], "eba85a": 6, "hand": [6, 20, 69, 112, 115, 125, 142], "craft": 6, "recurs": [6, 8], "descent": 6, "valapars": 6, "lexer": [6, 102], "valascann": 6, "entri": [6, 94, 107, 136, 152], "75": [6, 115, 143], "empti": [6, 7, 37, 43, 86, 114], "virtual": [6, 21, 106, 117, 125, 126], "each": [6, 7, 18, 20, 36, 39, 88, 91, 102, 106, 109, 112, 114, 118, 125, 126, 128, 130, 131, 134, 135, 136, 141, 153, 156], "kind": [6, 145], "process": [6, 12, 20, 21, 22, 34, 36, 92, 94, 112, 126, 134, 140, 152, 155, 157], "public": [6, 20, 21, 30, 32, 33, 40, 41, 42, 43, 44, 46, 48, 50, 52, 53, 57, 58, 59, 61, 62, 65, 68, 69, 71, 72, 73, 74, 75, 76, 79, 80, 81, 83, 86, 89, 94, 107, 112, 115, 118, 119, 121, 122, 123, 124, 125, 126, 127, 130, 131, 134, 137, 138, 141, 142, 146, 154, 155, 161], "codegener": 6, "codewrit": 6, "flowanalyz": 6, "geniepars": 6, "girpars": [6, 12], "gidlpars": [6, 12], "semanticanalyz": 6, "symbolresolv": [6, 8], "close": [6, 120], "codenod": [6, 8], "group": [6, 20, 21, 28], "superclass": [6, 123, 126], "catchclaus": 6, "datatyp": [6, 8], "memberiniti": 6, "statement": [6, 8, 40, 56, 113, 114, 115, 138, 140, 153], "switchlabel": 6, "usingdirect": 6, "ctype": 6, "delegatetyp": [6, 115], "fieldprototyp": 6, "generictyp": 6, "invalidtyp": 6, "methodtyp": 6, "pointertyp": 6, "referencetyp": 6, "signaltyp": 6, "unresolvedtyp": [6, 8], "valuetyp": 6, "voidtyp": 6, "arraytyp": 6, "classtyp": 6, "errortyp": 6, "interfacetyp": 6, "nulltyp": 6, "objecttyp": 6, "valu": [6, 7, 12, 21, 30, 34, 36, 38, 40, 41, 43, 46, 47, 49, 50, 52, 55, 58, 61, 62, 65, 66, 67, 69, 73, 74, 80, 94, 107, 108, 110, 113, 114, 115, 122, 125, 131, 133, 134, 135, 136, 138, 140, 142, 143], "booleantyp": [6, 7], "enumvaluetyp": 6, "floatingtyp": [6, 7], "integertyp": [6, 7, 42], "structvaluetyp": 6, "addressofexpress": 6, "arraycreationexpress": 6, "assign": [6, 20, 112, 113, 115, 121, 122, 130, 131, 134, 135, 137, 141, 142, 144, 151], "baseaccess": 6, "binaryexpress": 6, "castexpress": 6, "conditionalexpress": 6, "elementaccess": 6, "initializerlist": 6, "lambdaexpress": 6, "liter": [6, 112, 115, 142, 148], "memberaccess": 6, "methodcal": 6, "namedargu": 6, "objectcreationexpress": 6, "pointerindirect": 6, "postfixexpress": 6, "referencetransferexpress": 6, "sizeofexpress": 6, "sliceexpress": 6, "templat": [6, 60, 97, 112, 137], "tupl": 6, "typecheck": 6, "typeofexpress": 6, "unaryexpress": 6, "booleanliter": 6, "characterliter": 6, "integerliter": 6, "listliter": 6, "mapliter": 6, "nullliter": 6, "realliter": 6, "regexliter": 6, "setliter": 6, "stringliter": 6, "breakstat": 6, "continuestat": 6, "declarationstat": 6, "deletestat": 6, "dostat": 6, "emptystat": 6, "expressionstat": 6, "forstat": 6, "ifstat": 6, "lockstat": 6, "loop": [6, 62, 114, 132, 138, 140, 146], "returnstat": 6, "statementlist": 6, "switchstat": 6, "throwstat": 6, "trystat": 6, "unlockstat": 6, "whilestat": 6, "yieldstat": 6, "constructor": [6, 7, 20, 30, 44, 51, 69, 77, 118, 119, 123, 128, 136], "enumvalu": 6, "localvari": 6, "propertyaccessor": [6, 7], "typeparamet": 6, "typesymbol": [6, 8], "unresolvedsymbol": [6, 8], "lockabl": 6, "field": [6, 7, 22, 30, 43, 73, 75, 112, 118, 122, 125, 146, 161], "deleg": [6, 7, 20, 28, 30, 38, 39, 48, 50, 52, 55, 68, 69, 75, 77, 78, 108, 140], "errorcod": 6, "errordomain": [6, 7, 134], "objecttypesymbol": 6, "struct": [6, 7, 22, 28, 30, 38, 39, 44, 48, 50, 51, 53, 57, 58, 61, 63, 75, 76, 79, 83, 108, 112, 118, 122, 145], "last": [6, 8, 46, 55, 107, 111, 115, 126, 143], "least": [6, 36, 143], "scope": [6, 8, 20, 28, 69, 75, 94, 102, 110, 115, 138, 141, 142, 145], "sourcefil": 6, "sourcerefer": 6, "visit": [6, 7, 8, 32], "visit_source_fil": 6, "parent": [6, 8, 20, 34, 38, 43, 50, 72, 73, 77, 91, 125, 126, 138, 141], "special": [6, 8, 50, 55, 59, 66, 111, 118, 122, 131, 133, 137, 145], "children": [6, 7], "number": [6, 18, 21, 29, 38, 78, 87, 90, 91, 94, 96, 98, 100, 101, 112, 113, 114, 115, 118, 121, 125, 131, 134, 137, 143, 147], "two": [6, 20, 21, 36, 42, 44, 66, 74, 79, 90, 91, 92, 94, 100, 112, 113, 114, 115, 118, 119, 121, 123, 125, 126, 134, 137, 138, 140, 147], "accept_children": 6, "let": [6, 36, 122, 131], "act": [6, 30, 46, 51, 53, 125, 138], "overrid": [6, 20, 32, 124, 125, 126, 127, 136, 151], "void": [6, 20, 28, 30, 33, 35, 38, 41, 43, 44, 45, 46, 48, 50, 52, 57, 58, 61, 62, 65, 66, 68, 69, 75, 77, 79, 80, 81, 83, 86, 94, 107, 112, 115, 119, 121, 122, 123, 124, 125, 126, 127, 130, 133, 134, 135, 137, 138, 139, 140, 143, 146, 154, 161], "visit_struct": 6, "am": [6, 17], "themselv": [6, 8, 115, 140, 141], "base_typ": [6, 20], "p": [6, 75, 112, 122, 135], "type_paramet": 6, "f": [6, 48, 50, 53, 61, 65, 66, 68, 72, 80, 112, 115, 125, 144], "m": [6, 106, 125, 150], "prop": 6, "As": [6, 8, 28, 40, 87, 94, 106, 110, 118, 123, 124, 125, 130, 131, 138, 142], "repeatedli": [6, 114], "ask": [6, 8, 96, 142], "whatev": 6, "analysi": [6, 98, 151], "deeper": [6, 106], "hypothet": 6, "xmlgener": 6, "might": [6, 20, 28, 44, 51, 94, 115, 120, 133, 138, 140, 142, 144, 148], "like": [6, 8, 16, 20, 21, 22, 36, 41, 43, 51, 55, 62, 66, 67, 68, 69, 77, 94, 96, 98, 109, 110, 111, 112, 115, 122, 123, 125, 131, 135, 140, 146, 149], "st": 6, "stdout": [6, 94, 107, 112, 113, 114, 115, 118, 120, 121, 122, 124, 125, 126, 128, 130, 131, 134, 137, 138, 139, 143, 146, 150, 154, 161], "printf": [6, 55, 94, 107, 112, 113, 114, 115, 118, 120, 121, 122, 124, 125, 126, 128, 130, 131, 134, 137, 138, 139, 143, 146, 150, 154, 161], "n": [6, 62, 94, 107, 112, 113, 114, 115, 121, 122, 124, 125, 126, 128, 131, 134, 137, 138, 139, 143, 146, 150, 154, 161], "through": [6, 18, 20, 22, 25, 26, 39, 40, 46, 91, 98, 102, 106, 107, 114, 118, 136, 157, 162], "now": [6, 20, 35, 62, 86, 100, 115, 119, 122, 126, 138, 140, 154], "visit_": 6, "needn": 6, "isn": [6, 20, 21, 22, 94, 106], "whole": [6, 109, 118, 130, 140], "everi": [6, 7, 8, 15, 20, 44, 94, 115, 122, 123, 136, 151], "alreadi": [6, 21, 86, 87, 102, 106, 112, 121, 126, 134], "doe": [6, 17, 20, 21, 35, 36, 40, 43, 46, 50, 52, 53, 59, 61, 62, 66, 67, 69, 74, 82, 83, 86, 102, 107, 109, 112, 115, 119, 125, 127, 129, 130, 131, 133, 140, 144], "control": [6, 18, 20, 27, 46, 66, 108, 123, 132, 139, 140, 144], "bounc": 6, "navig": [6, 98], "yourself": [6, 94], "highli": [6, 94], "mention": [6, 7, 21, 44, 49, 145], "spoil": 6, "fun": 6, "too": [6, 74, 92, 94, 106, 154], "go": [6, 12, 20, 68, 94, 106, 107], "detail": [6, 18, 20, 21, 22, 25, 30, 32, 71, 94, 97, 106, 107, 115, 116, 121, 122, 125, 140, 141, 145, 153, 156, 157], "parse_": 6, "throw": [6, 91, 114, 134, 140], "parseerror": 6, "fixm": [6, 7, 17], "sometim": [6, 20, 21, 28, 46, 53, 57, 77, 79, 83, 94], "diverg": 6, "slightli": [6, 28, 67, 73, 75, 90, 115, 119, 131], "option": [6, 20, 21, 28, 80, 98, 107, 115, 121, 123, 134, 136, 140, 147, 152, 154, 157, 161], "termin": [6, 55, 63, 67, 74, 94, 96, 107, 112, 114, 133, 138, 146], "match": [6, 20, 30, 46, 62, 66, 94, 98, 114, 115, 147, 150], "specif": [6, 21, 94, 107, 113, 118, 124, 134, 136, 142, 144, 152, 153, 155], "page": [6, 18, 87, 90, 92, 106, 140, 141, 156], "manual": [6, 16, 18, 19, 20, 21, 25, 27, 34, 44, 85, 93, 94, 95, 115, 120, 144, 157, 162], "index": [6, 18, 62, 86, 112, 136, 137], "parse_fil": 6, "input": [6, 48, 49, 94, 112], "using_direct": 6, "namespace_memb": 6, "parse_using_direct": 6, "parse_symbol_nam": [6, 8], "symbol_part": 6, "namespace_declar": 6, "class_declar": 6, "interface_declar": 6, "struct_declar": 6, "enum_declar": 6, "errordomain_declar": 6, "method_declar": 6, "field_declar": 6, "constant_declar": 6, "attribute_argu": 6, "lambda_express": 6, "conditional_express": 6, "assignment_oper": 6, "get_assignment_oper": 6, "plu": [6, 52, 94, 115], "coalescing_express": 6, "conditional_or_express": 6, "conditional_and_express": 6, "in_express": 6, "inclusive_or_express": 6, "exclusive_or_express": 6, "and_express": 6, "equality_express": 6, "relational_express": 6, "shift_express": 6, "parse_typ": 6, "dynam": [6, 34, 74, 106, 109, 112, 117, 128, 136, 147, 154], "unown": [6, 20, 49, 61, 62, 67, 68, 69, 73, 75, 78, 112, 132, 144], "type_argu": [6, 20], "array_typ": 6, "can_weak": 6, "type_weak": 6, "weak": [6, 94, 132, 142], "array_s": 6, "additive_express": 6, "multiplicative_express": 6, "unary_express": 6, "unary_oper": 6, "primary_express": 6, "get_unary_oper": 6, "open_regex_liter": 6, "this_access": 6, "base_access": 6, "object_or_array_creation_express": 6, "yield_express": 6, "sizeof_express": 6, "typeof_express": 6, "simple_nam": 6, "member_access": 6, "pointer_member_access": 6, "method_cal": [6, 146], "element_access": 6, "post_increment_express": 6, "post_decrement_express": 6, "true": [6, 33, 38, 46, 53, 62, 68, 69, 74, 80, 83, 89, 112, 113, 121, 124, 125, 137, 143], "fals": [6, 20, 38, 41, 42, 43, 44, 46, 65, 66, 79, 80, 83, 112, 113, 122, 125, 137, 139], "integer_liter": 6, "real_liter": 6, "character_liter": 6, "regex_liter": 6, "string_liter": 6, "template_string_liter": 6, "verbatim_string_liter": 6, "parse_argument_list": 6, "ref": [6, 20, 44, 48, 49, 80, 135, 139], "parse_regex_liter": 6, "object_creation_express": 6, "array_creation_express": 6, "object_initi": 6, "member_initi": 6, "parse_member_nam": 6, "member_part": 6, "parse_type_argument_list": 6, "yield": [6, 138, 140], "sizeof": [6, 112], "typeof": [6, 94, 128], "lambda_expression_param": 6, "lambda_expression_bodi": 6, "member_declaration_modifi": 6, "async": [6, 20, 75, 140], "inlin": [6, 115, 121], "static": [6, 8, 28, 44, 47, 58, 69, 86, 90, 98, 107, 108, 115, 118, 121, 122, 123, 124, 125, 130, 131, 134, 138, 147, 151, 154], "constructor_declar": 6, "constructor_declaration_modifi": 6, "construct": [6, 12, 94, 106, 109, 110, 117, 122, 128, 130, 150], "destructor_declar": 6, "access_modifi": 6, "type_declaration_modifi": 6, "class_memb": 6, "delegate_declar": 6, "signal_declar": 6, "property_declar": 6, "privat": [6, 54, 59, 79, 80, 107, 112, 115, 118, 122, 123, 125, 131, 137, 138, 142, 146], "protect": [6, 112, 118, 123, 124, 125], "interface_memb": 6, "parse_type_parameter_list": 6, "struct_memb": 6, "creation_method_declar": 6, "ensur": [6, 26, 30, 45, 96, 107, 112, 114, 124, 125, 129, 133, 135, 136, 138, 151], "param": [6, 91], "delegate_declaration_modifi": 6, "signal_declaration_modifi": 6, "const": [6, 20, 30, 40, 44, 48, 49, 65, 67, 94, 112], "inline_array_typ": 6, "property_declaration_modifi": 6, "property_declaration_part": 6, "property_accessor": 6, "property_get_accessor": 6, "property_set_construct_accessor": 6, "set": [6, 8, 21, 36, 41, 46, 52, 53, 61, 62, 66, 68, 69, 87, 97, 106, 112, 113, 114, 118, 122, 124, 125, 130, 131, 135, 136, 137, 138, 142, 146, 153, 154, 157, 162], "parse_stat": 6, "if_stat": 6, "switch_stat": 6, "while_stat": 6, "for_stat": 6, "foreach_stat": 6, "break_stat": 6, "continue_stat": 6, "return_stat": 6, "yield_stat": 6, "throw_stat": 6, "try_stat": 6, "lock_stat": 6, "delete_stat": 6, "local_variable_declar": 6, "expression_stat": 6, "embedded_stat": 6, "embedded_statement_without_block": 6, "switch": [6, 25, 101, 109, 114, 138, 147, 154, 157], "switch_sect": 6, "do_stat": 6, "for_initi": 6, "for_iter": 6, "statement_express": 6, "continu": [6, 62, 96, 111, 114, 140, 157], "return": [6, 8, 22, 39, 44, 47, 49, 50, 52, 55, 57, 58, 61, 62, 66, 67, 68, 79, 80, 86, 89, 90, 91, 94, 107, 112, 113, 114, 115, 118, 121, 122, 124, 125, 126, 129, 131, 133, 134, 135, 136, 137, 138, 139, 140, 142, 151, 154], "try": [6, 28, 29, 34, 94, 96, 106, 134, 140, 142, 146], "catch_claus": 6, "finally_claus": 6, "catch": [6, 134, 140, 146], "final": [6, 62, 66, 115, 118, 121, 134, 157], "lock": [6, 138], "delet": [6, 94, 142, 144], "local_variable_declart": 6, "local_tuple_declar": 6, "local_vari": 6, "kei": [7, 20, 30, 92, 98, 136, 143], "processor": [7, 40, 138], "purpos": [7, 22, 139, 161], "interpret": [7, 94, 110, 112, 143], "result": [7, 20, 21, 22, 50, 52, 62, 75, 91, 107, 110, 112, 113, 115, 123, 124, 125, 126, 133, 138, 140, 142, 161], "cname": [7, 23, 30, 32, 41, 42, 43, 44, 45, 46, 53, 57, 58, 61, 62, 65, 68, 69, 75, 76, 77, 79, 80], "affect": [7, 90, 98], "condit": [7, 21, 94, 113, 114, 133, 138, 139, 140], "attributeprocessor": 7, "where": [7, 21, 30, 36, 41, 44, 46, 52, 53, 68, 69, 95, 98, 106, 110, 112, 113, 122, 123, 125, 126, 138, 139, 140, 141, 147, 157], "ignore_nod": 7, "codecontext": 7, "simpli": [7, 20, 21, 28, 34, 59, 64, 68, 69, 72, 81, 107, 112, 115, 121, 134, 141, 142], "process_attribut": 7, "insid": [7, 8, 20, 36, 62, 92, 107, 109, 115, 125, 131, 150], "seri": [7, 41], "string": [7, 20, 39, 40, 44, 48, 55, 60, 63, 66, 86, 90, 107, 108, 113, 114, 115, 119, 121, 122, 124, 125, 126, 130, 131, 134, 136, 137, 139, 140, 142, 143, 146, 150, 162], "comparison": [7, 153], "made": [7, 20, 22, 40, 121, 136, 140], "process_ccode_attribut": 7, "pair": [7, 61, 69, 143], "suppli": [7, 69, 109, 134, 138], "set_attribut": 7, "recogn": [7, 22, 137, 143], "deprec": [7, 12, 18, 21, 33, 91, 95, 157], "sinc": [7, 20, 21, 28, 33, 49, 53, 55, 66, 68, 74, 86, 91, 94, 97, 102, 112, 120, 121, 125, 128, 130, 133, 157], "dbu": [7, 15, 116, 146], "compact": [7, 21, 22, 30, 32, 38, 39, 43, 50, 57, 58, 61, 62, 71], "immut": [7, 67, 112], "errorbas": 7, "simpletyp": [7, 21, 42, 65, 112], "flag": [7, 21, 22, 28, 30, 38, 39, 50, 51, 86, 109, 121, 146], "returnsmodifiedpoint": [7, 57], "floatingrefer": 7, "nowrapp": 7, "noreturn": [7, 56], "moduleinit": 7, "creationmethod": 7, "noaccessormethod": 7, "nick": [7, 122], "blurb": [7, 122], "hasemitt": [7, 20], "exchang": 8, "namespacerefer": 8, "addition": [8, 55], "multipl": [8, 20, 35, 77, 83, 94, 96, 109, 112, 115, 117, 119, 130, 137], "likewis": [8, 138], "comput": [8, 52, 53, 98, 136, 144], "etc": [8, 17, 20, 110, 112, 122], "about": [8, 20, 34, 35, 37, 61, 69, 71, 91, 92, 94, 95, 98, 102, 106, 109, 110, 112, 115, 116, 122, 125, 128, 131, 134, 139, 140, 157, 159], "within": [8, 76, 112, 115, 118, 122, 131, 133, 137, 140, 142], "anoth": [8, 20, 36, 41, 48, 91, 112, 114, 115, 116, 118, 122, 123, 124, 125, 135, 138, 140, 142, 143], "determin": [8, 39, 41, 53, 66, 69, 91, 112, 147], "subject": [8, 148], "lifetim": 8, "track": [8, 18, 94, 112], "current_scop": 8, "window": [8, 94, 115, 146], "main_window": 8, "visit_data_typ": 8, "resolve_typ": 8, "resolve_symbol": 8, "wrap": [8, 17, 130], "unresolv": 8, "correspond": [8, 20, 21, 109], "horizont": 8, "child": [8, 77, 138, 141], "search": [8, 100, 113], "ambigu": [8, 115, 118], "give": [8, 22, 25, 35, 62, 90, 94, 109, 112, 115, 119, 134, 140, 157], "One": [8, 38, 55, 80, 92, 94, 122, 145], "visit_variable_declar": 8, "mark": [8, 20, 33, 48, 49, 50, 52, 58, 67, 73, 74, 112, 124, 133, 139, 151], "nullabl": [8, 47, 75, 115, 133, 137, 151], "nullcheck": 8, "describ": [12, 20, 21, 52, 106, 107, 109, 112, 113, 114, 115, 118, 119, 122, 124, 125, 126, 128, 131, 134, 142, 155], "below": [12, 50, 66, 96, 98, 122], "appli": [12, 29, 30, 36, 48, 61, 69, 72, 94, 106, 113], "newli": [12, 113, 115, 138, 142], "chosen": [12, 130], "strategi": [12, 39], "gen": [12, 17, 20, 155, 156], "gi": [12, 20, 21], "vapigen": [12, 17, 18, 20, 21, 25, 94, 155, 156, 159], "prefer": [12, 20, 30, 42, 67, 94, 131, 159], "old": 12, "must": [15, 20, 21, 38, 40, 43, 48, 52, 58, 62, 66, 68, 69, 74, 75, 94, 106, 107, 110, 112, 113, 114, 115, 118, 122, 124, 125, 126, 130, 131, 133, 134, 136, 137, 140, 142, 146, 153, 154], "otherwis": [15, 20, 36, 94, 126], "invalid": [15, 134, 142], "failur": 15, "doc": [16, 17, 18, 20, 32, 86, 106], "main": [16, 18, 26, 28, 29, 30, 36, 86, 90, 94, 97, 104, 105, 107, 115, 119, 121, 122, 124, 125, 127, 130, 132, 134, 137, 138, 140, 143, 146, 154, 161], "rebuild": 16, "cd": [16, 17, 32, 96], "ing": 16, "guid": [16, 18, 20, 21, 22, 28, 84, 87, 95], "github": [16, 101, 102], "lang": [16, 96, 102], "contributor": [16, 95], "rebuilt": 16, "repositori": [16, 18, 21, 25, 26, 32, 85, 92, 94, 95], "anyon": [16, 34], "who": [16, 21, 110, 115, 123, 146], "would": [16, 20, 21, 22, 25, 26, 28, 42, 58, 65, 106, 112, 115, 126, 130, 138, 142, 151, 153], "autotool": [17, 20, 152], "execut": [17, 21, 46, 56, 106, 107, 114, 115, 118, 121, 122, 123, 126, 131, 134, 135, 138, 139, 140], "actual": [17, 20, 21, 38, 44, 48, 61, 106, 111, 112, 121, 124, 125, 126, 135, 154], "lib": [17, 86, 96, 154], "script": [17, 157], "therefor": [17, 20, 94, 115, 118, 121, 125, 126, 130, 131, 135, 136, 142, 144, 145, 152, 153], "debug": [17, 98, 101, 160], "configur": [17, 154], "ac_path_prog": 17, "macro": [17, 21, 69, 94, 97], "choos": [17, 21, 115, 120, 126, 135], "path": [17, 21, 162], "home": [17, 161], "x": [17, 28, 41, 42, 43, 48, 50, 52, 55, 62, 65, 68, 83, 94, 112, 115, 119, 133, 143, 150, 154, 157], "y": [17, 28, 41, 43, 48, 62, 65, 83, 112, 119, 143, 154], "z": [17, 41, 62, 110, 112, 115, 143, 150], "prefix": [17, 28, 30, 73, 110, 112, 113, 115, 122, 142, 154], "properli": [17, 36], "yet": [17, 94, 106, 112, 125, 154], "advantag": [17, 21, 34, 94], "clutter": [17, 20], "solaria": 17, "clone": [17, 18, 32], "l": [17, 62, 112, 143, 154], "acloc": 17, "m4": [17, 21], "config": [17, 21, 25, 96, 152, 153, 154], "log": [17, 18, 122], "introspect": [17, 18, 19, 22, 25, 85, 93, 94, 100, 154, 155, 156], "statu": [17, 140, 146], "stamp": [17, 154], "h1": 17, "autogen": [17, 18, 32], "sh": [17, 18, 32], "sub": [17, 22, 29, 32, 40, 113], "autom4t": 17, "cach": [17, 122], "libtool": [17, 154], "ac": [17, 102], "ltmain": 17, "pc": [17, 25, 152, 154], "changelog": 17, "copi": [17, 20, 21, 23, 26, 34, 38, 39, 44, 49, 62, 112, 115, 135, 140], "depcomp": 17, "makefil": [17, 21], "guess": [17, 94, 107], "gee": [17, 136, 152, 153, 154, 157], "ylwrap": 17, "h": [17, 20, 28, 29, 87, 109, 154], "miss": [17, 20, 73, 94], "mkdir": 17, "buildvala": 17, "collabor": 18, "model": [18, 139], "guidelin": 18, "help": [18, 20, 21, 30, 36, 44, 87, 92, 96, 100, 106, 112, 115, 151, 156], "back": [18, 113, 125, 136, 140], "merg": [18, 92], "request": [18, 32, 92, 112, 130, 134, 139, 144, 157], "fork": 18, "person": [18, 112, 113, 122, 131], "machin": [18, 106, 107, 157], "includ": [18, 20, 21, 24, 25, 26, 27, 32, 34, 44, 46, 48, 51, 55, 66, 68, 69, 73, 74, 79, 100, 101, 102, 106, 113, 118, 129, 130, 139, 140, 147, 150, 153, 154, 156, 161, 162], "attach": [18, 66, 121, 139], "after": [18, 21, 25, 31, 55, 56, 68, 90, 112, 114, 134, 135, 139, 140, 143], "rebas": 18, "interact": [18, 55, 106, 139], "squash": 18, "chang": [18, 20, 21, 36, 44, 46, 47, 50, 61, 62, 66, 91, 94, 98, 106, 113, 122, 126, 135, 138, 148, 155], "push": 18, "forc": [18, 32, 86, 87, 118], "branch": 18, "pick": [18, 20, 25, 26], "show": [18, 20, 32, 41, 91, 94, 98, 107, 126, 138, 146], "them": [18, 20, 21, 28, 32, 38, 52, 55, 59, 72, 74, 111, 112, 115, 118, 119, 135, 137, 139, 145, 154], "carri": [18, 42, 128], "three": [18, 21, 36, 44, 114, 118, 123, 134, 155], "To": [18, 20, 21, 23, 26, 36, 42, 48, 51, 65, 69, 86, 96, 102, 112, 115, 130, 141, 146, 147, 154], "metadata": [18, 21, 91, 94, 155, 158], "gio": [18, 20, 21, 140, 146, 154, 162], "outlin": [18, 100], "abov": [18, 22, 28, 41, 49, 62, 94, 96, 112, 115, 122, 124, 125, 131, 134, 138, 139, 140, 142, 155], "version": [18, 20, 24, 53, 64, 74, 86, 87, 91, 94, 96, 102, 113, 124, 125, 126, 148, 153, 154, 155, 157], "ad": [18, 20, 22, 32, 42, 50, 55, 65, 121, 125, 130, 140, 142, 155], "hack": 18, "valadoc": [18, 20, 21, 24, 26, 59, 84, 86, 87, 88, 93, 94, 95, 98, 101, 111], "form": [18, 21, 98, 115, 125, 131, 134, 136, 140, 141], "enabl": [18, 94, 147, 151], "distclean": 18, "shown": [18, 122], "gdb": [18, 98, 161], "backtrac": 18, "segment": [18, 50, 142, 161], "fault": [18, 50, 161], "critic": [18, 94], "warn": [18, 20, 107, 134, 140, 157], "g_debug": 18, "fatal": [18, 134], "arg": [18, 86, 90, 94, 107, 115, 121, 134, 139, 143], "em": 18, "my_valac_vers": 18, "my_test_program": 18, "buildbot": 18, "select": [18, 86, 147], "Of": [18, 94, 107, 147], "stage": [18, 36, 40], "builder": [18, 98, 100, 102], "master": 18, "stdio": [18, 100], "why": [19, 25, 40, 93, 98, 143, 153], "upstream": [19, 20, 25, 93], "binari": [20, 95, 107, 109, 147, 153, 157, 161], "sever": [20, 21, 39, 62, 66, 106, 115, 126, 140, 156], "tweak": [20, 21], "integr": [20, 42, 94, 98, 132], "still": [20, 21, 62, 66, 70, 90, 107, 126, 127, 130, 138, 142, 147, 153], "Then": [20, 86, 94, 125, 143, 154], "benefit": [20, 21, 94], "background": [20, 140], "compat": [20, 26, 94, 100, 147, 157], "wider": 20, "obtain": [20, 112, 136, 142, 143], "xml": [20, 21, 154], "enumer": [20, 112, 137], "gtkbutton": 20, "graphic": [20, 21, 94, 122, 146, 161], "22": 20, "parenthes": 20, "gtk_button_new_from_icon_nam": 20, "icon_nam": 20, "icon": [20, 92], "size": [20, 36, 42, 62, 74, 79, 81, 112, 137], "int": [20, 30, 35, 36, 38, 41, 43, 46, 48, 50, 52, 53, 61, 62, 64, 65, 66, 68, 69, 72, 74, 75, 76, 79, 80, 83, 90, 94, 107, 110, 112, 114, 115, 118, 121, 122, 123, 125, 131, 133, 134, 135, 137, 138, 140, 143, 144, 146, 154, 161], "gtkicons": 20, "button": [20, 94, 106, 119, 129], "theme": 20, "known": [20, 35, 36, 63, 98, 112, 115, 131, 134, 144, 153], "broken": 20, "imag": [20, 94, 147], "displai": [20, 87, 98, 140], "appropri": [20, 21, 30, 42, 52, 62, 113, 115, 133, 134, 153], "conveni": [20, 28, 74, 82, 94, 115, 143], "wrapper": [20, 47, 66, 106, 130, 136, 162], "gtk_button_new": 20, "gtk_button_set_imag": 20, "10": [20, 42, 112, 114, 115, 123, 125, 133], "gtkwidget": 20, "gchar": [20, 42], "gtk_image_new_from_icon_nam": 20, "g_object_new": 20, "gtk_type_button": 20, "new_from_icon_nam": 20, "preserv": [20, 112, 115], "transfer": [20, 132], "none": [20, 115, 146], "widget": [20, 94, 102, 122, 129], "utf8": 20, "gint": [20, 42], "from_icon_nam": 20, "sampl": [20, 94, 112, 115, 121, 138, 140, 146, 161, 162], "appear": [20, 32, 59, 98, 121, 134, 138], "cheader_filenam": [20, 29], "type_id": 20, "gtk_button_get_typ": 20, "bin": 20, "atk": 20, "implementor": [20, 125], "action": [20, 91, 121, 131], "activat": 20, "buildabl": 20, "has_construct_funct": [20, 112], "icons": 20, "correctli": [20, 43, 49, 96, 140, 151], "readthedoc": 20, "io": 20, "en": 20, "across": 20, "lost": [20, 146], "relev": [20, 25, 27, 35, 40, 44], "lead": [20, 138], "awkward": [20, 22, 59, 63, 80], "At": [20, 21, 106, 125, 152, 154], "present": [20, 21, 22, 88, 122], "buildmod": 20, "share": [20, 21, 25, 78, 106, 130, 138, 154], "tutori": [20, 22, 23, 27, 95, 103, 105, 115, 145, 155, 158, 159], "mode": [20, 46, 148], "rust": 20, "keyword": [20, 49, 51, 62, 65, 98, 110, 114, 122, 126, 138, 140, 142], "no_mangl": 20, "ffi": 20, "python": [20, 21, 34, 106], "lua": [20, 97], "javascript": 20, "haskel": 20, "automat": [20, 21, 22, 25, 27, 42, 51, 53, 66, 85, 94, 110, 112, 118, 136, 139, 140, 141, 142, 143, 146, 154], "convert": [20, 21, 27, 28, 41, 61, 62, 69, 112, 142], "poppler": 20, "offici": 20, "vapidir": [20, 21, 25, 153, 154], "metadatadir": [20, 21], "just": [20, 21, 42, 48, 52, 65, 107, 110, 112, 113, 115, 122, 125, 131, 135, 138, 139, 143, 146, 154, 157], "forget": 20, "gconf": 20, "pkg": [20, 21, 25, 87, 96, 109, 136, 140, 146, 147, 152, 153, 154, 157], "ll": [20, 21, 86, 87, 88, 126], "incomplet": 20, "tkwidget": 20, "alloc": [20, 34, 35, 36, 39, 44, 48, 66, 74, 94, 112, 115], "poppler_page_get_s": 20, "height": 20, "valid": [20, 110, 113, 142, 150, 157], "signatur": [20, 21, 35, 46, 47, 50, 52, 61, 62, 68, 100, 107, 115, 121, 125, 127, 137, 143], "our": [20, 21, 121, 131, 143, 154], "we": [20, 21, 30, 43, 52, 88, 94, 115, 119, 121, 125, 126, 131, 134, 137, 138, 154, 157, 161], "is_out": 20, "extens": [20, 21, 25, 27, 94, 109, 126], "bar": [20, 21, 30, 41, 43, 44, 74, 115, 125, 127, 133, 142, 143, 150, 162], "someth": [20, 21, 34, 62, 77, 96, 115, 122, 146, 149], "certain": [20, 22, 27, 46, 52, 62, 109, 130, 137, 138, 140, 157], "assumpt": [20, 69, 133], "tend": [20, 21, 62, 69, 106], "amen": 20, "project_sourc": 20, "amend": 20, "pnpid": 20, "libgnom": 20, "desktop": 20, "pnp": 20, "common": [20, 21, 41, 42, 43, 44, 46, 79, 81, 94, 126, 136, 139, 140, 143], "seen": [20, 134], "tri": [20, 94], "assum": [20, 22, 46, 48, 50, 52, 61, 66, 68, 107], "entiti": [20, 154], "extrem": [20, 21, 147], "item": [20, 36, 62, 66, 136, 137], "activ": [20, 100], "That": [20, 28, 47, 50, 62, 142, 143, 162], "said": [20, 109], "conflict": 20, "cannot": [20, 22, 23, 28, 38, 68, 87, 106, 112, 113, 125, 138, 142], "disagre": 20, "regard": 20, "clutteractor": 20, "event": [20, 26, 73, 121, 138, 139, 140], "take": [20, 21, 22, 34, 41, 58, 62, 67, 69, 77, 80, 94, 107, 112, 113, 115, 118, 121, 125, 131, 140, 144], "clutterev": 20, "intanc": 20, "boolean": [20, 112, 113, 114], "renam": [20, 23, 98], "emit_ev": 20, "actor": [20, 143], "subclass": [20, 44, 107, 112, 118, 123, 124, 125, 126, 129, 130, 134], "skip": [20, 71], "660879": 20, "ignor": [20, 94, 150, 157], "quit": [20, 134, 139], "bit": [20, 21, 30, 34, 36, 41, 112, 113, 115, 144], "cleaner": 20, "good": [20, 21, 28, 109, 122, 142, 143], "move": [20, 28, 62, 66, 112], "hundr": 20, "keysmi": 20, "right": [20, 39, 81, 92, 112, 113, 115, 121, 143], "key_right": 20, "accomplish": 20, "key_": 20, "techniqu": [20, 94, 98, 106, 126, 134, 138, 150], "gcontenttyp": 20, "famili": 20, "content_type_": 20, "contenttyp": 20, "pointer": [20, 34, 38, 39, 43, 44, 46, 48, 49, 50, 57, 63, 71, 74, 77, 83, 120, 132, 135, 136, 142], "terminologi": [20, 75, 131, 134], "unless": [20, 21, 23, 49, 59, 61, 94, 118, 142, 151], "compar": [20, 69, 95, 112, 113, 115, 134], "caus": [20, 21, 66, 114, 142], "luckili": 20, "clutter_actor_get_par": 20, "get_par": 20, "happen": [20, 36, 94, 112, 126, 138, 140], "expos": [20, 21, 106, 126], "simpl": [20, 22, 38, 39, 40, 45, 50, 51, 68, 71, 72, 75, 94, 95, 112, 113, 118, 122, 125, 139, 154, 157, 162], "un": 20, "clutter_actor_anim": 20, "anim": [20, 124, 143], "offer": [20, 94, 112, 119], "whether": [20, 35, 50, 62, 94, 112, 113, 114, 115, 131, 134, 138, 143], "imposs": [20, 69, 74, 142], "again": [20, 36, 67, 74, 96, 106, 134, 135], "gdbusannotationinfo": 20, "dbusannotationinfo": 20, "emitt": 20, "730480": 20, "basic": [20, 38, 49, 63, 98, 106, 107, 112, 113, 115, 117, 133, 138, 155], "mean": [20, 21, 22, 34, 36, 39, 48, 63, 96, 106, 107, 110, 113, 114, 115, 118, 119, 123, 126, 130, 131, 134, 135, 136, 138, 142, 143, 144, 148, 153, 162], "distinguish": [20, 136], "wherea": [20, 21, 22, 74, 94, 112], "gtk_source_completion_proposal_equ": 20, "completionpropos": 20, "equal": [20, 31, 112, 113, 114, 136], "virtual_method": 20, "few": [20, 55, 133], "hard": [20, 21, 22, 94], "extend": [20, 53, 102], "639908": 20, "gdatalist": 20, "soup_form_encode_datalist": 20, "form_encode_datalist": 20, "form_data_set": 20, "callback": [20, 46, 75, 140, 146], "636812": 20, "although": [20, 21, 32, 35, 58, 102, 106, 107, 115, 118, 120, 123, 139], "clutter_binding_pool_install_closur": 20, "bindingpool": 20, "install_closur": 20, "closur": [20, 46, 94, 108], "bindingactionfunc": 20, "deriv": [20, 87, 112, 122, 123, 124, 125, 145], "560692": 20, "buffer": [20, 48, 49, 63], "gst": 20, "miniobject": 20, "relationship": [20, 123], "623635": 20, "By": [20, 52, 62, 66, 115, 125, 127, 144], "_finish": 20, "suffix": [20, 25, 73, 74], "finish_nam": 20, "servic": [20, 146], "lookupv": 20, "secret_service_lookup_finish": 20, "focus": [20, 106], "primarili": [20, 38], "preprocessor": 20, "decis": 20, "sens": [20, 28, 42, 52, 77, 94, 115], "dlsym": 20, "capabl": [20, 138, 154], "util": [20, 147, 162], "rememb": [20, 94], "world": [20, 107, 112, 146, 154, 157], "perfect": [20, 106], "alwai": [20, 21, 44, 50, 55, 66, 69, 94, 107, 114, 118, 121, 123, 125, 126, 134, 140, 142, 143, 151], "enough": [20, 22, 35, 78, 107, 144], "either": [20, 21, 22, 28, 31, 49, 96, 106, 107, 110, 112, 113, 115, 118, 140, 142, 147], "abil": 20, "inject": 20, "technic": [20, 21, 125, 153], "per": [20, 46, 48, 75, 94, 106], "convent": [20, 24, 27, 28, 30, 62, 74, 109, 112, 115, 122, 146, 155, 162], "onc": [20, 21, 22, 25, 34, 36, 52, 69, 75, 86], "g_object_get": 20, "unfortun": [20, 48, 55, 94, 157], "alon": [20, 45], "recreat": 20, "tradit": [20, 21, 138], "approach": [20, 22, 157], "mainten": [20, 21], "third": [21, 26, 94, 134, 140], "parti": [21, 26, 94], "recommend": [21, 94, 115, 157], "both": [21, 30, 38, 41, 44, 46, 48, 53, 62, 77, 85, 102, 121, 124, 125, 126, 129, 134, 138, 140, 150, 152], "entir": [21, 69, 89, 157], "ahead": 21, "detect": [21, 100, 136], "mismatch": [21, 66], "furthermor": 21, "easier": [21, 23, 26, 28, 30, 34, 62, 98, 106, 146], "quick": [21, 85, 87], "spot": 21, "even": [21, 25, 38, 52, 87, 109, 110, 112, 115, 122, 125, 126, 131, 134, 137, 141, 153, 162], "aren": [21, 87, 94], "consum": [21, 94, 106], "receiv": [21, 65, 68, 121, 135, 140, 142, 144, 161], "sooner": 21, "unlik": [21, 26, 53, 61], "target": [21, 46, 48, 52, 68, 75, 95, 116, 129, 147, 157], "older": [21, 94, 157], "newer": 21, "sure": [21, 36, 43, 49, 130, 140, 151], "behav": [21, 43, 69, 126], "intend": [21, 22, 55, 71, 94, 115, 136], "ship": [21, 162], "discourag": 21, "obvious": 21, "longer": [21, 114, 131, 144], "preced": [21, 72, 114], "occur": [21, 44, 52, 61, 73, 74], "peopl": 21, "attempt": 21, "accid": 21, "believ": [21, 126], "noth": [21, 106, 139], "wrong": [21, 61, 142], "doesn": [21, 36, 43, 61, 76, 94, 106, 107, 110, 112, 118, 125, 138], "those": [21, 36, 106, 157, 162], "exit": [21, 36, 56, 107, 139], "circumv": 21, "confus": [21, 48, 52, 127], "expect": [21, 22, 32, 69, 74, 79, 90, 98, 106, 107, 125, 135, 138, 142, 143], "real": [21, 115, 137], "begin": [21, 26, 107, 115, 126, 133, 140], "ones": [21, 30, 98, 106, 121], "earier": 21, "useless": 21, "duplic": [21, 38, 44, 53, 62, 68, 136, 142], "coexist": 21, "variad": [21, 47], "Not": [21, 47, 133], "depriv": 21, "end": [21, 55, 91, 94, 97, 107, 111, 112, 114, 119, 121, 124, 125, 133, 134, 136, 137, 138, 140, 142, 143, 150, 161], "eventu": 21, "worri": 21, "happi": 21, "realli": [21, 74, 94, 106], "effort": 21, "drop": [21, 25, 140], "matrix": 21, "room": 21, "smaller": 21, "simpler": [21, 30, 51, 142, 152], "php": 21, "choic": [21, 143], "tell": [21, 25, 94, 138, 143, 153, 154, 161], "map": [21, 22, 30, 41, 45, 106, 136], "handwritten": 21, "pleas": [21, 25, 96, 107, 112, 115], "dep": [21, 152, 153], "avoid": [21, 45, 69, 71, 86, 106, 112, 115, 122, 124, 130, 140, 142, 151], "undefin": 21, "shall": [21, 107], "besid": 21, "easiest": [21, 39], "grow": [21, 57, 112], "burden": 21, "ir": 21, "repeat": [21, 29, 98], "further": 21, "custom": [21, 94, 131, 136, 146], "16": 21, "autoconf": 21, "introduc": [21, 22, 27, 40, 55, 106, 121, 131], "folder": 21, "vapigen_check": 21, "api_vers": 21, "four": [21, 36, 114, 118], "recent": [21, 145, 154], "explicitli": [21, 55, 61, 62, 87, 106, 109, 114, 115, 151], "omit": [21, 106, 110, 118, 138, 140, 144], "gobject_introspection_check": 21, "ye": [21, 34, 38, 94, 98], "auto": [21, 98, 100, 157], "defin": [21, 29, 30, 40, 41, 42, 43, 59, 64, 68, 69, 74, 94, 98, 107, 108, 109, 110, 115, 117, 118, 121, 123, 124, 126, 130, 131, 134, 138, 140, 142, 145], "automak": [21, 97], "vapigen_vapidir": 21, "vapigen_makefil": 21, "condition": [21, 80], "enable_vapigen": 21, "endif": [21, 94, 154], "popul": [21, 48, 66], "vapigen_fil": 21, "_dep": 21, "vapigen_dep": 21, "raw": [21, 81, 94], "_metadatadir": 21, "vapigen_metadatadir": 21, "_vapidir": 21, "_girdir": 21, "vapigen_girdir": 21, "girdir": [21, 154], "note": [21, 25, 28, 30, 40, 41, 43, 48, 50, 61, 62, 74, 94, 102, 107, 112, 114, 115, 122, 138, 152], "_file": 21, "earil": 21, "vapigen_vapi": 21, "foo_1_0_vapi_dep": 21, "foo_1_0_vapi_metadatadir": 21, "srcdir": [21, 154], "foo_1_0_vapi_fil": 21, "datadir": [21, 154], "vapi_data": [21, 154], "extra_dist": [21, 154], "surprisingli": 21, "familiar": [21, 110, 121, 122, 126, 134, 136], "bodi": [21, 62, 115, 121, 125], "enclos": [21, 112], "uniqu": [21, 38, 134], "nest": [21, 115], "desir": [21, 42, 112, 125, 126], "figur": 21, "faq": [21, 95, 115], "question": [21, 48, 50, 73, 74, 94, 131, 151], "idea": [21, 22, 90, 98, 109], "practic": [22, 83, 106, 122, 123, 125, 145], "precis": [22, 123], "liber": 22, "bunch": 22, "procedur": [22, 125], "multitud": 22, "mood": 22, "restrict": [22, 94, 118, 125, 130, 138], "cover": [22, 26, 34, 35, 43], "job": [22, 34, 50], "friendli": [22, 54], "materi": 22, "straight": [22, 41, 114], "creation": [22, 97, 138], "destruct": [22, 38, 75, 117], "bound": [22, 39, 40, 41, 43, 44, 58, 59, 62, 65, 68, 69, 72, 74, 79, 80, 112], "myboundcompactclass": 22, "becom": [22, 112, 122, 140, 142], "overview": [22, 108, 112], "solv": 22, "tricki": [22, 94], "style": [22, 27, 32, 74, 90, 98, 101, 115, 117, 118, 119, 122, 125, 126, 128, 143], "prerequisit": [22, 117], "fundament": [22, 136, 145], "extra": [22, 25, 32, 74, 94, 106, 113, 115, 125, 126, 134, 152, 155, 158], "hint": [22, 66], "collect": [23, 28, 34, 59, 61, 69, 102, 112, 113, 114, 120, 125, 132, 140, 142], "llvm": 23, "vim": [23, 98, 100], "wish": [23, 118, 125, 134], "vimrc": 23, "noremap": 23, "f8": 23, "gyiwo": 23, "esc": 23, "gpa": 23, "insert": [23, 98, 136], "press": [23, 92, 106], "cursor": 23, "libfoo": [25, 28, 29], "linker": [25, 154], "typic": [25, 28, 46, 67, 94], "command": [25, 85, 86, 94, 96, 98, 106, 107, 109, 146, 152, 153, 161], "against": [25, 154], "program_using_libfoo": 25, "dot": [25, 90, 150], "extract": [25, 98, 134, 155, 159], "state": [25, 46, 61, 62, 87, 118, 121, 125, 138, 154], "subset": [25, 147], "consid": [25, 34, 48, 61, 94, 110, 125, 126, 134, 135, 143, 151], "notic": [26, 109, 115, 138, 157], "deal": [26, 55, 67, 81, 134, 144], "formal": 26, "along": [26, 69, 96, 98, 109], "contact": [26, 124], "breach": 26, "softwar": [26, 94], "term": [26, 106, 115], "met": 26, "multi": [26, 62, 74, 112, 132], "2016": 26, "my": [26, 122, 154], "my_email": 26, "my_address": 26, "whichev": 26, "asterisk": [26, 32, 35], "fine": [27, 94, 142], "posit": [27, 46, 47, 55, 66, 68, 69, 74, 112, 113], "overcom": 27, "edg": 27, "throughout": 27, "foolib": 28, "library_funct": 28, "bring": 28, "x_y_foo": 28, "murkier": 28, "rule": [28, 30, 36, 48, 106, 112, 113, 123, 162], "thumb": 28, "clearli": 28, "foooption": 28, "db": [28, 58], "transact": [28, 30, 58], "row": [28, 112], "db_": 28, "foo_handl": 28, "foo_tx": 28, "foo_row": 28, "chanc": [28, 138], "logic": [28, 41, 51, 109, 113, 126, 142], "larg": [28, 34, 96, 153, 162], "comma": [29, 31], "outer": [29, 115], "prevent": [29, 43, 50, 51, 55, 59, 124, 126], "inner": 29, "blob": 29, "customis": [30, 130, 136], "lower_case_cprefix": 30, "cprefix": [30, 41], "illustr": [30, 43], "name_conversion_exampl": 30, "examin": 30, "b": [30, 41, 43, 46, 48, 50, 69, 112, 113, 114, 115, 128, 129, 131, 135, 137, 149], "unchang": 30, "42": [30, 112, 143, 144], "tabl": [30, 53, 57, 137], "summar": 30, "foobar": [30, 162], "foo_bar_new": 30, "foo_bar_test": 30, "foo_bar_unchang": 30, "titlecas": 30, "upper_snake_cas": 30, "lower_snake_cas": 30, "title_case_": 30, "uppercas": 30, "letter": [30, 110, 150], "k": [30, 47, 74, 132], "v": [30, 98, 112, 132], "expand": 30, "cryptic": 30, "tx": [30, 58], "willing": 30, "trade": [30, 94], "off": [30, 94], "favor": 30, "readabl": [30, 94, 122], "over": [30, 66, 69, 94, 123, 140, 142, 144], "concis": 30, "particular": [30, 41, 50, 69, 77, 94, 106, 107, 114, 130, 136, 155], "save": [30, 154, 161], "prioriti": [30, 75], "indent": [31, 98, 112], "afterward": [31, 115, 131], "side": [31, 43, 52, 61, 102, 112, 115, 131, 135, 142, 146], "websit": [32, 90, 95], "seek": 32, "submit": 32, "pull": 32, "libcolumbu": 32, "frequent": [32, 49, 67, 69, 78], "re": [32, 89, 94, 122, 135, 140, 151], "associ": [32, 48, 68, 69, 74, 113], "multilin": 32, "brief": [32, 88, 110], "ref_funct": [32, 38, 44], "foo_retain": [32, 44], "unref_funct": [32, 38, 44], "foo_releas": [32, 44], "markup": [32, 85, 90], "second": [32, 41, 44, 49, 90, 113, 115, 118, 121, 125, 126, 134, 135, 138, 140, 144], "my_binding_directori": 32, "mybind": 32, "visual": [32, 98, 100, 102], "annot": [33, 65, 121, 122, 146, 155], "experiment": [33, 106, 149, 150, 151], "indic": [33, 35, 112, 137], "test_function_1": 33, "test_function_2": 33, "deprecated_sinc": 33, "test_function_3": 33, "test_function_5": 33, "test_function_4": 33, "claim": 34, "accur": 34, "involv": [34, 66, 94, 138], "ether": 34, "garbag": [34, 120], "live": [34, 134, 140], "somewher": [34, 115, 140], "importantli": [34, 106, 130], "impli": [34, 106], "scheme": [34, 36, 38, 69, 119, 131], "helper": [34, 36, 68], "cost": 34, "cheap": [34, 61], "expens": 34, "singli": [34, 38, 39, 68], "heap": [34, 35, 48, 115], "count": [34, 38, 39, 62, 94, 112, 120, 141, 142, 144], "concept": [34, 106, 107, 109, 126, 142], "ownership": [34, 47, 48, 61, 67, 69, 75, 78, 132], "handler": [34, 121, 134], "indirect": [35, 144], "oper": [35, 48, 62, 86, 87, 94, 96, 108, 110, 112, 115, 123, 124, 128, 134, 137, 140, 142, 144, 147], "awar": [35, 86, 118, 143, 145], "held": [35, 76, 85], "char": [35, 39, 44, 48, 112], "ampersand": 35, "comprehens": [35, 146], "explan": [35, 52, 111], "mechan": [36, 112, 121, 125], "stop": [36, 62, 134, 139, 140], "dure": [36, 40], "understood": [36, 98], "dealloc": [36, 43], "analys": [36, 98], "uint8": [36, 67, 81, 112], "8": [36, 42, 52, 67, 91, 94, 112, 136], "byte": [36, 94, 112], "doubl": [36, 40, 46, 49, 50, 52, 64, 66, 72, 73, 76, 83, 112, 115, 119, 133, 143], "float": [36, 52, 66, 112], "exact": [36, 134, 140], "exclus": [36, 113, 118], "reserv": [36, 110, 134], "area": [36, 125], "128": 36, "coder": 36, "malloc": 36, "referencehandl": 37, "infom": 37, "authorit": 38, "destroi": [38, 43, 47, 68, 75, 144], "thu": [38, 68, 94, 126], "increas": [38, 122, 141, 142], "concern": 38, "subscrib": 38, "subtl": [38, 44], "has_target": [38, 46, 68, 83], "free_funct": [38, 44, 58], "destroy_funct": [38, 43, 79], "content": [38, 43, 71, 86, 94, 109, 112, 138, 140, 162], "element": [38, 62, 66, 108, 112, 131, 136, 137, 141, 154], "integ": [38, 42, 110, 112, 114, 115, 118, 121, 136], "charact": [39, 94, 110, 112, 150], "routin": [39, 95], "unclear": 39, "intent": [39, 94, 98, 135], "cleanup": 39, "pre": 40, "direct": [40, 94, 115, 132, 140], "vari": [40, 74], "custom_pi": 40, "14159265358979323846": 40, "substitut": [40, 123], "occurr": 40, "given": [40, 43, 61, 98, 110, 112, 115, 123, 125, 126, 130, 131, 139, 140, 157], "explicit": [40, 44, 52, 66, 115, 130, 151], "opt": [41, 46, 53], "typedef": [41, 42, 43, 44, 46, 57, 58, 61, 65, 68, 69, 75, 76, 77, 112], "foo_a": 41, "foo_b": 41, "foo_c": 41, "foo_": 41, "has_type_id": [41, 42, 43, 44, 65], "prepend": [41, 94], "bar_x": 41, "bar_i": 41, "bar_z": 41, "bar_": 41, "though": [41, 43, 46, 74, 110, 121, 126, 130, 141, 153], "unsign": [41, 66, 112], "tendenc": 41, "foo_read": 41, "foo_writ": 41, "foo_creat": 41, "strerr": 41, "superset": 41, "foo_d": 41, "do_someth": 41, "do_something_els": 41, "fooextend": 41, "d": [41, 76, 112, 114, 115, 116, 118, 121, 125, 131, 132, 133, 137, 143, 149, 154, 161], "numer": [42, 74, 112, 136], "offset": 42, "uint32_t": [42, 64], "people_insid": 42, "peopleinsid": 42, "uint32": [42, 112, 122], "forward": [42, 121], "unix": [42, 138], "descriptor": 42, "multipli": [42, 68], "rank": 42, "cast": [42, 77, 108, 117, 125, 127, 130, 140, 151, 157], "initialis": [42, 48, 115, 118, 131, 135], "xcb": 42, "xcb_atom_t": 42, "posix": [42, 45, 147, 162], "gint8": 42, "gfloat": 42, "gdoubl": 42, "guchar": 42, "guint8": 42, "cc_t": 42, "gshort": 42, "gint16": 42, "5": [42, 52, 94, 112, 115, 118, 119, 121, 137, 149, 154], "gushort": 42, "guint16": 42, "6": [42, 112], "gint32": 42, "posixpid_t": 42, "7": [42, 94, 112, 115, 119, 161], "guint": 42, "guint32": 42, "gunichar": 42, "speed_t": 42, "tcflag_t": 42, "glong": 42, "gssize": 42, "time_t": 42, "clock_t": 42, "9": [42, 52, 112, 115, 150, 154], "gulong": 42, "gsize": 42, "nfds_t": 42, "key_t": 42, "fsblkcnt_t": 42, "fsfilcnt_t": 42, "off_t": 42, "uid_t": 42, "gid_t": 42, "mode_t": 42, "dev_t": 42, "ino_t": 42, "nlink_t": 42, "blksize_t": 42, "blkcnt_t": 42, "gint64": 42, "11": [42, 97, 112], "guint64": 42, "equival": [43, 106, 109, 112, 113, 118, 129, 139, 143, 144], "primit": 43, "foo_t": [43, 73, 76], "foo_init": 43, "foo_fre": [43, 44], "great": [43, 150], "trap": 43, "opaqu": [43, 61, 71], "necessarili": [43, 106, 109, 115, 144], "bar_t": 43, "bar_initi": 43, "default_valu": 43, "gtype": [44, 147], "foo_mak": 44, "foo_dup": 44, "bar_open": 44, "dispos": 44, "finish": [44, 68, 138, 140], "bar_clos": 44, "bake": 44, "star": 44, "fail": [44, 51, 98, 133, 134], "permit": [44, 46, 83], "dup": 44, "foo_new": 44, "unref": 44, "courtesi": 44, "previou": [45, 134], "sync": 45, "append": [45, 48, 50, 55, 94, 112], "posix_sync": 45, "major": [46, 65, 138], "caller": [46, 48, 52, 67, 107, 124, 125, 126, 135, 140, 142], "encapsul": [46, 138], "emul": 46, "behaviour": [46, 50, 52, 65, 112, 115, 126, 127, 135, 136, 138, 151], "portion": 46, "targetless": [46, 75], "occasion": [46, 69, 74], "compute_func": 46, "analyze_func": 46, "userdata": [46, 75], "computefunc": [46, 50], "analyzefunc": 46, "delegate_target_po": [46, 52, 68], "patch": 46, "compris": 47, "adapt": 47, "heavi": [48, 94], "altern": [48, 69, 94, 97, 106, 121, 122, 131, 137, 140, 143, 147], "uniform": 48, "natur": [48, 126, 149], "supplementari": 48, "quietli": 48, "manipul": 48, "div_and_mod": 48, "mod": 48, "open_file_and_fd": 48, "fopen": 48, "r": [48, 112, 150], "fileno": 48, "filestream": 48, "do_approxim": 48, "input_arrai": 48, "input_length": 48, "output_arrai": 48, "output_length": 48, "think": [48, 49, 52, 57, 122, 142], "indistinguish": 48, "regular": [48, 148], "moreov": 48, "hidden": 48, "get_foo": [48, 68], "get_foo2": 48, "ret": [48, 80], "box": 48, "make_foo": [48, 68], "particularli": [49, 94, 106], "fill": [49, 67, 88, 112], "crucial": 49, "acquir": [49, 146], "twice": [49, 126, 142], "leak": [49, 73, 94], "bad": [49, 77, 94], "spent": 49, "valgrind": 49, "absolut": 49, "lousi": 50, "convei": 50, "underneath": [50, 56], "lift": 50, "bool": [50, 58, 62, 76, 80, 89, 112, 113, 124, 125, 128, 133, 137], "gboolean": 50, "get_compute_func": 50, "epsilon": 50, "func": 50, "14158": 50, "72": 50, "perfectli": [50, 94, 142], "okai": 50, "accord": [50, 113, 138], "fact": [51, 107, 109, 115, 118, 125, 126, 130, 134, 138, 139, 142], "care": [51, 94, 107, 121, 144], "taken": [51, 107, 126, 154], "organis": 51, "belong": [51, 118, 121, 123], "calle": [52, 135], "via": [52, 87, 116, 119, 136, 137, 146], "instance_po": 52, "array_length_po": [52, 66, 81], "reorder": 52, "po": 52, "littl": [52, 111, 115], "bear": 52, "foo_comput": [52, 53], "foo_transform": 52, "t_userdata": 52, "array_len": 52, "verbatim": [52, 112], "perspect": 52, "less": [52, 69, 94, 114, 115, 134], "similarli": [52, 109, 142, 162], "greater": [52, 114, 134, 144], "respect": [52, 59, 112, 133, 150], "suit": [52, 98], "total": [52, 150], "clean": [52, 96], "mind": 52, "base_height": 53, "foo_compute_ex": 53, "benefici": [53, 69], "unsur": 53, "treacher": 55, "potenti": [55, 66, 136, 138, 151], "safeti": [55, 112], "sentinel": [55, 143], "overrun": 55, "scanf": 55, "printffunct": 55, "scanffunct": 55, "token": 55, "badli": 55, "erron": 55, "ever": [56, 94], "rare": [56, 62, 65, 68, 94], "abort": 56, "realloc": [57, 112], "table_grow": 57, "size_t": [57, 64, 66, 74, 81], "object_count": 57, "destroysinst": 58, "useabl": 58, "begin_tx": 58, "databas": [58, 120, 122], "transaction_abort": 58, "transaction_commit": 58, "transaction_try_commit": 58, "try_commit": 58, "visibl": [59, 118, 135], "captur": [59, 94], "to_str": [59, 112, 137], "sugar": [61, 62], "queri": [61, 122], "val": [61, 143], "obviou": [61, 106, 145], "foo_item_count": 61, "foo_max_item": 61, "foo_set_max_item": 61, "item_count": 61, "max_item": 61, "squar": [62, 74, 112], "bracket": [62, 74, 112], "blkid_partit": 62, "blkid_partlist_get_partit": 62, "blkid_partlist": 62, "listofpartit": 62, "partit": 62, "dimension": [62, 74, 112], "With": [62, 94, 107, 122, 123, 128, 131, 132, 133], "partitionlist": 62, "blkid_partlist_numof_partit": 62, "invok": [62, 138], "661876": 62, "iter": [62, 66, 114, 136, 137], "next_valu": [62, 137], "prototyp": 62, "retriev": [62, 130, 136, 137, 143], "judgement": 62, "decid": [62, 114, 121, 138], "unknown": [63, 113, 114], "u_int32_t": 64, "harmonis": 64, "compute_foo": 65, "array_length": [66, 69, 79], "array_length_typ": [66, 74], "array_null_termin": [66, 74], "pad": 66, "array_length_cexpr": [66, 74], "trivial": [66, 68], "treat": [67, 68, 74, 75, 130, 135, 145, 153], "finess": 67, "utf": [67, 94, 112], "anyth": [67, 110, 115, 125, 131], "realpath": 67, "thoroughli": 67, "adjust": 68, "reassign": [68, 135], "retain": 68, "delegate_target_destroy_notify_po": 68, "notifi": [68, 122], "foo_func": [68, 69, 75], "call_foo": 68, "call_foo_lat": 68, "free_context": 68, "foofunc": [68, 69, 75], "strang": 69, "simple_gener": [69, 83], "sort": [69, 106, 107, 112, 130, 138], "va_arg": 69, "generic_type_po": 69, "rigid": 69, "decor": 69, "verifi": 69, "insist": 69, "left": [69, 113, 115, 144], "foo_get_userptr": 69, "foo_set_userptr": 69, "user_data": 69, "caveat": 69, "infecti": 69, "set_user_ptr": 69, "get_user_ptr": 69, "safe": [69, 94, 135, 143], "far": [70, 106], "down": [70, 106, 131], "badg": 70, "shame": 70, "getter": [71, 122, 142], "setter": [71, 122], "consumpt": 71, "consult": 71, "union": 71, "myfoo": [73, 112], "overwritten": [73, 87], "answer": [73, 78, 125], "varieti": [74, 94, 96, 106, 134], "20": [74, 115, 137], "foo_count": 74, "array_length_cnam": 74, "elsewher": [74, 139, 140], "rag": 74, "nigh": 74, "consider": 75, "callback_context": 75, "delegate_target_cnam": 75, "notif": [75, 122], "callback_fre": 75, "delegate_target_destroy_notify_cnam": 75, "exactli": [75, 114, 125, 126, 138, 152], "start_job": 75, "threadpool_queue_job": 75, "pool": 75, "j": [75, 102, 112, 144], "startjob": 75, "threadpool": 75, "queue_job": 75, "which_on": 76, "data_d": 76, "data_i": 76, "legal": 77, "deserv": 78, "get_arrai": 79, "out_array_p": 79, "array_with_length": 79, "get_data": 79, "_get_arrai": 79, "vala_get_arrai": 79, "temp": [79, 161], "len": 79, "array_length_nam": 79, "_get_data": 79, "vala_get_data": 79, "somefunc": 80, "free_when_don": 80, "_somefunc": 80, "_sink_foo": 80, "vala_somefunc": 80, "vala_somefunc_own": 80, "somefunc_own": 80, "freed": [80, 134, 141], "_awkward": 80, "vala_awkward": 80, "ish": 81, "nmemb": 81, "571486": 82, "meant": [83, 112, 137], "bundl": [86, 87, 102], "simon": 86, "sai": [86, 94, 121, 125, 157], "phrase": 86, "enter": [86, 96], "print": [86, 96, 112, 114, 125, 150], "simon_sai": 86, "learn": [86, 92, 95, 102, 112, 115], "Will": [86, 114, 125], "br": [86, 90], "o": [86, 87, 95, 98, 102, 103, 104, 109, 110, 135, 142, 144, 150, 154, 157, 162], "remov": [86, 142, 147], "overwrit": 86, "web": [86, 102], "browser": 86, "wrote": 86, "usag": [87, 91, 94, 107, 112, 144, 145], "ofth": 87, "doument": 87, "addd": 87, "pakag": 87, "speifi": 87, "inlud": 87, "th": 87, "vesrion": 87, "taglet": 88, "extact": 88, "chapter": [88, 119], "thoughout": 89, "short": [89, 90, 112, 121, 122, 139], "summari": [89, 131], "always_tru": 89, "inspir": 90, "wikitext": 90, "realiti": 90, "bold": 90, "ital": 90, "__underlined__": 90, "quot": [90, 112], "__bold": 90, "underlined__": 90, "underlin": 90, "alphabet": 90, "asset": 90, "logo": 90, "png": 90, "alt": 90, "messag": [90, 94, 98, 112, 121, 125, 133, 134, 146], "headlin": 90, "cell": 90, "inheritdoc": 91, "diectli": 91, "fulli": [91, 98, 100, 107, 115, 148, 153], "is_edit": 91, "becam": 91, "eror": 91, "thrown": [91, 134], "edit": [92, 106], "libvaladoc": 92, "appreci": 92, "fom": 92, "qt": 94, "meta": 94, "slot": 94, "wherev": [94, 123], "barrier": 94, "contrast": [94, 115, 130, 142], "gobjectintrospect": [94, 154, 159], "load": [94, 140, 162], "optim": 94, "plain": 94, "tune": 94, "almost": 94, "mandatori": 94, "basicsampl": 94, "achiev": [94, 115, 142], "baer": 94, "solut": [94, 107], "encod": [94, 112], "resiz": [94, 112, 136], "implicitli": [94, 107, 133, 143], "stringbuild": 94, "gstring": 94, "str_ptr": 94, "64": 94, "str": 94, "wi": 94, "klass": 94, "btn1": 94, "awidget": 94, "preprocess": 94, "elif": 94, "cond": 94, "NOT": [94, 122], "shallow": 94, "clear": 94, "propert": 94, "emphas": 94, "fx": 94, "g_type_str": 94, "due": [94, 115, 125], "coher": 94, "dummi": 94, "statico": 94, "test_valu": 94, "costruct": 94, "prop1": 94, "value1": [94, 116], "mywindow": 94, "inputsampl": 94, "windowtyp": [94, 112], "toplevel": [94, 112], "yourstr": 94, "incorrect": 94, "yourstruct": 94, "value2": [94, 116], "field1": 94, "field2": 94, "mainli": [94, 162], "the_method": 94, "some_inst": 94, "some_method": [94, 146], "some_var": 94, "arbitrari": [94, 112, 115, 121, 131, 136, 143], "strip": 94, "todo": 94, "suggest": [94, 106, 126, 138], "slower": 94, "represent": [94, 122], "neither": [94, 115, 131], "nor": [94, 115, 131, 142], "human": [94, 122], "serv": 94, "wild": 94, "whatels": 94, "weight": [94, 145], "light": [94, 110], "mb": 94, "gkt": 94, "inher": 94, "disadvantag": 94, "embed": [94, 112], "codebas": 94, "wide": [94, 142], "perhap": 94, "signific": 94, "upgrad": 94, "backward": 94, "incompat": 94, "Such": [94, 118], "younger": 94, "dai": 94, "exceedingli": 94, "biggest": 94, "promin": [94, 116], "until": [94, 111, 114, 134, 137, 138, 140, 162], "cours": [94, 107, 139, 147], "feasibl": 94, "popular": 94, "usabl": [94, 115], "submodul": 94, "subtre": 94, "stabl": 94, "linux": [94, 100], "impos": [95, 112], "elementari": [95, 98, 102, 103, 104], "devel": 96, "sudo": 96, "dnf": 96, "apt": 96, "pacman": 96, "usr": 96, "And": [96, 125, 152], "mingw": 96, "w64": 96, "x86_64": 96, "brew": 96, "everyt": 96, "xx": 96, "recognis": [96, 107, 111, 118, 121, 126], "struggl": 96, "commun": 96, "meson": [97, 98, 100], "front": [97, 161], "ninja": 97, "autovala": 97, "autom": [97, 153, 157], "cmake": 97, "articl": 97, "parallel": 97, "valder": 97, "waf": [97, 154], "xmake": 97, "highlight": [98, 102], "jump": [98, 107, 114], "refactor": 98, "anjuta": 98, "emac": 98, "geani": 98, "gedit": [98, 102], "helix": 98, "intellij": [98, 102], "medit": 98, "sublim": [98, 102], "textmat": [98, 102], "zed": 98, "color": [98, 115, 122], "diagnost": [98, 100], "trigger": 98, "ctrl": 98, "red": [98, 115], "green": [98, 115], "cycl": [98, 141], "driven": 98, "compon": [98, 134], "debugg": [98, 146, 161], "clearer": 98, "editor": [99, 100, 102], "server": [99, 140, 146], "protocol": [99, 137], "microsoft": 100, "studio": [100, 102], "client": [100, 102, 146], "lsp": 100, "vscode": 100, "compile_command": 100, "json": 100, "robust": 100, "workspac": 100, "ubuntu": 100, "fedora": 100, "arch": 100, "alpin": 100, "gvl": 100, "symbo": 100, "internet": 100, "connect": [100, 120, 121, 122, 146], "fast": [100, 136, 144], "gcovr": 101, "coverag": 101, "codecov": 101, "uncrustifi": 101, "beautifi": 101, "lint": 101, "gtksourceview": 102, "gtktextview": 102, "maco": 102, "jetbrain": 102, "atom": 102, "linuguist": 102, "grammar": 102, "selector": 102, "lesson": 102, "moinmoin": 102, "pygment": 102, "sitter": 102, "prince781": 102, "documen": [103, 104], "app": [103, 104], "gui": [104, 139, 140], "ongo": 106, "disclaim": 106, "promis": 106, "unwant": [106, 151], "attend": 106, "mono": [106, 112], "beyond": 106, "consequ": [106, 130], "broadli": [106, 112], "perform": [106, 112, 113, 115, 131, 151], "whilst": [106, 124], "faster": 106, "gain": 106, "power": [106, 109, 112, 115, 126, 150], "compli": 106, "briefli": [106, 130], "principl": [106, 122], "experi": 106, "knowledg": [106, 126], "aim": [106, 126, 154], "se": 106, "realis": 106, "certainli": [106, 118], "monospac": 106, "prefac": 106, "prompt": 106, "advanc": [106, 115], "sadli": 107, "predict": 107, "demo": [107, 120, 146, 161], "helloworld": 107, "hello": [107, 109, 112, 113, 115, 146, 154, 157], "thorough": 107, "descend": [107, 112, 118, 121, 145], "possess": [107, 118], "matter": [107, 112, 123, 134], "whenev": [107, 112, 121, 138, 142], "escap": [107, 112, 150], "sequenc": [107, 112], "anonym": 108, "enforc": [109, 125], "upshot": 109, "source1": 109, "source2": 109, "myprogram": 109, "succinct": 109, "regist": [109, 118, 128, 131, 140, 146], "amalgam": [110, 155], "heavili": 110, "kept": 110, "delimit": [110, 111], "strict": [110, 148], "digit": 110, "unambigu": [110, 112], "speak": 112, "all_upper_cas": 112, "uchar": 112, "histor": 112, "unichar": 112, "32": [112, 122, 143], "unicod": 112, "uint": 112, "ulong": 112, "ushort": 112, "guarante": [112, 131, 138], "int8": 112, "int16": 112, "int32": 112, "int64": 112, "sibl": 112, "uint16": 112, "uint64": 112, "compound": [112, 115], "percentil": 112, "75f": 112, "mu_bohr": 112, "927": 112, "400915e": 112, "26": [112, 125], "the_box_has_crash": 112, "vector": 112, "popup": 112, "occupi": 112, "nbyte": 112, "minimum": [112, 147], "maximum": 112, "min": 112, "max": 112, "quotat": 112, "mask": 112, "tripl": 112, "span": 112, "evalu": [112, 113, 114], "contrari": 112, "referenti": 112, "slice": [112, 137], "neg": [112, 134], "rel": 112, "greet": 112, "s1": 112, "12": 112, "s2": 112, "0x77": 112, "52": 112, "67428e": 112, "21": 112, "consol": 112, "explor": 112, "stdin": 112, "read_lin": 112, "1415": 112, "stderr": [112, 146], "er": 112, "abl": [112, 118, 123, 125, 138], "saw": 112, "elba": 112, "demonstr": [112, 123, 130, 161], "contigu": 112, "jag": 112, "dimens": 112, "arr": 112, "multidimension": 112, "effici": 112, "37": 112, "src": 112, "dest": [112, 146], "sophist": 112, "arraylist": [112, 132], "regardless": [112, 115, 126, 130, 134, 142], "aliv": [112, 141], "anywher": [112, 136], "mass": 112, "wherebi": 112, "reduc": 112, "unnecessari": 112, "redund": 112, "sacrif": 112, "mybar": 112, "alia": [112, 147, 157], "valuelist": 112, "get_typ": [112, 128], "operand": 113, "arithmet": 113, "concaten": 113, "increment": [113, 114], "decrement": [113, 114], "postfix": [113, 115, 129], "former": 113, "calcul": [113, 122, 140], "latter": [113, 123], "bitwis": 113, "analog": [113, 119], "unari": 113, "shift": 113, "inequ": 113, "manner": 113, "lexicograph": 113, "ternari": 113, "coalesc": 113, "substr": 113, "overload": [113, 115, 119], "int_arrai": 114, "immedi": [114, 122, 131, 138, 140, 150], "piec": [114, 121, 134], "zero": [114, 118, 123, 135], "fall": 114, "stick": 115, "method_nam": [115, 126, 133], "arg1": 115, "arg2": 115, "approxim": [115, 121], "all_lower_cas": 115, "unfamiliar": 115, "accustom": 115, "mixedcamelcas": 115, "consist": [115, 136], "draw": 115, "shape": [115, 122], "draw_text": 115, "draw_shap": 115, "clash": [115, 122], "chain": [115, 119, 123, 148], "hi": 115, "vararg": [115, 143], "assert": [115, 132, 134], "precondit": [115, 133, 134], "dereferenc": [115, 151, 161], "f1": 115, "f2": 115, "d1": 115, "stand": 115, "printintfunc": 115, "p1": [115, 119], "curli": 115, "p2": [115, 119], "my_sorting_algorithm": 115, "intoper": 115, "curried_add": 115, "curri": 115, "sum": [115, 154], "namespacenam": 115, "outsid": [115, 118, 125, 138, 145], "imagin": [115, 134, 157], "invis": 115, "land": 115, "namespace1": 115, "namespace2": 115, "structnam": 115, "blue": 115, "c1": 115, "c2": 115, "c3": 115, "c4": 115, "c5": 115, "classnam": 115, "superclassnam": 115, "interfacenam": 115, "superinterfacenam": 115, "mixin": [115, 117], "Their": 116, "attributenam": 116, "param1": 116, "param2": 116, "mostli": [116, 125], "export": [116, 146], "remot": [116, 140], "bu": [116, 132], "polymorph": [117, 127], "hide": [117, 122, 124], "super": 118, "testclass": [118, 130], "first_data": 118, "second_data": 118, "method_1": [118, 125, 126, 135, 144], "implic": 118, "focu": 119, "with_label": 119, "label": 119, "from_stock": 119, "stock_id": 119, "click": 119, "me": 119, "stock_ok": 119, "name_extens": 119, "rectangular": 119, "polar": 119, "radiu": 119, "angl": [119, 143], "math": 119, "co": 119, "sin": 119, "resourc": [120, 132, 134], "trace": 120, "determinist": 120, "raii": 120, "stream": 120, "listen": 121, "ident": [121, 142, 162], "dive": 121, "sig_1": 121, "t1": [121, 137], "ters": 121, "impati": 121, "nb": 121, "no_recurs": 121, "no_hook": 121, "accessor": [122, 125], "ag": [122, 131], "get_ag": 122, "set_ag": 122, "cumbersom": 122, "year": [122, 131], "alic": 122, "plai": [122, 142], "_age": 122, "behind": 122, "scene": 122, "shorter": 122, "current_year": 122, "2525": 122, "year_of_birth": 122, "2493": 122, "fly": 122, "birth": 122, "Or": 122, "leav": [122, 125], "glade": 122, "obj": [122, 137, 140], "paramspec": 122, "dash": 122, "my_property_nam": 122, "disabl": [122, 147, 157], "tag": 122, "myobject": 122, "without_notif": 122, "with_notif": 122, "argb": 122, "0x12345678": 122, "exercis": 123, "rang": 123, "protected_method": 123, "public_static_method": 123, "eat": 124, "chomp": 124, "say_hello": 124, "tiger": 124, "roar": 124, "duck": 124, "quack": 124, "behavior": [124, 144], "new_nam": 124, "reset": 124, "contactcv": 124, "cotactcv": 124, "john": 124, "strauss": 124, "cv": 124, "xochitl": 124, "calva": 124, "overridden": [124, 126], "itest": 125, "data_1": [125, 144], "simplest": 125, "test1": 125, "roughli": [125, 153], "listclass": 125, "distinct": [125, 126, 136], "callabl": 125, "monitor": 125, "mautter": 125, "phone": 125, "techphon": 125, "hid": 125, "completelli": 125, "permiss": 125, "unabl": 125, "default_hang": 125, "tech": 125, "cl": 125, "sreturn": 125, "subtyp": [126, 131], "o1": [126, 151], "o2": [126, 151], "fourth": 126, "rewritten": 126, "told": 126, "opposit": 126, "appar": 126, "complic": [126, 142, 155, 157], "extra_task": 126, "prop_1": 126, "exhibit": 127, "my_method": [127, 134], "sometypenam": 128, "desiredtypenam": 129, "illeg": 129, "refin": [130, 134], "minim": [130, 147], "w": [130, 134, 157], "erasur": 130, "massiv": 130, "expans": 130, "accept_object_wrapp": 130, "test_wrapp": 130, "happili": 130, "closer": 131, "with_ag": 131, "welcom": 131, "hierarchi": 131, "nomenclatur": 131, "talk": 131, "snippet": 131, "class_init": 131, "contract": [132, 134], "hashmap": 132, "hashset": 132, "thread": [132, 140], "asynchron": [132, 138], "assert_not_reach": 133, "return_if_fail": 133, "expr": 133, "return_if_reach": 133, "warn_if_fail": 133, "warn_if_reach": 133, "tempt": 133, "postcondit": 133, "fulfil": 133, "gerror": 134, "recover": 134, "factor": 134, "foreseen": 134, "rais": 134, "ioerror": [134, 140, 146], "something_went_wrong": 134, "file_not_found": 134, "iochannel": 134, "channel": 134, "tmp": [134, 138], "my_lock": 134, "fileerror": 134, "fairli": 134, "domain": 134, "equat": 134, "encount": 134, "errortype1": 134, "code_1a": 134, "errortype2": 134, "code_2a": 134, "code_2b": 134, "thrower": 134, "catcher": 134, "tidi": 134, "uninitialis": 135, "method_2": 135, "q": 135, "treatment": 135, "foundat": 136, "unord": 136, "interchang": 136, "categori": 136, "slow": [136, 140], "hash": 136, "foo_hash": 136, "foo_equ": 136, "read_only_view": 136, "my_map": 136, "tn": 137, "placehold": 137, "t2": 137, "t3": 137, "index1": 137, "index2": 137, "needl": 137, "evennumb": 137, "core": 138, "thread_func": 138, "child_thread": 138, "main_thread": 138, "did": 138, "problemat": 138, "currnt": 138, "new_thread": 138, "primari": [138, 157], "cooper": 138, "powerfulli": 138, "queue": [138, 140], "introduct": 138, "kill": 138, "wait": [138, 139, 140], "join": 138, "therebi": 138, "paus": [138, 140], "instant": 138, "runnabl": 138, "restart": 138, "simultan": 138, "race": 138, "outcom": 138, "interrupt": 138, "action_1": 138, "action_2": 138, "interweav": 138, "random": 138, "turn": 138, "respons": [138, 144], "inde": 138, "mainloop": [139, 146], "respond": 139, "constantli": 139, "timer": 139, "2000m": 139, "timeoutsourc": 139, "2000": 139, "set_callback": 139, "get_context": 139, "readi": [139, 140], "init": 139, "main_quit": 139, "soon": 139, "disturb": 139, "idlesourc": 139, "send": [139, 146], "dealt": 139, "whose": 140, "resum": 140, "freez": 140, "cpu": 140, "disk": 140, "idl": 140, "interleav": 140, "spread": 140, "display_jpeg": 140, "fnam": 140, "jpeg": 140, "fetch_webpag": 140, "url": 140, "fetch": 140, "webpag": 140, "jpg": 140, "asyncreadycallback": 140, "gayncresult": 140, "arriv": 140, "reach": [140, 141], "sourcefunc": 140, "schedul": 140, "goe": 141, "decreas": 141, "vice": 141, "versa": 141, "doubli": 141, "predecessor": 141, "successor": 141, "prev": 141, "topic": [141, 162], "record": 142, "basi": 142, "convers": 142, "get_unowned_ref": 142, "seemingli": 142, "somewhat": 142, "irrit": 142, "steal": 142, "reproduc": 142, "getter_method": 142, "alarm": 142, "strong": 142, "storag": 142, "_properti": 142, "get_xxx": 142, "anywai": 142, "role": 142, "ellipsi": 143, "method_with_vararg": 143, "va_list": 143, "meet": 143, "sequent": 143, "evid": 143, "25": 143, "baz": 143, "seriou": 143, "drawback": 143, "animationmod": 143, "ease_out_bounc": 143, "3000": 143, "100": 143, "200": 143, "rotation_angle_z": 143, "500": 143, "opac": 143, "rotat": 143, "ineffici": 144, "resort": 144, "optimis": 144, "insuffici": 144, "i_ptr": 144, "f_ptr": 144, "f_weak": 144, "lighter": 145, "stai": 145, "lower": 145, "Be": 145, "tightli": 146, "session": [146, 161], "demoservic": 146, "counter": 146, "sig1": 146, "heureka": 146, "sender": 146, "some_method_send": 146, "busnam": 146, "on_bus_aquir": 146, "dbusconnect": 146, "conn": 146, "register_object": 146, "own_nam": 146, "bustyp": 146, "busnameownerflag": 146, "registr": 146, "succeed": 146, "mangl": [146, 155], "lower_case_with_underscor": 146, "somemethod": 146, "somemethodsend": 146, "spy": 146, "brows": 146, "libc": [147, 162], "libgobject": 147, "microcontrol": 147, "iso": 147, "somecod": 147, "255": 149, "regex": 150, "tux": 150, "kernel": 150, "z0": 150, "_": 150, "trail": 150, "insensit": 150, "cow": 150, "upper": 150, "newlin": 150, "metacharat": 150, "exclud": 150, "whitespac": 150, "forbidden": 151, "incorpor": 153, "gxml": 154, "gxmldom": 154, "libxml2": 154, "success": 154, "cflag": 154, "am_cppflag": 154, "dpackage_locale_dir": 154, "datadirnam": 154, "dpackage_src_dir": 154, "dpackage_data_dir": 154, "built_sourc": 154, "cleanfil": 154, "am_cflag": 154, "wall": 154, "glib_cflag": 154, "libxml_cflag": 154, "gio_cflag": 154, "gee_cflag": 154, "vala_cflag": 154, "lib_ltlibrari": 154, "libgxml": 154, "la": 154, "valaflag": 154, "top_srcdir": 154, "libxml": 154, "libgxml_la_valasourc": 154, "attr": 154, "backednod": 154, "cdatasect": 154, "characterdata": 154, "documentfrag": 154, "documenttyp": 154, "domerror": 154, "entityrefer": 154, "namespaceattr": 154, "nodelist": 154, "nodetyp": 154, "processinginstruct": 154, "xnode": 154, "libgxml_la_sourc": 154, "vala_compil": 154, "top_builddir": 154, "dom": 154, "touch": 154, "libgxml_la_ldflag": 154, "libgxml_la_libadd": 154, "glib_lib": 154, "libxml_lib": 154, "gio_lib": 154, "gee_lib": 154, "vala_lib": 154, "include_head": 154, "pkgconfigdir": 154, "libdir": 154, "pkgconfig": 154, "pkgconfig_data": 154, "gxmlincludedir": 154, "includedir": 154, "gxmlinclude_head": 154, "enable_gi_system_instal": 154, "introspection_girdir": 154, "typelibsdir": 154, "introspection_typelibdir": 154, "girepositori": 154, "scan": 154, "introspection_gir": 154, "introspection_compiler_arg": 154, "typelib": 154, "introspection_compil": 154, "gir_data": 154, "typelibs_data": 154, "vala_vapidir": 154, "proce": 154, "favourit": 154, "cx": 154, "fpic": 154, "mylib": 154, "basedir": 154, "libtest": 154, "ltest": 154, "ld_library_path": 154, "pwd": 154, "standardis": 155, "onto": 155, "amount": 155, "man": 156, "everywher": 157, "bash": 157, "zsh": 157, "fish": 157, "appnam": 157, "file_name_1": 157, "file_name_2": 157, "metainform": 159, "nowadai": 159, "buggi": 161, "intention": 161, "temporari": 161, "gdbgui": 161, "nemiv": 161, "valacod": 161, "sigsegv": 161, "0x0804881f": 161, "_main": 161, "compliant": 162, "g_topic_foobar": 162, "get_basenam": 162, "hopefulli": 162, "suffic": 162, "flexibl": 162, "fileutil": 162, "get_cont": 162}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"about": [0, 21], "vala": [0, 4, 5, 6, 12, 14, 18, 20, 21, 34, 37, 39, 54, 59, 94, 95, 106, 138, 159], "why": [0, 21, 94], "compil": [1, 3, 4, 5, 11, 18, 107, 109, 154], "guid": [1, 85, 92, 93, 96], "licens": [1, 2, 26], "acknowledg": 1, "edit": 1, "chapter": 1, "project": [2, 94], "inform": [2, 128], "websit": [2, 92], "mail": 2, "list": [2, 90, 143], "bug": [2, 18, 21], "tracker": 2, "matrix": 2, "room": 2, "maintain": [2, 18], "environ": 3, "setup": 3, "from": [3, 18, 21, 94, 112], "sourc": [3, 18, 20, 109], "repositori": [3, 20], "set": 3, "up": [3, 94], "your": [3, 107], "editor": [3, 98], "file": [3, 20, 25, 29, 94, 109, 155, 162], "code": [3, 10, 11, 20, 31, 39, 90, 98, 116], "style": [3, 131], "The": [4, 5, 18, 25, 27, 33, 37, 69, 139], "nutshel": 5, "command": [5, 87, 92, 154], "line": [5, 87, 92, 154], "option": [5, 87], "procedur": 5, "codecontext": 5, "valac": [5, 157], "pipelin": 5, "parser": 6, "visitor": 6, "ping": 6, "pong": 6, "back": 6, "error": [6, 21, 134], "handl": [6, 134, 162], "grammar": 6, "semant": [7, 39, 59], "analyz": [7, 9], "attribut": [7, 26, 27, 33, 116], "process": [7, 18], "todo": [7, 13, 16, 17, 18, 37, 140], "symbol": [8, 20, 30], "resolut": 8, "data": [8, 21, 94, 112], "type": [8, 20, 21, 42, 63, 64, 69, 80, 94, 112, 128, 129], "flow": 9, "c": [10, 11, 20, 29, 35, 36, 38, 39, 47, 63, 71, 94], "gener": [10, 20, 21, 52, 69, 130], "link": [11, 90, 154], "bind": [12, 18, 19, 21, 38, 47, 63, 71, 94, 155], "vapi": [12, 20, 21, 22, 25, 94, 155], "introspect": [12, 14, 20, 21, 159], "gobject": [12, 20, 21, 94, 131], "libge": 13, "intern": 13, "other": [14, 20, 94, 101, 112], "tool": [14, 87, 92, 99, 101, 156], "gen": [14, 159], "vapigen": [14, 158], "test": [15, 94], "document": [16, 18, 21, 32, 84, 88, 95], "build": [17, 18, 97], "system": [17, 97], "out": [17, 48], "tree": 17, "contributor": 18, "develop": [18, 93], "submit": 18, "report": 18, "patch": 18, "review": 18, "updat": 18, "commit": 18, "debug": [18, 161], "server": [18, 100], "introduct": [20, 95, 106], "annot": [20, 21], "g": [20, 136], "ir": 20, "scanner": 20, "typelib": [20, 94], "libgirepositori": 20, "languag": [20, 94, 100, 105, 115], "support": [20, 100, 102, 137], "abi": 20, "fix": [20, 21, 94], "metadata": 20, "header": [20, 29, 90], "duplic": 20, "nest": 20, "namespac": [20, 21, 28, 115], "nullabl": [20, 50], "return": [20, 48, 56, 63], "valu": [20, 48, 53, 112], "variad": [20, 55], "function": [20, 45, 47, 56, 63, 68, 75], "ownership": [20, 37, 49, 80, 142], "struct": [20, 42, 43, 65, 69, 71, 72, 73, 94, 115], "field": [20, 71], "virtual": [20, 124], "method": [20, 51, 57, 58, 60, 69, 115, 124, 125, 127, 137, 140, 142], "without": 20, "invok": 20, "abstract": [20, 124], "distinct": 20, "gclosur": 20, "inherit": [20, 94, 123, 125], "asynchron": [20, 140], "finish": 20, "macro": 20, "custom": 20, "No": 20, "A": 20, "note": 20, "deprec": 20, "gidl": 20, "distribut": 21, "upstream": 21, "catch": 21, "earlier": 21, "get": [21, 24, 94], "quicker": 21, "match": 21, "version": [21, 33], "instal": [21, 96], "softwar": 21, "higher": 21, "qualiti": 21, "api": [21, 92], "us": [21, 34, 94, 153, 154, 162], "directli": 21, "i": [21, 66, 94, 106], "don": [21, 94], "t": [21, 94], "know": 21, "anyth": 21, "how": [21, 94], "work": 21, "gir": [21, 94], "autotool": [21, 154], "integr": [21, 146], "write": [21, 22], "By": 21, "hand": 21, "manual": 22, "prerequisit": [23, 125], "start": [24, 86], "ccode": 27, "creat": [28, 94, 154], "root": 28, "includ": [29, 94], "name": 30, "translat": 30, "format": [31, 90], "convent": [31, 106], "valadoc": [32, 85, 92], "org": [32, 92], "": [34, 35, 53, 63, 71], "automat": 34, "memori": 34, "manag": 34, "pointer": [35, 68, 69, 70, 73, 75, 94, 144], "what": [35, 92, 94, 106], "all": 35, "mean": [35, 66, 94], "constant": [36, 40, 66], "stack": 36, "heap": [36, 38], "concept": 37, "handler": 38, "recogn": 39, "enum": 41, "flag": 41, "simpl": 42, "compact": [44, 94], "class": [44, 69, 94, 115, 124, 145], "singli": 44, "own": [44, 82], "refer": [44, 48, 57, 58, 92, 112, 141, 142], "count": 44, "deleg": [46, 83, 115], "fundament": 47, "paramet": [48, 63, 69, 135], "static": [51, 94, 112], "chang": [52, 53, 57], "posit": [52, 53], "argument": [52, 53, 55, 66, 143], "default": [53, 125], "an": [53, 66, 94], "adapt": 54, "signatur": 54, "wrapper": 54, "k": [55, 136], "That": 56, "do": [56, 94], "Not": 56, "instanc": [57, 58], "destroi": 58, "ad": 59, "friendli": 59, "to_str": 60, "properti": [61, 122, 125, 142], "collect": [62, 136], "basic": [64, 86, 108, 118], "arrai": [66, 74, 79, 82, 94, 112], "length": [66, 79, 81, 143], "pass": [66, 94], "null": [66, 151], "termin": 66, "express": [66, 149, 150], "unknown": 66, "known": 66, "some": [66, 94], "awkward": [66, 78], "string": [67, 94, 112], "buffer": 67, "variabl": [69, 143], "user": [69, 94], "case": 69, "union": 76, "extra": 77, "hint": 77, "situat": 78, "depend": 80, "member": [81, 94], "unown": [82, 142], "object": [82, 94, 117, 145], "share": 83, "context": 83, "quick": 86, "usag": 86, "essenti": 87, "comment": [88, 90, 111], "markup": 88, "structur": [88, 114], "brief": 89, "descript": 89, "exampl": [89, 140, 154], "linebreak": 90, "paragraph": 90, "output": 90, "text": 90, "highlight": 90, "block": [90, 91], "imag": 90, "tabl": 90, "taglet": 91, "inlin": 91, "contribut": [92, 95], "you": [92, 94], "re": 92, "read": [92, 94, 136], "now": 92, "faq": 94, "have": 94, "whole": 94, "new": [94, 112], "program": [94, 103, 105, 107, 117, 133], "didn": 94, "just": 94, "d": [94, 146], "java": 94, "python": 94, "can": 94, "librari": [94, 152, 153, 154, 155], "doe": 94, "perform": 94, "applic": 94, "compar": 94, "quit": 94, "similiar": 94, "plan": 94, "replac": 94, "mono": 94, "foo": 94, "keyword": 94, "identifi": 94, "arithmet": 94, "insid": 94, "subclass": 94, "forc": 94, "cast": [94, 112, 129], "one": 94, "anoth": 94, "preprocessor": 94, "simpletyp": 94, "stdin": 94, "gtype": 94, "someth": 94, "initi": 94, "chain": [94, 149], "base": 94, "constructor": 94, "convert": 94, "uint8": 94, "char": 94, "viceversa": 94, "callback": 94, "config": 94, "h": 94, "first": [94, 107], "cc": 94, "warn": 94, "instead": 94, "should": 94, "pkg": 94, "local": 94, "copi": 94, "my": 94, "good": 94, "practic": 94, "section": 95, "extern": 95, "resourc": [95, 138], "commun": 95, "linux": 96, "fedora": 96, "debian": 96, "arch": 96, "alt": 96, "bsd": 96, "window": 96, "msys2": 96, "subsystem": 96, "wsl": 96, "mac": 96, "o": 96, "x": 96, "verifi": 96, "id": 98, "protocol": 100, "syntax": [102, 110, 137], "gui": 103, "tutori": [104, 106], "main": [106, 139], "who": 106, "thi": 106, "run": [107, 128], "overview": 110, "infer": 112, "defin": [112, 125], "oper": 113, "control": [114, 138], "element": 115, "anonym": 115, "closur": 115, "interfac": [115, 125], "orient": 117, "construct": [119, 131], "destruct": 120, "signal": 121, "implement": 125, "mixin": 125, "multipl": 125, "explicit": 125, "polymorph": 126, "hide": 127, "time": 128, "dynam": 129, "advanc": 132, "featur": [132, 148], "assert": 133, "contract": 133, "direct": 135, "arraylist": 136, "hashmap": 136, "v": 136, "hashset": 136, "onli": 136, "view": 136, "With": 137, "multi": 138, "thread": 138, "loop": 139, "weak": 141, "transfer": 142, "non": [145, 151], "bu": 146, "profil": 147, "experiment": 148, "relat": 149, "regular": 150, "liter": 150, "strict": 151, "mode": 151, "techniqu": 160, "glib": 162}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"About Vala": [[0, "about-vala"]], "Why Vala?": [[0, "why-vala"]], "Compiler Guide": [[1, "compiler-guide"]], "License": [[1, "license"], [2, "license"]], "Acknowledgements": [[1, "acknowledgements"]], "Edited by": [[1, "edited-by"]], "Chapters": [[1, "chapters"]], "Project Information": [[2, "project-information"]], "Website, Mailing List, Bug Tracker, Matrix Room": [[2, "website-mailing-list-bug-tracker-matrix-room"]], "Project Maintainers": [[2, "project-maintainers"]], "Environment Setup": [[3, "environment-setup"]], "Compiling from the Source Repository": [[3, "compiling-from-the-source-repository"]], "Setting up your editor": [[3, "setting-up-your-editor"]], "Files": [[3, "files"]], "Coding Style": [[3, "coding-style"]], "The Vala Compiler": [[4, "the-vala-compiler"]], "Vala in a Nutshell": [[5, "vala-in-a-nutshell"]], "Command-line Options": [[5, "command-line-options"]], "The Compilation Procedure and Vala.CodeContext": [[5, "the-compilation-procedure-and-vala-codecontext"]], "The valac Pipeline": [[5, "the-valac-pipeline"]], "Parser": [[6, "parser"]], "Visitors and Ping Pong": [[6, "visitors-and-ping-pong"]], "Back to the Parser": [[6, "back-to-the-parser"]], "Error Handling": [[6, "error-handling"], [134, "error-handling"]], "Grammar of Vala": [[6, "grammar-of-vala"]], "Semantic Analyzer": [[7, "semantic-analyzer"]], "Attribute Processing": [[7, "attribute-processing"]], "Todo": [[7, "id1"], [13, "id1"], [16, "id1"], [16, "id2"], [17, "id1"], [18, "id1"], [37, "id1"], [140, "id1"]], "Symbol Resolution": [[8, "symbol-resolution"]], "Data Types": [[8, "data-types"], [21, "data-types"], [112, "data-types"]], "Symbols": [[8, "symbols"]], "Flow Analyzer": [[9, "flow-analyzer"]], "C Code Generation": [[10, "c-code-generation"]], "C Code Compilation and Linking": [[11, "c-code-compilation-and-linking"]], "Vala Bindings - VAPI": [[12, "vala-bindings-vapi"]], "Vala Introspection": [[12, "vala-introspection"]], "GObject Introspection": [[12, "gobject-introspection"]], "libgee Internal": [[13, "libgee-internal"]], "Other Tools": [[14, "other-tools"], [101, "other-tools"]], "gen-introspect": [[14, "gen-introspect"]], "vapigen": [[14, "vapigen"], [158, "vapigen"]], "vala-gen-introspect": [[14, "vala-gen-introspect"], [159, "vala-gen-introspect"]], "Testing": [[15, "testing"]], "Documentation": [[16, "documentation"], [18, "documentation"], [84, "documentation"]], "Build System": [[17, "build-system"]], "Out-of-tree build": [[17, "out-of-tree-build"]], "Documentation for Contributors to Vala": [[18, "documentation-for-contributors-to-vala"]], "Building from Source": [[18, "building-from-source"]], "Development Process": [[18, "development-process"]], "Submitting Bug Reports": [[18, "submitting-bug-reports"]], "Submitting Patches": [[18, "submitting-patches"]], "Reviewing and Updating Patches": [[18, "reviewing-and-updating-patches"]], "Committing Patches": [[18, "committing-patches"]], "Maintaining Bindings": [[18, "maintaining-bindings"]], "Developing the Compiler": [[18, "developing-the-compiler"]], "Debugging": [[18, "debugging"], [161, "debugging"]], "The Build Server": [[18, "the-build-server"]], "Bindings": [[19, "bindings"]], "Generating a VAPI with GObject Introspection": [[20, "generating-a-vapi-with-gobject-introspection"]], "Introduction": [[20, "introduction"], [95, "introduction"], [106, "introduction"]], "GObject Introspection Repository Files": [[20, "gobject-introspection-repository-files"]], "Source Code Annotations and g-ir-scanner": [[20, "source-code-annotations-and-g-ir-scanner"]], "Typelib Files and libgirepository": [[20, "typelib-files-and-libgirepository"]], "Other Languages that Support the C ABI": [[20, "other-languages-that-support-the-c-abi"]], "Generating the VAPI File": [[20, "generating-the-vapi-file"]], "Fixing VAPI Generation with Metadata": [[20, "fixing-vapi-generation-with-metadata"]], "C Headers": [[20, "c-headers"]], "Duplicate Symbols": [[20, "duplicate-symbols"]], "Nested Namespaces": [[20, "nested-namespaces"]], "Nullability of Return Values": [[20, "nullability-of-return-values"]], "Variadic Functions": [[20, "variadic-functions"]], "Ownership of Struct Fields": [[20, "ownership-of-struct-fields"]], "Virtual Methods Without Invokers": [[20, "virtual-methods-without-invokers"]], "Abstract/Virtual Distinction": [[20, "abstract-virtual-distinction"]], "Generic Types": [[20, "generic-types"]], "GClosure Types": [[20, "gclosure-types"]], "Inheritance": [[20, "inheritance"], [123, "inheritance"]], "Asynchronous Finish Functions": [[20, "asynchronous-finish-functions"]], "Macros": [[20, "macros"]], "Fixing VAPI Generation with Custom Vala Code": [[20, "fixing-vapi-generation-with-custom-vala-code"]], "No Generic Methods": [[20, "no-generic-methods"]], "A Note on the Deprecated GIDL Method": [[20, "a-note-on-the-deprecated-gidl-method"]], "Why Distribute Bindings Upstream": [[21, "why-distribute-bindings-upstream"]], "Catch errors earlier": [[21, "catch-errors-earlier"]], "Annotation bugs get fixed quicker": [[21, "annotation-bugs-get-fixed-quicker"]], "Matching the version of the installed software": [[21, "matching-the-version-of-the-installed-software"]], "Higher quality bindings": [[21, "higher-quality-bindings"]], "API documentation": [[21, "api-documentation"]], "Why not use GObject Introspection directly?": [[21, "why-not-use-gobject-introspection-directly"]], "I Don\u2019t Know Anything About Vala (or Vala Bindings)": [[21, "i-don-t-know-anything-about-vala-or-vala-bindings"]], "How Vala Bindings Work": [[21, "how-vala-bindings-work"]], "Generating a VAPI from GObject Introspection": [[21, "generating-a-vapi-from-gobject-introspection"]], "Generating a GIR": [[21, "generating-a-gir"]], "Generating a VAPI from a GIR": [[21, "generating-a-vapi-from-a-gir"]], "Autotools Integration": [[21, "autotools-integration"]], "Writing a VAPI By Hand": [[21, "writing-a-vapi-by-hand"]], "Namespaces": [[21, "namespaces"], [115, "namespaces"]], "Writing a VAPI Manually": [[22, "writing-a-vapi-manually"]], "Prerequisites": [[23, "prerequisites"]], "Getting Started": [[24, "getting-started"]], "The VAPI File": [[25, "the-vapi-file"]], "Attribution and License": [[26, "attribution-and-license"]], "The CCode Attribute": [[27, "the-ccode-attribute"]], "Create a Root Namespace": [[28, "create-a-root-namespace"]], "Include the C Header Files": [[29, "include-the-c-header-files"]], "Symbol Name Translations": [[30, "symbol-name-translations"]], "Code Formatting Conventions": [[31, "code-formatting-conventions"]], "Documentation and Valadoc.org": [[32, "documentation-and-valadoc-org"]], "The Version Attribute": [[33, "the-version-attribute"]], "Using Vala\u2019s Automatic Memory Management": [[34, "using-vala-s-automatic-memory-management"]], "Pointers in C (or what all these *\u2019s mean)": [[35, "pointers-in-c-or-what-all-these-s-mean"]], "Constants, the Stack and the Heap in C": [[36, "constants-the-stack-and-the-heap-in-c"]], "The Concept of \u201cOwnership\u201d in Vala": [[37, "the-concept-of-ownership-in-vala"]], "Binding to C Heap Handlers": [[38, "binding-to-c-heap-handlers"]], "Recognizing Vala Semantics in C Code": [[39, "recognizing-vala-semantics-in-c-code"]], "Constants": [[40, "constants"]], "Enums and Flags": [[41, "enums-and-flags"]], "Simple Type Structs": [[42, "simple-type-structs"]], "Structs": [[43, "structs"], [65, "structs"], [72, "structs"], [115, "structs"]], "Compact Classes": [[44, "compact-classes"]], "Singly-Owned Classes": [[44, "singly-owned-classes"]], "Reference-Counted Classes": [[44, "reference-counted-classes"]], "Functions": [[45, "functions"]], "Delegates": [[46, "delegates"], [115, "delegates"]], "Fundamentals of Binding a C Function": [[47, "fundamentals-of-binding-a-c-function"]], "Out and Reference Parameters and Return Values": [[48, "out-and-reference-parameters-and-return-values"]], "Ownership": [[49, "ownership"], [142, "ownership"]], "Nullability": [[50, "nullability"]], "Static Methods": [[51, "static-methods"]], "Changing the Position of Generated Arguments": [[52, "changing-the-position-of-generated-arguments"]], "Default Values and Changing an Argument\u2019s Position": [[53, "default-values-and-changing-an-argument-s-position"]], "Adapting a Signature with a Vala Wrapper": [[54, "adapting-a-signature-with-a-vala-wrapper"]], "Variadic Arguments (a.k.a. \u201c\u2026\u201d)": [[55, "variadic-arguments-a-k-a"]], "Functions That Do Not Return": [[56, "functions-that-do-not-return"]], "Methods that Change the Instance Reference": [[57, "methods-that-change-the-instance-reference"]], "Methods that Destroy the Instance Reference": [[58, "methods-that-destroy-the-instance-reference"]], "Adding Vala Friendly Semantics": [[59, "adding-vala-friendly-semantics"]], "to_string () Methods": [[60, "to-string-methods"]], "Properties": [[61, "properties"], [122, "properties"], [125, "properties"]], "Collections": [[62, "collections"], [136, "collections"]], "Binding a C Function\u2019s Parameter and Return Types": [[63, "binding-a-c-function-s-parameter-and-return-types"]], "Basic Types": [[64, "basic-types"]], "Arrays": [[66, "arrays"], [74, "arrays"], [112, "arrays"]], "Array Length is Passed as an Argument": [[66, "array-length-is-passed-as-an-argument"]], "Array is Null-Terminated": [[66, "array-is-null-terminated"]], "Array Length is a Constant Expression": [[66, "array-length-is-a-constant-expression"]], "Array Length is Unknown": [[66, "array-length-is-unknown"]], "Array Length is Known by Some Awkward Means": [[66, "array-length-is-known-by-some-awkward-means"]], "Strings and Buffers": [[67, "strings-and-buffers"]], "Function Pointers": [[68, "function-pointers"], [75, "function-pointers"]], "Parameters of Variable Type (Generics)": [[69, "parameters-of-variable-type-generics"]], "Generic Methods": [[69, "generic-methods"]], "Generic Classes and Structs": [[69, "generic-classes-and-structs"]], "The User Pointer Case": [[69, "the-user-pointer-case"]], "Pointers": [[70, "pointers"], [144, "pointers"]], "Binding a C Struct\u2019s Fields": [[71, "binding-a-c-struct-s-fields"]], "Pointers to Structs": [[73, "pointers-to-structs"]], "Unions": [[76, "unions"]], "Extra Hints": [[77, "extra-hints"]], "Awkward Situations": [[78, "awkward-situations"]], "Array Lengths": [[79, "array-lengths"]], "Dependently Typed Ownership": [[80, "dependently-typed-ownership"]], "Member Length": [[81, "member-length"]], "Owned Array of Unowned Objects": [[82, "owned-array-of-unowned-objects"]], "Shared Context Delegates": [[83, "shared-context-delegates"]], "Valadoc Guide": [[85, "valadoc-guide"]], "Quick Start": [[86, "quick-start"]], "Basic Usage": [[86, "basic-usage"]], "Command Line Tool": [[87, "command-line-tool"]], "Essential Options": [[87, "essential-options"]], "Documentation Comment Markup": [[88, "documentation-comment-markup"]], "Documentation Comment Structure": [[88, "documentation-comment-structure"]], "Brief Description": [[89, "brief-description"]], "Example": [[89, "example"], [154, "example"], [154, "id1"]], "Formatting": [[90, "formatting"]], "Linebreaks and Paragraphs": [[90, "linebreaks-and-paragraphs"]], "Comment": [[90, "comment"], [90, "id1"], [90, "id3"], [90, "id5"], [90, "id7"], [90, "id9"], [90, "id11"]], "Output": [[90, "output"], [90, "id2"], [90, "id4"], [90, "id6"], [90, "id8"], [90, "id10"], [90, "id12"]], "Text Highlighting": [[90, "text-highlighting"]], "Lists": [[90, "lists"]], "Code Blocks": [[90, "code-blocks"]], "Images and Links": [[90, "images-and-links"]], "Tables": [[90, "tables"]], "Headers": [[90, "headers"]], "Taglets": [[91, "taglets"]], "Inline Taglets": [[91, "inline-taglets"]], "Block Taglets": [[91, "block-taglets"]], "Contributing to Valadoc": [[92, "contributing-to-valadoc"]], "Valadoc Guide (What you\u2019re reading now!)": [[92, "valadoc-guide-what-you-re-reading-now"]], "Valadoc Command Line Tool": [[92, "valadoc-command-line-tool"]], "Valadoc.org (API References Website)": [[92, "valadoc-org-api-references-website"]], "Developer Guides": [[93, "developer-guides"]], "Vala FAQ": [[94, "vala-faq"]], "Why have you created a whole new programming language? Why didn\u2019t you just use C++, C#, D, Java, Python,\u2026?": [[94, "why-have-you-created-a-whole-new-programming-language-why-didn-t-you-just-use-c-c-d-java-python"]], "How can I use Vala libraries from C, C++, C#, D, Java, Python,\u2026?": [[94, "how-can-i-use-vala-libraries-from-c-c-c-d-java-python"]], "How does the performance of Vala applications compare to other applications?": [[94, "how-does-the-performance-of-vala-applications-compare-to-other-applications"]], "Vala is quite similiar to C#. Do you plan to replace Mono?": [[94, "vala-is-quite-similiar-to-c-do-you-plan-to-replace-mono"]], "What does \u201cstring? foo\u201d mean?": [[94, "what-does-string-foo-mean"]], "Can I use keywords as identifiers?": [[94, "can-i-use-keywords-as-identifiers"]], "Why do I have to inherit from GObject?": [[94, "why-do-i-have-to-inherit-from-gobject"]], "Can I use pointer arithmetic inside strings?": [[94, "can-i-use-pointer-arithmetic-inside-strings"]], "How to test if an object is some class or subclass?": [[94, "how-to-test-if-an-object-is-some-class-or-subclass"]], "How to force cast an object from one type to another type?": [[94, "how-to-force-cast-an-object-from-one-type-to-another-type"]], "Does Vala have a preprocessor?": [[94, "does-vala-have-a-preprocessor"]], "What does [SimpleType] and [Compact] in bindings mean?": [[94, "what-does-simpletype-and-compact-in-bindings-mean"]], "How do I read from stdin?": [[94, "how-do-i-read-from-stdin"]], "How do I get the GType for something?": [[94, "how-do-i-get-the-gtype-for-something"]], "Why do static members not get initialized?": [[94, "why-do-static-members-not-get-initialized"]], "Why can\u2019t I chain up to base constructor?": [[94, "why-can-t-i-chain-up-to-base-constructor"]], "How do I convert from uint8[] (or char[]) to string and viceversa?": [[94, "how-do-i-convert-from-uint8-or-char-to-string-and-viceversa"]], "How do I create an array of structs?": [[94, "how-do-i-create-an-array-of-structs"]], "How do I pass user data for a callback?": [[94, "how-do-i-pass-user-data-for-a-callback"]], "I have a config.vapi binding for config.h, but it is not the first file included": [[94, "i-have-a-config-vapi-binding-for-config-h-but-it-is-not-the-first-file-included"]], "How can I fix CC warnings?": [[94, "how-can-i-fix-cc-warnings"]], "Why don\u2019t you use .typelib instead of .gir?": [[94, "why-don-t-you-use-typelib-instead-of-gir"]], "Why should I use .vapi instead of .gir with --pkg?": [[94, "why-should-i-use-vapi-instead-of-gir-with-pkg"]], "Is having a local copy of a .vapi in my project good practice?": [[94, "is-having-a-local-copy-of-a-vapi-in-my-project-good-practice"]], "Vala Documentation": [[95, "vala-documentation"]], "Sections": [[95, "sections"]], "External Resources": [[95, "external-resources"]], "Community": [[95, "community"]], "Contribute": [[95, "contribute"]], "Installation Guide": [[96, "installation-guide"]], "Linux": [[96, "linux"]], "Fedora": [[96, "fedora"]], "Debian": [[96, "debian"]], "Arch Linux": [[96, "arch-linux"]], "ALT Linux": [[96, "alt-linux"]], "*BSD": [[96, "bsd"]], "Windows": [[96, "windows"]], "MSYS2": [[96, "msys2"]], "Windows Subsystem for Windows (WSL)": [[96, "windows-subsystem-for-windows-wsl"]], "Mac OS X": [[96, "mac-os-x"]], "Verifying the Installation": [[96, "verifying-the-installation"]], "Build Systems": [[97, "build-systems"]], "Code Editors and IDEs": [[98, "code-editors-and-ides"]], "Tooling": [[99, "tooling"]], "Language Server Protocol Support": [[100, "language-server-protocol-support"]], "Syntax Support": [[102, "syntax-support"]], "GUI Programming": [[103, "gui-programming"]], "Tutorials": [[104, "tutorials"]], "Programming Language": [[105, "programming-language"]], "Main Tutorial": [[106, "main-tutorial"]], "What is Vala?": [[106, "what-is-vala"]], "Who is this tutorial for?": [[106, "who-is-this-tutorial-for"]], "Conventions": [[106, "conventions"]], "First Program": [[107, "first-program"]], "Your First Program": [[107, "your-first-program"]], "Compile and Run": [[107, "compile-and-run"]], "Basics": [[108, "basics"], [118, "basics"]], "Source Files and Compilation": [[109, "source-files-and-compilation"]], "Syntax Overview": [[110, "syntax-overview"]], "Comments": [[111, "comments"]], "Value Types": [[112, "value-types"]], "Strings": [[112, "strings"]], "Reference Types": [[112, "reference-types"]], "Static Type Casting": [[112, "static-type-casting"]], "Type Inference": [[112, "type-inference"]], "Defining new Type from other": [[112, "defining-new-type-from-other"]], "Operators": [[113, "operators"]], "Control Structures": [[114, "control-structures"]], "Language Elements": [[115, "language-elements"]], "Methods": [[115, "methods"]], "Anonymous Methods / Closures": [[115, "anonymous-methods-closures"]], "Classes": [[115, "classes"]], "Interfaces": [[115, "interfaces"], [125, "interfaces"]], "Code Attributes": [[116, "code-attributes"]], "Object Oriented Programming": [[117, "object-oriented-programming"]], "Construction": [[119, "construction"]], "Destruction": [[120, "destruction"]], "Signals": [[121, "signals"]], "Abstract Classes": [[124, "abstract-classes"]], "Virtual Methods": [[124, "virtual-methods"]], "Defining Prerequisites": [[125, "defining-prerequisites"]], "Defining default implementation in methods": [[125, "defining-default-implementation-in-methods"]], "Mixins and Multiple Inheritance": [[125, "mixins-and-multiple-inheritance"]], "Explicit method implementation": [[125, "explicit-method-implementation"]], "Polymorphism": [[126, "polymorphism"]], "Method Hiding": [[127, "method-hiding"]], "Run-Time Type Information": [[128, "run-time-type-information"]], "Dynamic Type Casting": [[129, "dynamic-type-casting"]], "Generics": [[130, "generics"]], "GObject-Style Construction": [[131, "gobject-style-construction"]], "Advanced Features": [[132, "advanced-features"]], "Assertions and Contract Programming": [[133, "assertions-and-contract-programming"]], "Parameter Directions": [[135, "parameter-directions"]], "ArrayList": [[136, "arraylist-g"]], "HashMap": [[136, "hashmap-k-v"]], "HashSet": [[136, "hashset-g"]], "Read-Only Views": [[136, "read-only-views"]], "Methods With Syntax Support": [[137, "methods-with-syntax-support"]], "Multi-Threading": [[138, "multi-threading"]], "Threads in Vala": [[138, "threads-in-vala"]], "Resource Control": [[138, "resource-control"]], "The Main Loop": [[139, "the-main-loop"]], "Asynchronous Methods": [[140, "asynchronous-methods"]], "Examples": [[140, "examples"]], "Weak References": [[141, "weak-references"]], "Unowned References": [[142, "unowned-references"]], "Methods ownership": [[142, "methods-ownership"]], "Properties ownership": [[142, "properties-ownership"]], "Ownership Transfer": [[142, "ownership-transfer"]], "Variable-Length Argument Lists": [[143, "variable-length-argument-lists"]], "Non-Object classes": [[145, "non-object-classes"]], "D-Bus Integration": [[146, "d-bus-integration"]], "Profiles": [[147, "profiles"]], "Experimental Features": [[148, "experimental-features"]], "Chained Relational Expressions": [[149, "chained-relational-expressions"]], "Regular Expression Literals": [[150, "regular-expression-literals"]], "Strict Non-Null Mode": [[151, "strict-non-null-mode"]], "Libraries": [[152, "libraries"]], "Using Libraries": [[153, "using-libraries"]], "Creating a Library": [[154, "creating-a-library"]], "Using Autotools": [[154, "using-autotools"]], "Compilation and linking using Command Line": [[154, "compilation-and-linking-using-command-line"]], "Binding Libraries with VAPI Files": [[155, "binding-libraries-with-vapi-files"]], "Tools": [[156, "tools"]], "valac": [[157, "valac"]], "Techniques": [[160, "techniques"]], "Using GLib": [[162, "using-glib"]], "File Handling": [[162, "file-handling"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["about", "contributor-guide/compiler-guide", "contributor-guide/compiler-guide/01-00-project-information", "contributor-guide/compiler-guide/02-00-environment-setup", "contributor-guide/compiler-guide/03-00-the-vala-compiler", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-01-vala-in-a-nutshell", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-02-parser", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-03-semantic-analyzer", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-04-symbol-resolution", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-05-flow-analyzer", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-06-c-code-generation", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-07-c-code-compilation-and-linking", "contributor-guide/compiler-guide/04-00-vala-bindings-vapi", "contributor-guide/compiler-guide/05-00-internal-libgee", "contributor-guide/compiler-guide/06-00-other-tools", "contributor-guide/compiler-guide/07-00-testing", "contributor-guide/compiler-guide/08-00-documentation", "contributor-guide/compiler-guide/09-00-build-system", "contributor-guide/index", "developer-guides/bindings", "developer-guides/bindings/generating-a-vapi-with-gobject-introspection", "developer-guides/bindings/upstream-guide", "developer-guides/bindings/writing-a-vapi-manually", "developer-guides/bindings/writing-a-vapi-manually/01-00-prerequisites", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-01-the-vapi-file", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-02-attribution-and-license", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-03-the-ccode-attribute", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-04-create-a-root-namespace", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-05-include-the-c-header-files", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-06-symbol-name-translations", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-07-code-formatting-conventions", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-08-documentation-and-valadoc-org", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-09-the-version-attribute", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-01-pointers-in-c", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-02-constants-the-stack-and-the-heap-in-c", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-03-the-concept-of-ownership-in-vala", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-04-binding-to-c-heap-handnlers", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-01-constants", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-02-enums-and-flags", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-03-simple-type-structs", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-04-structs", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-05-compact-classes", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-06-functions", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-07-delegates", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-01-out-and-reference-parameters-and-return-values", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-02-ownership", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-03-nullability", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-04-static-methods", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-05-changing-the-position-of-generated-arguments", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-06-default-values-and-changing-an-argument-s-position", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-07-adapting-a-signature-with-a-vala-wrapper", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-08-variadic-arguments", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-09-functions-that-do-not-return", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-10-methods-that-change-the-instance-reference", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-11-methods-that-destroy-the-instance-reference", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-01-to-string-methods", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-02-properties", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-03-collections", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-01-basic-types", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-02-structs", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-03-arrays", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-04-strings-and-buffers", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-05-function-pointers", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-06-parameters-of-variable-type-generics", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-07-pointers", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-01-structs", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-02-pointers-to-structs", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-03-arrays", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-04-function-pointers", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-05-unions", "developer-guides/bindings/writing-a-vapi-manually/09-00-extra-hints", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-01-array-lengths", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-02-dependently-typed-ownership", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-03-member-length", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-04-owned-array-of-unowned-objects", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-05-shared-context-delgates", "developer-guides/documentation", "developer-guides/documentation/valadoc-guide", "developer-guides/documentation/valadoc-guide/01-00-quick-start", "developer-guides/documentation/valadoc-guide/02-00-command-line-tool", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-01-brief-description", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-02-formatting", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-03-taglets", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-04-contributing-to-valadoc", "developer-guides/index", "faq", "index", "installation-guide", "tooling/build-systems", "tooling/code-editors-and-ides", "tooling/index", "tooling/language-server-protocol-support", "tooling/other-tools", "tooling/syntax-support", "tutorials/gui-programming", "tutorials/index", "tutorials/programming-language", "tutorials/programming-language/main", "tutorials/programming-language/main/01-00-first-program", "tutorials/programming-language/main/02-00-basics", "tutorials/programming-language/main/02-00-basics/02-01-source-files-and-compilation", "tutorials/programming-language/main/02-00-basics/02-02-syntax-overview", "tutorials/programming-language/main/02-00-basics/02-03-comments", "tutorials/programming-language/main/02-00-basics/02-04-data-types", "tutorials/programming-language/main/02-00-basics/02-05-operators", "tutorials/programming-language/main/02-00-basics/02-06-control-structures", "tutorials/programming-language/main/02-00-basics/02-07-language-elements", "tutorials/programming-language/main/02-00-basics/02-08-code-attributes", "tutorials/programming-language/main/03-00-object-oriented-programming", "tutorials/programming-language/main/03-00-object-oriented-programming/03-01-basics", "tutorials/programming-language/main/03-00-object-oriented-programming/03-02-construction", "tutorials/programming-language/main/03-00-object-oriented-programming/03-03-destruction", "tutorials/programming-language/main/03-00-object-oriented-programming/03-04-signals", "tutorials/programming-language/main/03-00-object-oriented-programming/03-05-properties", "tutorials/programming-language/main/03-00-object-oriented-programming/03-06-inheritance", "tutorials/programming-language/main/03-00-object-oriented-programming/03-07-abstract-classes", "tutorials/programming-language/main/03-00-object-oriented-programming/03-08-interfaces", "tutorials/programming-language/main/03-00-object-oriented-programming/03-09-polymorphism", "tutorials/programming-language/main/03-00-object-oriented-programming/03-10-method-hiding", "tutorials/programming-language/main/03-00-object-oriented-programming/03-11-run-time-type-information", "tutorials/programming-language/main/03-00-object-oriented-programming/03-12-dynamic-type-casting", "tutorials/programming-language/main/03-00-object-oriented-programming/03-13-generics", "tutorials/programming-language/main/03-00-object-oriented-programming/03-14-gobject-style-construction", "tutorials/programming-language/main/04-00-advanced-features", "tutorials/programming-language/main/04-00-advanced-features/04-01-assertions-and-contract-programming", "tutorials/programming-language/main/04-00-advanced-features/04-02-error-handling", "tutorials/programming-language/main/04-00-advanced-features/04-03-parameter-directions", "tutorials/programming-language/main/04-00-advanced-features/04-04-collections", "tutorials/programming-language/main/04-00-advanced-features/04-05-methods-with-syntax-support", "tutorials/programming-language/main/04-00-advanced-features/04-06-multi-threading", "tutorials/programming-language/main/04-00-advanced-features/04-07-the-main-loop", "tutorials/programming-language/main/04-00-advanced-features/04-08-asynchronous-methods", "tutorials/programming-language/main/04-00-advanced-features/04-09-weak-references", "tutorials/programming-language/main/04-00-advanced-features/04-10-ownership", "tutorials/programming-language/main/04-00-advanced-features/04-11-variable-length-argument-lists", "tutorials/programming-language/main/04-00-advanced-features/04-12-pointers", "tutorials/programming-language/main/04-00-advanced-features/04-13-non-object-classes", "tutorials/programming-language/main/04-00-advanced-features/04-14-d-bus-integration", "tutorials/programming-language/main/04-00-advanced-features/04-15-profiles", "tutorials/programming-language/main/05-00-experimental-features", "tutorials/programming-language/main/05-00-experimental-features/05-01-chained-relational-expressions", "tutorials/programming-language/main/05-00-experimental-features/05-02-regular-expression-literals", "tutorials/programming-language/main/05-00-experimental-features/05-03-strict-non-null-mode", "tutorials/programming-language/main/06-00-libraries", "tutorials/programming-language/main/06-00-libraries/06-01-using-libraries", "tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library", "tutorials/programming-language/main/06-00-libraries/06-03-binding-libraries-with-vapi-files", "tutorials/programming-language/main/06-00-libraries/06-04-abi-and-api-design-choices", "tutorials/programming-language/main/06-00-libraries/06-05-binding-to-vala-libraries-from-other-languages", "tutorials/programming-language/main/06-00-libraries/06-06-using-autotools", "tutorials/programming-language/main/07-00-tools", "tutorials/programming-language/main/07-00-tools/07-01-valac", "tutorials/programming-language/main/07-00-tools/07-02-vapigen", "tutorials/programming-language/main/07-00-tools/07-03-vala-gen-introspect", "tutorials/programming-language/main/08-00-techniques", "tutorials/programming-language/main/08-00-techniques/08-01-debugging", "tutorials/programming-language/main/08-00-techniques/08-02-using-glib"], "filenames": ["about.rst", "contributor-guide/compiler-guide.rst", "contributor-guide/compiler-guide/01-00-project-information.rst", "contributor-guide/compiler-guide/02-00-environment-setup.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-01-vala-in-a-nutshell.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-02-parser.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-03-semantic-analyzer.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-04-symbol-resolution.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-05-flow-analyzer.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-06-c-code-generation.rst", "contributor-guide/compiler-guide/03-00-the-vala-compiler/03-07-c-code-compilation-and-linking.rst", "contributor-guide/compiler-guide/04-00-vala-bindings-vapi.rst", "contributor-guide/compiler-guide/05-00-internal-libgee.rst", "contributor-guide/compiler-guide/06-00-other-tools.rst", "contributor-guide/compiler-guide/07-00-testing.rst", "contributor-guide/compiler-guide/08-00-documentation.rst", "contributor-guide/compiler-guide/09-00-build-system.rst", "contributor-guide/index.rst", "developer-guides/bindings.rst", "developer-guides/bindings/generating-a-vapi-with-gobject-introspection.rst", "developer-guides/bindings/upstream-guide.rst", "developer-guides/bindings/writing-a-vapi-manually.rst", "developer-guides/bindings/writing-a-vapi-manually/01-00-prerequisites.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-01-the-vapi-file.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-02-attribution-and-license.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-03-the-ccode-attribute.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-04-create-a-root-namespace.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-05-include-the-c-header-files.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-06-symbol-name-translations.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-07-code-formatting-conventions.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-08-documentation-and-valadoc-org.rst", "developer-guides/bindings/writing-a-vapi-manually/02-00-getting-started/02-09-the-version-attribute.rst", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management.rst", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-01-pointers-in-c.rst", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-02-constants-the-stack-and-the-heap-in-c.rst", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-03-the-concept-of-ownership-in-vala.rst", "developer-guides/bindings/writing-a-vapi-manually/03-00-using-auto-memory-management/03-04-binding-to-c-heap-handnlers.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-01-constants.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-02-enums-and-flags.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-03-simple-type-structs.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-04-structs.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-05-compact-classes.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-06-functions.rst", "developer-guides/bindings/writing-a-vapi-manually/04-00-recognizing-vala-semantics-in-c-code/04-07-delegates.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-01-out-and-reference-parameters-and-return-values.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-02-ownership.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-03-nullability.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-04-static-methods.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-05-changing-the-position-of-generated-arguments.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-06-default-values-and-changing-an-argument-s-position.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-07-adapting-a-signature-with-a-vala-wrapper.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-08-variadic-arguments.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-09-functions-that-do-not-return.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-10-methods-that-change-the-instance-reference.rst", "developer-guides/bindings/writing-a-vapi-manually/05-00-fundamentals-of-binding-a-c-function/05-11-methods-that-destroy-the-instance-reference.rst", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics.rst", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-01-to-string-methods.rst", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-02-properties.rst", "developer-guides/bindings/writing-a-vapi-manually/06-00-adding-vala-friendly-semantics/06-03-collections.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-01-basic-types.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-02-structs.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-03-arrays.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-04-strings-and-buffers.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-05-function-pointers.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-06-parameters-of-variable-type-generics.rst", "developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-07-pointers.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-01-structs.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-02-pointers-to-structs.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-03-arrays.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-04-function-pointers.rst", "developer-guides/bindings/writing-a-vapi-manually/08-00-binding-a-c-struct-s-fields/08-05-unions.rst", "developer-guides/bindings/writing-a-vapi-manually/09-00-extra-hints.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-01-array-lengths.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-02-dependently-typed-ownership.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-03-member-length.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-04-owned-array-of-unowned-objects.rst", "developer-guides/bindings/writing-a-vapi-manually/10-00-awkward-situations/10-05-shared-context-delgates.rst", "developer-guides/documentation.rst", "developer-guides/documentation/valadoc-guide.rst", "developer-guides/documentation/valadoc-guide/01-00-quick-start.rst", "developer-guides/documentation/valadoc-guide/02-00-command-line-tool.rst", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup.rst", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-01-brief-description.rst", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-02-formatting.rst", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-03-taglets.rst", "developer-guides/documentation/valadoc-guide/03-00-documentation-comment-markup/03-04-contributing-to-valadoc.rst", "developer-guides/index.rst", "faq.rst", "index.rst", "installation-guide.rst", "tooling/build-systems.rst", "tooling/code-editors-and-ides.rst", "tooling/index.rst", "tooling/language-server-protocol-support.rst", "tooling/other-tools.rst", "tooling/syntax-support.rst", "tutorials/gui-programming.rst", "tutorials/index.rst", "tutorials/programming-language.rst", "tutorials/programming-language/main.rst", "tutorials/programming-language/main/01-00-first-program.rst", "tutorials/programming-language/main/02-00-basics.rst", "tutorials/programming-language/main/02-00-basics/02-01-source-files-and-compilation.rst", "tutorials/programming-language/main/02-00-basics/02-02-syntax-overview.rst", "tutorials/programming-language/main/02-00-basics/02-03-comments.rst", "tutorials/programming-language/main/02-00-basics/02-04-data-types.rst", "tutorials/programming-language/main/02-00-basics/02-05-operators.rst", "tutorials/programming-language/main/02-00-basics/02-06-control-structures.rst", "tutorials/programming-language/main/02-00-basics/02-07-language-elements.rst", "tutorials/programming-language/main/02-00-basics/02-08-code-attributes.rst", "tutorials/programming-language/main/03-00-object-oriented-programming.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-01-basics.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-02-construction.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-03-destruction.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-04-signals.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-05-properties.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-06-inheritance.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-07-abstract-classes.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-08-interfaces.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-09-polymorphism.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-10-method-hiding.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-11-run-time-type-information.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-12-dynamic-type-casting.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-13-generics.rst", "tutorials/programming-language/main/03-00-object-oriented-programming/03-14-gobject-style-construction.rst", "tutorials/programming-language/main/04-00-advanced-features.rst", "tutorials/programming-language/main/04-00-advanced-features/04-01-assertions-and-contract-programming.rst", "tutorials/programming-language/main/04-00-advanced-features/04-02-error-handling.rst", "tutorials/programming-language/main/04-00-advanced-features/04-03-parameter-directions.rst", "tutorials/programming-language/main/04-00-advanced-features/04-04-collections.rst", "tutorials/programming-language/main/04-00-advanced-features/04-05-methods-with-syntax-support.rst", "tutorials/programming-language/main/04-00-advanced-features/04-06-multi-threading.rst", "tutorials/programming-language/main/04-00-advanced-features/04-07-the-main-loop.rst", "tutorials/programming-language/main/04-00-advanced-features/04-08-asynchronous-methods.rst", "tutorials/programming-language/main/04-00-advanced-features/04-09-weak-references.rst", "tutorials/programming-language/main/04-00-advanced-features/04-10-ownership.rst", "tutorials/programming-language/main/04-00-advanced-features/04-11-variable-length-argument-lists.rst", "tutorials/programming-language/main/04-00-advanced-features/04-12-pointers.rst", "tutorials/programming-language/main/04-00-advanced-features/04-13-non-object-classes.rst", "tutorials/programming-language/main/04-00-advanced-features/04-14-d-bus-integration.rst", "tutorials/programming-language/main/04-00-advanced-features/04-15-profiles.rst", "tutorials/programming-language/main/05-00-experimental-features.rst", "tutorials/programming-language/main/05-00-experimental-features/05-01-chained-relational-expressions.rst", "tutorials/programming-language/main/05-00-experimental-features/05-02-regular-expression-literals.rst", "tutorials/programming-language/main/05-00-experimental-features/05-03-strict-non-null-mode.rst", "tutorials/programming-language/main/06-00-libraries.rst", "tutorials/programming-language/main/06-00-libraries/06-01-using-libraries.rst", "tutorials/programming-language/main/06-00-libraries/06-02-creating-a-library.rst", "tutorials/programming-language/main/06-00-libraries/06-03-binding-libraries-with-vapi-files.rst", "tutorials/programming-language/main/06-00-libraries/06-04-abi-and-api-design-choices.rst", "tutorials/programming-language/main/06-00-libraries/06-05-binding-to-vala-libraries-from-other-languages.rst", "tutorials/programming-language/main/06-00-libraries/06-06-using-autotools.rst", "tutorials/programming-language/main/07-00-tools.rst", "tutorials/programming-language/main/07-00-tools/07-01-valac.rst", "tutorials/programming-language/main/07-00-tools/07-02-vapigen.rst", "tutorials/programming-language/main/07-00-tools/07-03-vala-gen-introspect.rst", "tutorials/programming-language/main/08-00-techniques.rst", "tutorials/programming-language/main/08-00-techniques/08-01-debugging.rst", "tutorials/programming-language/main/08-00-techniques/08-02-using-glib.rst"], "titles": ["About Vala", "Compiler Guide", "1. Project Information", "2. Environment Setup", "3. The Vala Compiler", "3.1. Vala in a Nutshell", "3.2. Parser", "3.3. Semantic Analyzer", "3.4. Symbol Resolution", "3.5. Flow Analyzer", "3.6. C Code Generation", "3.7. C Code Compilation and Linking", "4. Vala Bindings - VAPI", "5. libgee Internal", "6. Other Tools", "7. Testing", "8. Documentation", "9. Build System", "Documentation for Contributors to Vala", "Bindings", "Generating a VAPI with GObject Introspection", "Why Distribute Bindings Upstream", "Writing a VAPI Manually", "1. Prerequisites", "2. Getting Started", "2.1. The VAPI File", "2.2. Attribution and License", "2.3. The CCode Attribute", "2.4. Create a Root Namespace", "2.5. Include the C Header Files", "2.6. Symbol Name Translations", "2.7. Code Formatting Conventions", "2.8. Documentation and Valadoc.org", "2.9. The Version Attribute", "3. Using Vala\u2019s Automatic Memory Management", "3.1. Pointers in C (or what all these *\u2019s mean)", "3.2. Constants, the Stack and the Heap in C", "3.3. The Concept of \u201cOwnership\u201d in Vala", "3.4. Binding to C Heap Handlers", "4. Recognizing Vala Semantics in C Code", "4.1. Constants", "4.2. Enums and Flags", "4.3. Simple Type Structs", "4.4. Structs", "4.5. Compact Classes", "4.6. Functions", "4.7. Delegates", "5. Fundamentals of Binding a C Function", "5.1. Out and Reference Parameters and Return Values", "5.2. Ownership", "5.3. Nullability", "5.4. Static Methods", "5.5. Changing the Position of Generated Arguments", "5.6. Default Values and Changing an Argument\u2019s Position", "5.7. Adapting a Signature with a Vala Wrapper", "5.8. Variadic Arguments (a.k.a. \u201c\u2026\u201d)", "5.9. Functions That Do Not Return", "5.10. Methods that Change the Instance Reference", "5.11. Methods that Destroy the Instance Reference", "6. Adding Vala Friendly Semantics", "6.1. to_string () Methods", "6.2. Properties", "6.3. Collections", "7. Binding a C Function\u2019s Parameter and Return Types", "7.1. Basic Types", "7.2. Structs", "7.3. Arrays", "7.4. Strings and Buffers", "7.5. Function Pointers", "7.6. Parameters of Variable Type (Generics)", "7.7. Pointers", "8. Binding a C Struct\u2019s Fields", "8.1. Structs", "8.2. Pointers to Structs", "8.3. Arrays", "8.4. Function Pointers", "8.5. Unions", "9. Extra Hints", "10. Awkward Situations", "10.1. Array Lengths", "10.2. Dependently Typed Ownership", "10.3. Member Length", "10.4. Owned Array of Unowned Objects", "10.5. Shared Context Delegates", "Documentation", "Valadoc Guide", "1. Quick Start", "2. Command Line Tool", "3. Documentation Comment Markup", "3.1.1. Brief Description", "3.1.2. Formatting", "3.1.3. Taglets", "3.1.4. Contributing to Valadoc", "Developer Guides", "Vala FAQ", "Vala Documentation", "Installation Guide", "Build Systems", "Code Editors and IDEs", "Tooling", "Language Server Protocol Support", "Other Tools", "Syntax Support", "GUI Programming", "Tutorials", "Programming Language", "Main Tutorial", "1. First Program", "2. Basics", "2.1. Source Files and Compilation", "2.2. Syntax Overview", "2.3. Comments", "2.4. Data Types", "2.5. Operators", "2.6. Control Structures", "2.7. Language Elements", "2.8. Code Attributes", "3. Object Oriented Programming", "3.1. Basics", "3.2. Construction", "3.3. Destruction", "3.4. Signals", "3.5. Properties", "3.6. Inheritance", "3.7. Abstract Classes", "3.8. Interfaces", "3.9. Polymorphism", "3.10. Method Hiding", "3.11. Run-Time Type Information", "3.12. Dynamic Type Casting", "3.13. Generics", "3.14. GObject-Style Construction", "4. Advanced Features", "4.1. Assertions and Contract Programming", "4.2. Error Handling", "4.3. Parameter Directions", "4.4. Collections", "4.5. Methods With Syntax Support", "4.6. Multi-Threading", "4.7. The Main Loop", "4.8. Asynchronous Methods", "4.9. Weak References", "4.10. Ownership", "4.11. Variable-Length Argument Lists", "4.12. Pointers", "4.13. Non-Object classes", "4.14. D-Bus Integration", "4.15. Profiles", "5. Experimental Features", "5.1. Chained Relational Expressions", "5.2. Regular Expression Literals", "5.3. Strict Non-Null Mode", "6. Libraries", "6.1. Using Libraries", "6.2. Creating a Library", "6.3. Binding Libraries with VAPI Files", "6.4. ABI and API Design Choices", "6.5. Binding to Vala Libraries from Other Languages", "6.6. Using Autotools", "7. Tools", "7.1. valac", "7.2. vapigen", "7.3. vala-gen-introspect", "8. Techniques", "8.1. Debugging", "8.2. Using GLib"], "terms": {"valac": [0, 4, 17, 20, 21, 25, 30, 45, 94, 96, 101, 107, 109, 146, 147, 153, 154, 158, 159, 164], "compil": [0, 2, 6, 7, 16, 17, 20, 21, 25, 30, 34, 36, 40, 42, 51, 55, 56, 59, 92, 94, 95, 98, 106, 108, 115, 116, 125, 134, 136, 142, 143, 145, 146, 147, 151, 152, 153, 155, 157, 158, 160, 164], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 15, 16, 17, 18, 20, 22, 23, 25, 26, 28, 30, 32, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 61, 62, 63, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 83, 85, 87, 89, 90, 91, 92, 95, 96, 98, 102, 107, 109, 110, 112, 113, 114, 115, 116, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 160, 161, 162, 165], "self": [0, 52, 61], "host": 0, "translat": [0, 20, 24, 28, 42, 62, 64, 134, 156, 165], "sourc": [0, 2, 5, 6, 16, 17, 21, 23, 26, 49, 60, 80, 85, 87, 92, 94, 95, 98, 101, 102, 107, 108, 122, 129, 139, 140, 154, 155, 157, 158, 160, 164], "code": [0, 1, 2, 4, 5, 6, 7, 8, 12, 16, 18, 21, 22, 24, 27, 30, 34, 35, 36, 40, 43, 46, 56, 60, 62, 65, 66, 69, 74, 80, 86, 94, 95, 99, 100, 101, 102, 106, 107, 108, 109, 110, 111, 112, 114, 115, 118, 121, 122, 123, 125, 126, 130, 131, 134, 135, 136, 138, 139, 140, 142, 146, 147, 151, 154, 157, 158, 160, 164, 165], "c": [0, 3, 4, 5, 6, 7, 12, 18, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 34, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 59, 61, 62, 65, 66, 67, 68, 69, 74, 75, 77, 95, 97, 106, 107, 109, 110, 112, 114, 115, 118, 119, 120, 121, 122, 124, 125, 126, 130, 131, 134, 135, 138, 143, 144, 147, 149, 152, 154, 155, 156, 157, 158, 160, 164, 165], "header": [0, 3, 12, 23, 24, 27, 28, 39, 42, 64, 71, 94, 109, 118, 157, 158], "file": [0, 5, 6, 12, 15, 17, 18, 21, 24, 26, 27, 28, 39, 42, 44, 45, 48, 54, 59, 85, 86, 87, 92, 96, 97, 101, 102, 107, 108, 115, 116, 118, 134, 152, 153, 154, 156, 157, 158, 160, 161, 162, 163, 164], "It": [0, 1, 5, 6, 20, 22, 26, 35, 39, 43, 46, 49, 50, 52, 54, 62, 66, 86, 94, 106, 107, 112, 114, 115, 118, 122, 126, 128, 131, 134, 135, 140, 143, 152, 153, 157, 158, 160, 161], "us": [0, 3, 5, 6, 7, 8, 12, 17, 18, 20, 22, 23, 25, 26, 27, 28, 30, 32, 35, 36, 38, 40, 41, 42, 43, 44, 45, 48, 51, 52, 54, 56, 59, 60, 62, 65, 66, 67, 69, 74, 75, 77, 81, 87, 88, 89, 90, 91, 95, 96, 98, 100, 101, 102, 106, 107, 109, 110, 112, 113, 114, 115, 116, 118, 120, 121, 122, 124, 125, 126, 127, 130, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 152, 155, 157, 160, 162, 163], "gobject": [0, 5, 17, 18, 19, 22, 25, 44, 85, 93, 95, 106, 107, 115, 117, 118, 119, 121, 122, 125, 128, 143, 144, 145, 147, 154, 156, 157, 158, 162], "type": [0, 3, 6, 7, 16, 17, 22, 28, 29, 30, 34, 35, 36, 38, 39, 40, 41, 44, 48, 49, 50, 51, 55, 61, 65, 66, 68, 71, 72, 73, 74, 75, 78, 81, 91, 95, 106, 107, 108, 110, 113, 114, 115, 117, 118, 121, 122, 123, 124, 125, 126, 130, 131, 134, 135, 136, 137, 138, 142, 143, 144, 145, 146, 147, 150, 151, 156, 165], "system": [0, 1, 5, 20, 45, 48, 52, 55, 86, 87, 94, 95, 96, 99, 106, 109, 112, 118, 121, 125, 126, 130, 131, 134, 136, 138, 139, 145, 147, 152, 158], "creat": [0, 1, 5, 6, 8, 12, 18, 20, 21, 24, 32, 36, 41, 44, 46, 69, 86, 102, 107, 110, 112, 115, 121, 123, 128, 130, 131, 134, 138, 139, 142, 144, 152, 153, 155, 156, 157, 158, 160, 161, 164], "class": [0, 1, 3, 5, 6, 7, 8, 20, 22, 28, 30, 32, 38, 39, 43, 48, 50, 51, 52, 57, 58, 61, 62, 63, 68, 71, 75, 77, 83, 107, 108, 109, 110, 112, 117, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 132, 134, 136, 137, 138, 139, 141, 142, 146, 150, 154, 156, 157, 164], "interfac": [0, 6, 7, 8, 20, 62, 85, 94, 98, 108, 116, 117, 118, 122, 126, 127, 129, 136, 145, 146, 154, 155], "declar": [0, 3, 6, 20, 36, 38, 48, 57, 66, 68, 110, 112, 113, 115, 118, 122, 123, 124, 125, 126, 131, 134, 143, 151], "The": [0, 1, 2, 3, 6, 7, 8, 12, 16, 17, 20, 21, 22, 24, 26, 28, 29, 30, 32, 34, 35, 36, 41, 42, 43, 44, 45, 46, 48, 49, 52, 54, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 73, 79, 85, 86, 87, 89, 92, 94, 96, 97, 98, 100, 107, 109, 112, 113, 114, 115, 118, 120, 121, 122, 123, 124, 125, 126, 127, 130, 131, 132, 133, 134, 135, 136, 137, 138, 140, 142, 143, 144, 146, 147, 150, 151, 153, 154, 155, 156, 157, 159, 160, 164, 165], "syntax": [0, 5, 20, 21, 50, 59, 62, 90, 94, 98, 99, 106, 107, 108, 115, 116, 120, 121, 122, 125, 131, 132, 133, 136, 157], "similar": [0, 18, 20, 21, 48, 74, 94, 106, 107, 115, 121, 130, 134, 136, 142], "modifi": [0, 8, 18, 30, 39, 55, 62, 66, 94, 115, 118, 121, 123, 124, 127, 135, 141, 142], "better": [0, 20, 21, 22, 30, 36, 43, 94, 122, 143, 160], "fit": [0, 12, 94, 109, 112], "support": [0, 3, 21, 41, 46, 87, 94, 97, 98, 99, 106, 112, 115, 118, 119, 131, 132, 133, 138, 143, 144, 147, 150, 156, 157], "modern": [0, 95, 106, 134, 144], "languag": [0, 1, 15, 21, 34, 46, 95, 99, 102, 104, 106, 107, 108, 109, 110, 111, 112, 118, 123, 125, 126, 134, 146, 147, 152, 156, 160, 165], "featur": [0, 1, 15, 20, 21, 38, 94, 98, 106, 107, 112, 115, 118, 125, 133, 134, 147, 149, 150, 151, 157], "follow": [0, 17, 18, 20, 21, 22, 23, 27, 28, 30, 38, 40, 44, 48, 52, 61, 62, 65, 66, 69, 74, 80, 86, 96, 109, 112, 115, 118, 121, 123, 125, 126, 130, 135, 137, 138, 139, 142, 150, 153, 154, 155, 156, 165], "properti": [0, 3, 6, 7, 20, 30, 59, 62, 66, 71, 94, 107, 112, 117, 124, 126, 131, 132, 136, 143, 145, 146, 156, 157], "signal": [0, 6, 7, 20, 21, 94, 117, 122, 135, 145, 146, 157, 164], "foreach": [0, 6, 62, 110, 114, 136, 137], "lambda": [0, 83, 113, 115, 121], "express": [0, 6, 8, 39, 63, 82, 83, 94, 112, 113, 115, 121, 129, 148], "infer": [0, 39, 108, 115, 143], "local": [0, 18, 32, 90, 112, 115, 135, 146, 153, 154, 158], "variabl": [0, 1, 3, 5, 8, 17, 18, 21, 28, 30, 58, 62, 63, 65, 71, 74, 94, 110, 112, 114, 115, 122, 129, 131, 132, 133, 135, 141, 142, 150, 156], "gener": [0, 1, 4, 5, 6, 12, 16, 17, 18, 19, 22, 25, 27, 28, 29, 30, 32, 35, 40, 41, 43, 47, 50, 51, 53, 63, 66, 67, 81, 85, 86, 87, 91, 92, 93, 94, 95, 101, 107, 111, 112, 115, 117, 122, 136, 138, 142, 143, 147, 153, 154, 155, 157, 158, 160, 165], "non": [0, 5, 6, 20, 21, 44, 48, 66, 114, 115, 123, 125, 132, 142, 147, 148], "null": [0, 6, 8, 20, 39, 44, 48, 50, 53, 55, 62, 63, 67, 69, 73, 74, 94, 112, 113, 114, 115, 122, 129, 133, 135, 137, 139, 142, 143, 148, 158, 164], "assist": [0, 27, 106], "memori": [0, 22, 27, 35, 36, 38, 44, 48, 49, 69, 73, 74, 81, 94, 106, 112, 120, 135, 141, 142, 144], "manag": [0, 22, 27, 28, 35, 36, 38, 69, 94, 96, 106, 112, 120, 134, 138, 141, 142, 144], "except": [0, 6, 7, 8, 48, 112, 113, 114, 125, 134, 140, 150], "handl": [0, 5, 7, 20, 21, 28, 34, 36, 42, 44, 50, 98, 111, 121, 130, 132, 140, 144, 156, 163], "modul": [0, 5, 97, 138, 142, 157], "plugin": 0, "design": [0, 5, 20, 62, 66, 94, 100, 122, 134, 140, 142, 152], "allow": [0, 20, 21, 23, 25, 26, 33, 50, 52, 56, 59, 60, 61, 62, 74, 94, 106, 107, 111, 114, 115, 118, 119, 121, 124, 125, 126, 134, 136, 138, 139, 142, 144, 149, 158], "access": [0, 8, 50, 59, 66, 71, 81, 94, 106, 107, 112, 115, 118, 121, 122, 123, 125, 135, 136, 137, 138, 144], "exist": [0, 12, 20, 21, 22, 23, 32, 42, 54, 86, 87, 94, 97, 102, 106, 130, 134, 136, 142], "librari": [0, 1, 3, 5, 12, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 34, 40, 42, 44, 46, 50, 65, 69, 74, 85, 95, 96, 106, 107, 115, 118, 131, 136, 140, 143, 144, 147, 156, 158, 160, 161, 162], "especi": [0, 21, 27, 67, 112], "base": [0, 6, 8, 20, 21, 28, 34, 36, 44, 97, 110, 113, 114, 120, 123, 125, 126, 127, 131, 141, 144, 157, 158, 162], "without": [0, 2, 18, 21, 38, 45, 60, 68, 74, 94, 95, 107, 112, 115, 118, 122, 123, 125, 126, 131, 134, 138, 139, 140, 143, 150, 154, 158], "need": [0, 8, 18, 20, 21, 29, 34, 35, 36, 38, 42, 43, 44, 45, 49, 60, 61, 62, 65, 66, 68, 70, 73, 75, 87, 94, 96, 106, 109, 111, 112, 120, 126, 131, 134, 138, 139, 140, 142, 144, 146, 147, 153, 157, 158, 160, 165], "runtim": [0, 20, 94, 95, 106, 112, 115, 122, 128, 129, 130, 131, 133, 134, 138, 147, 154, 157], "bind": [0, 1, 5, 16, 20, 22, 23, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 39, 40, 41, 43, 51, 53, 54, 58, 60, 62, 64, 65, 66, 69, 72, 74, 77, 87, 93, 116, 143, 145, 151, 152, 154, 156, 161, 162], "all": [0, 3, 5, 6, 7, 8, 17, 20, 21, 22, 28, 34, 38, 39, 41, 42, 48, 49, 55, 59, 61, 64, 69, 87, 94, 96, 106, 107, 109, 112, 114, 115, 118, 121, 123, 124, 125, 130, 131, 133, 134, 136, 138, 146, 150, 151, 153, 155, 156, 157, 158, 160, 165], "an": [0, 1, 5, 6, 8, 17, 18, 20, 21, 22, 23, 26, 28, 29, 30, 31, 32, 34, 35, 36, 39, 40, 42, 43, 44, 46, 47, 48, 50, 52, 54, 58, 62, 63, 65, 67, 68, 69, 74, 75, 79, 80, 82, 86, 90, 91, 97, 98, 106, 107, 110, 112, 113, 114, 115, 118, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 138, 139, 140, 141, 142, 143, 144, 146, 147, 151, 152, 153, 154, 155, 156, 157, 160, 165], "api": [0, 12, 18, 20, 22, 85, 95, 106, 122, 136, 138, 152, 154, 157, 165], "contain": [0, 3, 5, 8, 20, 21, 28, 29, 32, 35, 36, 43, 51, 62, 69, 74, 94, 112, 113, 115, 118, 123, 124, 125, 126, 131, 136, 137, 147, 154, 155, 156], "method": [0, 3, 5, 6, 7, 8, 21, 22, 28, 30, 42, 44, 47, 48, 54, 55, 59, 61, 62, 63, 65, 66, 68, 77, 94, 98, 107, 108, 110, 112, 113, 117, 118, 119, 121, 122, 123, 126, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139, 143, 146, 156, 160, 162], "current": [0, 8, 20, 25, 45, 62, 94, 100, 112, 118, 121, 137, 138, 139, 147, 151, 154], "come": [0, 20, 74, 78, 96, 106, 122, 131, 151], "glib": [0, 5, 15, 18, 20, 21, 22, 28, 29, 30, 42, 44, 75, 91, 94, 106, 107, 112, 115, 118, 121, 122, 123, 124, 125, 126, 130, 131, 133, 134, 138, 139, 140, 145, 146, 147, 155, 156, 157, 160, 163], "gtk": [0, 3, 8, 18, 20, 94, 102, 115, 119, 122, 139, 157], "mani": [0, 20, 21, 50, 62, 94, 95, 98, 100, 102, 109, 112, 140, 142, 145, 155], "other": [0, 1, 5, 6, 21, 36, 42, 43, 45, 46, 66, 69, 87, 91, 95, 96, 98, 99, 100, 102, 106, 107, 108, 111, 113, 115, 118, 120, 123, 125, 131, 134, 135, 136, 137, 138, 140, 141, 142, 152, 155, 158], "from": [0, 1, 5, 6, 7, 8, 12, 17, 20, 22, 27, 30, 32, 35, 36, 39, 42, 43, 44, 46, 48, 52, 59, 85, 87, 91, 98, 100, 101, 106, 107, 108, 115, 118, 121, 122, 123, 125, 126, 128, 130, 131, 134, 135, 136, 139, 140, 142, 143, 144, 145, 146, 147, 152, 153, 154, 155, 156, 158, 160, 161, 165], "gnome": [0, 1, 2, 6, 16, 17, 18, 20, 29, 32, 37, 94, 95, 98, 100, 102, 103, 104, 106, 109, 136, 157], "platform": [0, 1, 36, 94, 106, 109, 112, 116, 147, 156, 165], "written": [0, 12, 18, 22, 23, 25, 49, 54, 62, 65, 69, 85, 95, 97, 106, 109, 136, 138, 142, 155, 158], "applic": [0, 1, 18, 20, 21, 66, 85, 95, 102, 106, 113, 123, 136, 140, 153, 154, 157, 159], "difficult": [0, 20, 44, 106], "onli": [0, 3, 5, 6, 20, 21, 22, 25, 28, 29, 32, 40, 41, 50, 53, 66, 69, 74, 86, 87, 88, 90, 94, 106, 107, 110, 112, 115, 118, 121, 122, 123, 125, 130, 131, 132, 134, 135, 137, 138, 139, 143, 154], "ha": [0, 1, 6, 8, 20, 21, 25, 30, 36, 41, 42, 43, 44, 49, 50, 59, 61, 62, 68, 73, 75, 87, 91, 95, 96, 100, 102, 106, 107, 112, 113, 118, 122, 123, 125, 130, 134, 135, 136, 137, 138, 140, 142, 146, 150, 156, 157, 160], "instal": [0, 15, 17, 20, 25, 32, 86, 87, 94, 95, 107, 136, 152, 153, 154, 157, 158], "mai": [0, 6, 20, 21, 22, 23, 26, 32, 41, 43, 46, 48, 49, 50, 53, 61, 62, 65, 67, 69, 71, 74, 80, 86, 87, 90, 94, 98, 106, 107, 110, 112, 113, 114, 115, 118, 119, 122, 123, 124, 125, 126, 127, 130, 131, 133, 134, 135, 138, 139, 140, 142, 157, 160], "usual": [0, 6, 12, 20, 21, 30, 34, 35, 44, 48, 54, 55, 61, 75, 94, 96, 98, 110, 131, 142, 143, 144, 147], "should": [0, 1, 18, 20, 21, 25, 26, 30, 44, 50, 51, 59, 67, 68, 71, 73, 75, 96, 106, 112, 115, 118, 122, 134, 136, 138, 140, 141, 142, 143, 152, 154, 157, 165], "also": [0, 3, 5, 6, 8, 12, 18, 20, 21, 22, 25, 28, 35, 36, 39, 40, 41, 49, 52, 54, 55, 62, 65, 68, 69, 72, 87, 92, 94, 96, 106, 107, 109, 110, 112, 113, 115, 118, 121, 122, 123, 125, 126, 130, 131, 134, 135, 136, 140, 142, 144, 145, 146, 153, 154, 156, 157, 160, 161, 162, 165], "easili": [0, 5, 21, 48, 69, 83, 94, 118, 121, 142], "possibl": [0, 20, 21, 22, 23, 38, 46, 52, 54, 69, 94, 98, 106, 112, 114, 115, 121, 123, 125, 126, 130, 131, 138, 139, 141, 151, 153, 157, 158], "write": [0, 1, 5, 6, 18, 19, 20, 23, 26, 30, 34, 36, 39, 41, 60, 93, 94, 102, 103, 104, 106, 110, 112, 115, 118, 121, 122, 123, 125, 126, 131, 139, 143, 147, 149, 154, 156, 157], "e": [0, 3, 8, 20, 21, 23, 28, 30, 35, 42, 43, 46, 51, 64, 66, 67, 69, 72, 91, 94, 110, 112, 115, 121, 131, 133, 134, 136, 140, 142, 143, 145, 146, 151, 152, 154, 164], "g": [0, 8, 21, 23, 28, 30, 35, 42, 64, 66, 67, 69, 91, 110, 112, 115, 130, 132, 133, 140, 142, 143, 144, 145, 151, 152, 154, 158, 164], "parser": [0, 4, 5, 7, 8, 21, 94, 102], "so": [0, 1, 2, 5, 6, 8, 20, 21, 22, 25, 30, 36, 39, 40, 41, 42, 43, 44, 50, 52, 59, 65, 69, 71, 74, 94, 106, 110, 111, 112, 115, 118, 122, 123, 124, 125, 126, 130, 131, 134, 135, 138, 139, 140, 147, 151, 152, 154, 156, 157, 158, 160, 164], "time": [0, 20, 21, 34, 36, 49, 71, 77, 94, 106, 112, 117, 118, 121, 122, 130, 138, 139, 140, 141, 144, 147, 151, 154, 156, 158], "inform": [0, 1, 8, 18, 20, 21, 33, 36, 40, 46, 48, 61, 71, 94, 100, 106, 112, 115, 117, 122, 134, 139, 152, 153, 157, 160, 161, 164], "avail": [0, 3, 21, 44, 91, 96, 100, 106, 112, 118, 125, 147, 156, 157, 165], "when": [0, 6, 8, 12, 18, 20, 21, 22, 25, 27, 30, 32, 34, 36, 38, 40, 41, 42, 44, 48, 49, 50, 51, 55, 64, 66, 69, 71, 73, 80, 81, 83, 87, 88, 91, 94, 98, 109, 110, 112, 115, 123, 125, 126, 130, 131, 134, 135, 136, 138, 139, 140, 142, 144, 150, 153, 155, 156, 160], "develop": [0, 1, 15, 20, 21, 25, 32, 94, 95, 96, 98, 100, 103, 104, 157], "want": [0, 6, 18, 21, 48, 91, 94, 96, 107, 109, 114, 118, 119, 122, 126, 131, 134, 136, 144, 154, 160], "high": [0, 1, 95, 106], "level": [0, 1, 21, 35, 95, 106, 145, 152], "program": [0, 2, 12, 20, 28, 30, 36, 40, 46, 62, 69, 85, 95, 97, 104, 106, 109, 112, 115, 118, 121, 122, 130, 132, 134, 136, 138, 139, 142, 144, 153, 154, 159, 160, 164], "can": [0, 1, 2, 5, 6, 8, 12, 16, 17, 18, 20, 21, 22, 23, 25, 28, 30, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 50, 51, 52, 54, 55, 58, 59, 61, 62, 64, 66, 68, 69, 72, 74, 75, 76, 77, 79, 80, 85, 86, 90, 91, 92, 96, 98, 102, 106, 107, 109, 110, 112, 113, 115, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 151, 152, 153, 154, 156, 157, 158, 160, 162, 164, 165], "t": [0, 3, 6, 7, 8, 12, 20, 22, 30, 36, 43, 52, 53, 57, 61, 62, 69, 76, 83, 87, 96, 106, 107, 109, 110, 112, 115, 118, 121, 125, 134, 137, 138, 142, 143, 151, 160], "don": [0, 3, 6, 7, 8, 12, 96, 112, 115, 134, 142], "java": [0, 106, 109, 112, 115, 119, 121, 122, 123, 125, 126, 130, 131, 134, 136], "variou": [0, 27, 38, 64, 92, 130, 131, 136, 155], "reason": [0, 21, 36, 94, 106, 107, 112, 119, 121, 129, 142, 143], "thei": [0, 6, 12, 20, 21, 25, 28, 36, 41, 43, 44, 46, 49, 50, 61, 68, 72, 74, 77, 83, 94, 98, 106, 109, 110, 112, 113, 115, 116, 125, 126, 131, 136, 139, 140, 141, 142, 143, 145, 148, 153], "ar": [0, 1, 2, 3, 5, 6, 7, 8, 12, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30, 32, 34, 36, 38, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 53, 55, 61, 62, 64, 66, 67, 68, 69, 71, 72, 74, 75, 78, 79, 83, 88, 90, 91, 92, 94, 95, 96, 98, 100, 106, 107, 109, 110, 111, 112, 113, 115, 116, 118, 120, 121, 122, 123, 125, 128, 130, 131, 133, 134, 135, 136, 137, 138, 140, 142, 143, 144, 145, 146, 147, 148, 150, 152, 153, 154, 155, 156, 157, 158, 160, 165], "stuck": 0, "complex": [0, 73, 75, 149], "object": [0, 5, 7, 8, 20, 22, 34, 36, 38, 43, 61, 62, 66, 69, 77, 78, 80, 106, 107, 110, 112, 113, 114, 115, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 134, 135, 136, 137, 138, 140, 141, 142, 144, 146, 151, 154, 156, 157, 160, 164, 165], "orient": [0, 8, 22, 106, 112, 115, 118, 122], "rapidli": 0, "while": [0, 6, 20, 21, 23, 38, 41, 44, 62, 94, 114, 124, 125, 130, 143], "maintain": [0, 1, 5, 17, 20, 21, 106], "standard": [0, 17, 62, 122, 133, 136, 137, 138, 147, 152, 157, 158, 165], "abi": [0, 95, 152], "keep": [0, 8, 18, 20, 43, 52, 94, 106, 112, 141, 164], "requir": [0, 5, 6, 18, 20, 21, 26, 36, 39, 62, 67, 90, 94, 95, 96, 98, 106, 107, 109, 115, 121, 123, 125, 126, 129, 130, 133, 134, 139, 143, 147, 153, 154, 158, 161], "low": [0, 94], "same": [0, 6, 7, 20, 21, 25, 26, 32, 42, 49, 50, 52, 64, 71, 72, 74, 94, 98, 107, 109, 111, 112, 113, 115, 118, 119, 120, 121, 125, 126, 127, 130, 134, 135, 136, 138, 139, 142, 152], "wai": [0, 5, 12, 18, 20, 21, 22, 28, 43, 53, 55, 66, 67, 79, 82, 83, 87, 92, 94, 106, 109, 111, 115, 118, 121, 122, 125, 126, 131, 134, 135, 136, 138, 139, 140, 142, 144, 149, 153, 156, 160], "nativ": [0, 21, 95, 106], "accept": [0, 5, 6, 18, 48, 130, 139], "part": [0, 1, 5, 6, 20, 21, 34, 36, 44, 76, 107, 109, 110, 112, 114, 115, 118, 123, 134, 144, 152, 156, 157], "suffer": 0, "higher": 0, "which": [0, 1, 4, 5, 6, 7, 8, 17, 18, 20, 21, 23, 28, 32, 35, 43, 44, 46, 48, 50, 56, 58, 61, 68, 69, 74, 79, 91, 94, 106, 107, 110, 112, 113, 114, 115, 118, 119, 121, 122, 124, 125, 126, 128, 130, 131, 134, 138, 139, 140, 142, 147, 151, 152, 156, 157, 158, 160, 164, 165], "some": [0, 6, 7, 12, 20, 21, 36, 38, 51, 55, 59, 63, 64, 69, 90, 98, 102, 106, 107, 112, 115, 118, 122, 125, 126, 129, 131, 134, 136, 137, 138, 139, 140, 142, 146, 148, 156, 157, 160], "situat": [0, 20, 22, 44, 59, 69, 125, 138, 145, 160], "produc": [0, 5, 20, 22, 27, 51, 52, 94, 109, 115, 157], "you": [0, 3, 5, 6, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 35, 48, 52, 65, 70, 77, 86, 87, 89, 90, 91, 96, 106, 107, 109, 110, 112, 114, 115, 118, 119, 120, 122, 123, 124, 125, 126, 127, 128, 130, 131, 133, 134, 135, 136, 138, 139, 141, 142, 143, 144, 146, 149, 150, 151, 153, 154, 156, 157, 158, 159, 160, 165], "ve": [0, 70, 96, 109], "your": [0, 6, 17, 18, 20, 21, 22, 23, 25, 26, 52, 62, 86, 87, 92, 94, 96, 109, 112, 118, 120, 122, 126, 130, 136, 141, 142, 143, 146, 151, 153, 154, 157, 160], "directli": [0, 17, 28, 46, 48, 72, 106, 107, 112, 115, 118, 126, 128, 136, 145, 154, 162], "won": [0, 109, 112, 151], "look": [0, 6, 8, 18, 20, 21, 22, 25, 39, 43, 48, 90, 94, 109, 125, 131, 138, 157], "differ": [0, 2, 5, 6, 13, 20, 21, 22, 30, 32, 38, 39, 44, 48, 50, 59, 64, 90, 94, 95, 98, 106, 109, 111, 112, 113, 115, 118, 119, 124, 125, 126, 127, 131, 135, 136, 140, 144, 145, 147], "than": [0, 3, 6, 8, 20, 21, 22, 30, 34, 36, 43, 51, 52, 86, 94, 98, 106, 114, 115, 118, 122, 124, 126, 134, 136, 138, 142, 145, 146, 157, 160], "ani": [0, 18, 20, 21, 36, 39, 41, 43, 47, 48, 50, 52, 66, 72, 73, 86, 87, 92, 94, 96, 100, 106, 110, 112, 113, 114, 115, 118, 121, 123, 124, 125, 126, 131, 134, 135, 136, 137, 138, 139, 140, 142, 150, 153, 154, 157, 158, 161], "There": [0, 5, 12, 18, 20, 21, 22, 34, 35, 41, 43, 44, 50, 64, 66, 78, 91, 94, 98, 109, 113, 115, 118, 122, 123, 124, 125, 133, 134, 140, 142, 157, 158], "distribut": [0, 2, 12, 19, 20, 25, 26, 93, 94, 96, 100, 158, 159], "tarbal": [0, 158], "addit": [0, 5, 20, 26, 32, 87, 95, 98, 112, 119, 122, 140, 156, 157, 158], "run": [0, 5, 6, 15, 16, 17, 18, 20, 36, 40, 86, 98, 106, 109, 112, 114, 117, 121, 125, 130, 131, 134, 138, 139, 140, 146, 151, 154, 155, 156, 160, 164], "build": [0, 1, 3, 5, 16, 20, 21, 22, 25, 32, 98, 99, 153, 158, 159, 160], "depend": [0, 5, 20, 21, 22, 36, 38, 43, 49, 75, 78, 94, 113, 131, 138, 147, 152, 153], "user": [0, 1, 20, 21, 34, 44, 46, 61, 63, 98, 118, 122, 136, 139], "goal": [1, 15, 126], "thi": [1, 5, 6, 7, 8, 12, 16, 17, 18, 20, 21, 22, 25, 26, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 50, 52, 53, 54, 55, 56, 62, 64, 66, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 86, 87, 88, 89, 90, 92, 94, 95, 96, 98, 102, 107, 109, 110, 112, 113, 114, 115, 118, 119, 121, 122, 123, 124, 125, 126, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 160, 164, 165], "document": [1, 15, 20, 22, 23, 24, 26, 44, 53, 71, 85, 86, 87, 89, 90, 91, 92, 93, 94, 98, 100, 101, 106, 111, 131, 136, 139, 157, 158, 165], "provid": [1, 6, 20, 21, 27, 28, 43, 44, 58, 61, 62, 94, 96, 98, 100, 102, 106, 113, 115, 121, 122, 124, 125, 126, 134, 136, 137, 143, 157, 165], "singl": [1, 3, 20, 22, 27, 28, 29, 30, 38, 39, 69, 94, 112, 122, 131, 138, 140], "point": [1, 6, 12, 20, 21, 26, 27, 35, 40, 52, 72, 106, 107, 110, 112, 118, 119, 131, 134, 139, 140, 142, 144], "interest": [1, 5, 18, 21, 122, 135], "improv": [1, 92, 94], "vala": [1, 2, 3, 7, 8, 15, 16, 17, 22, 23, 25, 27, 28, 30, 32, 33, 36, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 60, 61, 62, 65, 66, 67, 68, 69, 74, 76, 77, 79, 82, 83, 85, 86, 87, 90, 92, 96, 97, 98, 100, 101, 102, 107, 109, 110, 111, 112, 113, 114, 115, 116, 118, 119, 120, 121, 122, 123, 125, 126, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 140, 141, 142, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 158, 159, 160, 161, 164, 165], "hope": 1, "encourag": [1, 21, 106], "more": [1, 5, 6, 8, 18, 20, 21, 22, 30, 34, 36, 38, 39, 54, 67, 73, 75, 77, 80, 86, 92, 94, 95, 98, 100, 102, 106, 109, 112, 115, 118, 120, 121, 122, 124, 125, 126, 133, 134, 135, 138, 139, 140, 144, 145, 149, 155, 156, 157, 159, 160, 165], "contribut": [1, 16, 18, 46, 88, 157], "find": [1, 6, 8, 18, 21, 25, 39, 86, 87, 100, 112, 125, 138, 165], "fix": [1, 22, 74, 81, 112, 143], "bug": [1, 20, 62, 82, 94], "test": [1, 17, 18, 21, 22, 23, 25, 30, 32, 33, 98, 113, 114, 115, 121, 130, 134, 136, 138, 140, 142, 148, 153, 154, 157], "case": [1, 6, 8, 12, 18, 20, 22, 27, 28, 29, 42, 44, 49, 50, 58, 63, 66, 67, 73, 80, 81, 94, 107, 109, 110, 112, 113, 114, 115, 122, 125, 126, 130, 131, 135, 138, 139, 140, 141, 142, 143, 145, 150, 151, 155, 160], "implement": [1, 3, 6, 8, 20, 43, 61, 62, 94, 98, 100, 107, 115, 117, 118, 120, 121, 122, 124, 126, 129, 130, 134, 135, 136, 137, 144, 145, 158], "new": [1, 3, 6, 8, 17, 20, 22, 30, 32, 38, 42, 44, 55, 57, 62, 74, 86, 90, 106, 107, 108, 110, 115, 118, 119, 121, 122, 124, 125, 126, 127, 128, 130, 131, 134, 135, 136, 137, 138, 139, 142, 144, 146, 151, 154, 156, 160, 165], "In": [1, 5, 6, 8, 15, 20, 21, 29, 30, 34, 41, 42, 44, 46, 51, 62, 67, 69, 75, 77, 80, 88, 90, 94, 107, 109, 110, 112, 113, 114, 115, 121, 122, 123, 125, 130, 131, 134, 135, 136, 138, 139, 140, 141, 142, 143, 144, 145, 152, 153, 156], "opinion": 1, "": [1, 3, 5, 6, 7, 8, 12, 16, 18, 20, 21, 22, 25, 26, 27, 28, 30, 33, 43, 44, 47, 48, 50, 52, 55, 56, 62, 65, 66, 68, 69, 72, 74, 83, 85, 90, 94, 96, 100, 107, 110, 112, 113, 115, 118, 120, 121, 122, 125, 126, 128, 130, 131, 134, 136, 138, 140, 141, 142, 143, 144, 145, 146, 147, 150, 154, 156, 158, 160, 161], "author": [1, 2, 3, 17, 26, 94], "qualiti": [1, 16], "1": [1, 2, 6, 15, 17, 20, 21, 33, 41, 42, 43, 48, 52, 66, 69, 81, 86, 90, 91, 94, 97, 102, 112, 114, 115, 119, 122, 133, 135, 136, 137, 141, 149, 150, 152, 153, 154, 156, 157, 158, 160], "0": [1, 6, 15, 17, 18, 20, 21, 28, 33, 41, 42, 43, 52, 62, 86, 90, 91, 94, 107, 112, 114, 115, 118, 121, 125, 133, 134, 136, 137, 140, 141, 143, 146, 149, 150, 152, 153, 154, 156, 158, 160], "import": [1, 5, 6, 8, 30, 34, 39, 40, 43, 44, 50, 102, 106, 107, 115, 121, 125, 134, 135, 136, 139, 144, 158], "futur": [1, 148], "becaus": [1, 5, 6, 8, 20, 21, 22, 40, 48, 94, 98, 107, 113, 119, 121, 126, 127, 130, 138, 140, 142, 145, 147, 160], "simplifi": [1, 94, 138], "task": [1, 109, 113, 140], "excel": 1, "neutral": 1, "necessari": [1, 3, 6, 12, 20, 94, 115, 133, 140, 158], "next": [1, 20, 22, 43, 62, 73, 121, 137, 140, 141, 153, 154], "fresh": 1, "easi": [1, 20, 21, 22, 94, 98, 126, 157], "read": [1, 6, 20, 21, 22, 30, 41, 43, 49, 53, 98, 102, 112, 122, 125, 131, 132, 152, 154, 157], "name": [1, 3, 6, 7, 8, 20, 21, 24, 25, 26, 27, 28, 32, 43, 45, 59, 62, 65, 69, 71, 74, 76, 86, 87, 91, 94, 96, 98, 107, 109, 110, 112, 113, 115, 118, 119, 122, 124, 125, 126, 127, 128, 131, 134, 137, 138, 146, 152, 153, 154, 155, 156, 165], "descript": [1, 7, 32, 34, 88, 90, 91, 122, 154, 155, 165], "one": [1, 3, 5, 8, 17, 18, 20, 21, 26, 34, 38, 39, 41, 43, 44, 49, 52, 62, 90, 98, 106, 112, 113, 114, 115, 118, 121, 122, 123, 124, 125, 126, 129, 130, 131, 134, 137, 138, 140, 141, 143, 144, 145, 153, 156, 158, 164], "often": [1, 3, 21, 29, 32, 41, 42, 49, 55, 61, 66, 69, 71, 73, 74, 77, 94, 98, 106, 115, 125, 140, 143, 156, 157], "feel": [1, 77, 92, 106], "what": [1, 6, 7, 12, 13, 21, 34, 48, 66, 107, 112, 118, 121, 122, 123, 126, 130, 138, 142, 153, 156, 160], "suppos": [1, 4, 6, 17, 52, 116, 122], "do": [1, 6, 18, 20, 21, 22, 28, 30, 36, 41, 43, 46, 47, 50, 55, 61, 62, 66, 74, 83, 106, 109, 112, 114, 115, 118, 120, 121, 122, 125, 126, 130, 131, 135, 138, 139, 140, 142, 149, 155, 156, 160, 164], "spars": 1, "comment": [1, 3, 6, 18, 20, 26, 32, 85, 91, 108, 158], "problem": [1, 18, 20, 21, 46, 55, 119, 122, 126, 134, 138, 140, 142, 156], "howev": [1, 5, 6, 20, 22, 34, 35, 52, 55, 69, 83, 86, 94, 107, 110, 112, 115, 119, 129, 133, 134, 138, 140, 141, 142, 145, 151], "inevit": 1, "long": [1, 6, 21, 26, 30, 32, 88, 106, 112, 122, 137, 140, 142], "its": [1, 5, 6, 8, 20, 27, 48, 49, 86, 92, 98, 102, 106, 110, 115, 118, 122, 123, 124, 125, 126, 128, 129, 130, 134, 136, 138, 140, 141, 147, 157, 164], "call": [1, 3, 5, 6, 7, 8, 20, 25, 27, 28, 32, 34, 44, 45, 48, 51, 54, 56, 61, 62, 65, 66, 68, 73, 75, 86, 94, 98, 107, 110, 112, 115, 118, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 134, 135, 137, 139, 140, 142, 143, 146, 154, 156, 157, 165], "stack": [1, 20, 34, 35, 74, 95, 112, 115, 122], "deep": [1, 121], "view": [1, 86, 87, 91, 95, 132], "how": [1, 3, 5, 7, 18, 20, 22, 30, 32, 34, 35, 36, 41, 88, 92, 102, 106, 109, 112, 115, 116, 126, 130, 131, 135, 138, 142, 144, 153, 154, 155, 156, 164, 165], "put": [1, 3, 17, 20, 46, 55, 69, 109, 112, 115, 136, 140], "togeth": [1, 5, 20, 109, 112, 131], "been": [1, 6, 20, 25, 30, 36, 49, 55, 87, 91, 96, 100, 125, 134, 146, 160], "port": [1, 96], "docbook": 1, "wiki": [1, 18, 37, 90, 94, 95, 102, 136, 157], "order": [1, 15, 20, 21, 27, 52, 66, 112, 113, 114, 115, 118, 121, 130, 133, 134, 136, 138, 140, 142, 144, 152, 158], "team": [1, 21], "up": [1, 8, 18, 20, 21, 22, 25, 26, 78, 106, 115, 123, 134, 140, 142, 153], "date": [1, 3, 106], "latest": [1, 20, 94, 160], "releas": [1, 21, 74, 120], "complet": [1, 20, 39, 98, 100, 106, 112, 134, 140, 157, 165], "text": [1, 3, 40, 98, 102, 106, 109, 112, 115, 134, 140, 142, 158], "gnu": [1, 17, 102, 156, 164], "free": [1, 26, 34, 36, 43, 44, 49, 58, 66, 67, 73, 75, 77, 92, 106, 144], "found": [1, 5, 8, 20, 21, 25, 72, 94, 131, 134, 154], "here": [1, 6, 18, 20, 21, 30, 83, 98, 112, 115, 116, 125, 126, 131, 134, 135, 138, 158], "http": [1, 2, 6, 16, 17, 18, 20, 29, 37, 90, 92, 94, 101, 136, 140], "www": [1, 140], "org": [1, 2, 6, 16, 17, 18, 20, 21, 24, 29, 37, 94, 95, 98, 136, 146, 150], "fdl": 1, "html": [1, 6, 16, 18, 32, 86, 102, 156], "wa": [1, 6, 12, 18, 20, 21, 37, 73, 94, 100, 112, 121, 122, 126, 130, 134, 138, 142, 151, 157, 158], "origin": [1, 37, 39, 100, 112, 113, 127, 138, 157, 158], "2008": 1, "updat": [1, 20, 92, 94, 122, 124], "2010": [1, 157], "rodnei": [1, 17], "lorrimar": 1, "j\u00fcrg": [1, 2], "billet": [1, 2], "raffael": [1, 2], "sandrini": [1, 2], "philip": 1, "van": 1, "hoof": 1, "section": [1, 18, 20, 21, 22, 27, 35, 37, 40, 43, 71, 88, 94, 112, 114, 115, 119, 122, 128, 134, 152, 153], "id": [1, 3, 20, 99], "au": 1, "luca": 1, "bruno": 1, "lethalman88": 1, "gmail": 1, "com": [1, 16, 26, 101, 140], "project": [1, 17, 18, 20, 21, 37, 92, 95, 97, 98, 106, 109, 136, 157, 160], "environ": [1, 17, 18, 94, 96, 98, 106, 138, 147], "setup": 1, "vapi": [1, 5, 6, 17, 18, 19, 24, 26, 28, 32, 42, 45, 51, 54, 57, 59, 62, 85, 93, 101, 116, 152, 153, 154, 157, 158, 161, 165], "libge": [1, 96, 136, 152], "intern": [1, 6, 18, 112, 118, 121, 122, 136, 138, 140, 141, 153, 160], "tool": [1, 3, 4, 5, 20, 85, 86, 94, 95, 98, 106, 111, 152, 156, 157, 161, 162, 165], "dev": [2, 17, 90, 96], "gitlab": [2, 6, 16, 17, 18, 29, 157], "issu": [2, 18, 20, 21, 86, 92, 94, 134], "princip": 2, "under": [2, 12, 21, 140], "lgpl": 2, "2": [2, 18, 20, 21, 28, 33, 41, 42, 50, 52, 81, 90, 94, 112, 114, 115, 119, 137, 140, 146, 150, 154, 157, 158], "proprietari": 2, "possibli": [2, 7, 22, 73], "readm": [3, 17, 18, 100], "md": [3, 18], "full": [3, 30, 43, 86, 94, 125, 136, 151, 157], "instruct": [3, 17, 34, 96, 107, 114, 116, 138, 155], "download": [3, 32], "git": [3, 17, 18, 25, 32, 92, 94], "A": [3, 6, 8, 15, 21, 22, 29, 30, 31, 32, 40, 41, 43, 47, 48, 68, 80, 90, 94, 96, 102, 106, 107, 109, 110, 112, 114, 115, 118, 121, 122, 124, 125, 126, 133, 134, 135, 136, 138, 139, 142, 143, 147, 150, 152, 154, 156, 157, 158, 164], "list": [3, 5, 6, 7, 20, 21, 29, 32, 46, 55, 62, 67, 70, 87, 91, 94, 98, 109, 112, 115, 125, 130, 132, 136, 137, 141, 153, 156, 160], "lowercas": [3, 150], "separ": [3, 20, 23, 29, 41, 94, 115, 136], "between": [3, 6, 13, 20, 21, 26, 39, 41, 44, 59, 98, 110, 111, 113, 114, 115, 123, 125, 138, 165], "word": [3, 115], "format": [3, 20, 24, 55, 88, 98, 112], "namespaceclassnam": 3, "For": [3, 5, 6, 8, 18, 20, 21, 25, 27, 28, 29, 30, 33, 35, 36, 39, 42, 43, 48, 50, 62, 65, 66, 68, 74, 94, 98, 109, 110, 112, 113, 115, 122, 125, 126, 129, 136, 137, 139, 140, 141, 142, 153, 155, 157, 159, 160, 164, 165], "exampl": [3, 5, 6, 7, 8, 17, 18, 20, 21, 23, 25, 27, 28, 29, 30, 32, 33, 35, 36, 40, 41, 42, 43, 45, 50, 52, 62, 65, 86, 94, 96, 98, 101, 102, 109, 110, 112, 113, 115, 116, 121, 122, 123, 124, 125, 126, 129, 130, 131, 132, 134, 135, 136, 137, 138, 139, 141, 142, 143, 146, 150, 152, 153, 156, 157, 160, 165], "filenam": [3, 20, 44, 48], "formalparamet": [3, 6, 7], "valaformalparamet": 3, "namespac": [3, 5, 6, 7, 8, 24, 29, 30, 33, 45, 51, 107, 108, 109, 133, 153], "instead": [3, 20, 21, 22, 35, 41, 46, 58, 96, 106, 109, 112, 115, 120, 122, 124, 125, 135, 138, 139, 140, 143, 144, 157, 160, 162], "qualifi": [3, 8, 91, 107, 115, 153], "symbol": [3, 4, 5, 6, 7, 18, 21, 23, 24, 32, 33, 88, 89, 91, 94, 98, 100, 115, 153, 156], "itself": [3, 18, 21, 68, 94, 109, 115, 118, 131, 140, 142, 145, 153], "seem": [3, 6, 70], "variat": 3, "tab": [3, 31], "rather": [3, 21, 22, 48, 68, 69, 83, 118, 160], "space": [3, 20, 31, 36, 90, 94, 98], "width": [3, 20], "unspecifi": 3, "4": [3, 34, 41, 42, 90, 94, 112, 115, 137, 150, 154], "work": [3, 5, 6, 17, 20, 22, 25, 45, 48, 55, 59, 62, 70, 83, 92, 94, 98, 109, 112, 113, 116, 118, 122, 125, 130, 131, 134, 159, 165], "well": [3, 6, 8, 18, 20, 30, 69, 74, 94, 107, 112, 115, 124, 142, 150], "hang": [3, 125], "brace": [3, 110, 115], "cuddl": 3, "els": [3, 6, 94, 114, 125, 131, 153, 158], "line": [3, 18, 20, 22, 26, 85, 86, 90, 94, 96, 98, 101, 107, 109, 111, 112, 115, 126, 144, 146, 150, 152, 164], "block": [3, 6, 98, 110, 112, 114, 122, 128, 131, 134, 138], "identifi": [3, 6, 18, 20, 26, 30, 35, 40, 60, 98, 107, 110, 112, 113, 118, 130], "seper": 3, "underscor": [3, 110, 115, 122], "camelcas": [3, 115, 146], "enum": [3, 6, 7, 22, 28, 30, 38, 39, 50, 51, 72, 112], "member": [3, 6, 41, 44, 51, 78, 112, 115, 118, 121, 123, 125, 130, 131, 138, 144, 146, 165], "constant": [3, 6, 7, 20, 28, 30, 34, 35, 39, 41, 42, 63, 74, 94, 112], "all_cap": 3, "hungarian": 3, "notat": [3, 158], "implicit": [3, 40, 113, 123], "var": [3, 6, 30, 62, 79, 80, 94, 112, 115, 119, 122, 124, 125, 127, 130, 136, 137, 138, 139, 140, 143, 146, 150, 154], "foo": [3, 20, 21, 28, 29, 30, 32, 41, 43, 44, 48, 50, 52, 53, 61, 65, 66, 69, 72, 73, 74, 75, 76, 79, 80, 81, 83, 110, 112, 115, 125, 127, 128, 133, 136, 142, 143, 144, 150, 164, 165], "No": [3, 31, 34, 38, 118, 124], "length": [3, 38, 48, 52, 55, 63, 74, 78, 112, 115, 132], "limit": [3, 21, 94, 115, 118, 125], "function": [3, 6, 7, 8, 21, 22, 23, 25, 27, 28, 30, 35, 36, 38, 39, 41, 43, 44, 46, 48, 49, 51, 52, 53, 54, 55, 57, 58, 61, 62, 65, 66, 67, 69, 71, 77, 79, 80, 86, 89, 94, 98, 107, 109, 115, 124, 126, 131, 136, 137, 143, 144, 146, 154, 156, 157, 160, 165], "paramet": [3, 6, 7, 8, 20, 22, 27, 39, 46, 47, 49, 50, 52, 53, 55, 62, 65, 66, 68, 80, 81, 91, 107, 109, 115, 121, 131, 132, 133, 134, 138, 142, 156, 165], "open": [3, 16, 18, 26, 31, 44, 86, 98, 146], "parenthesi": [3, 31, 98, 112], "get": [3, 6, 15, 20, 22, 34, 61, 62, 65, 69, 77, 91, 96, 107, 112, 121, 122, 124, 125, 126, 128, 130, 131, 134, 136, 137, 138, 142, 144, 146, 155], "default": [3, 6, 16, 20, 21, 30, 43, 46, 47, 49, 52, 61, 65, 66, 68, 81, 112, 113, 114, 115, 117, 118, 122, 124, 135, 136, 147, 151, 160], "semicolon": 3, "If": [3, 7, 8, 18, 20, 21, 22, 23, 25, 28, 32, 36, 46, 48, 49, 52, 53, 56, 58, 62, 66, 67, 68, 69, 70, 71, 73, 75, 85, 86, 94, 96, 98, 107, 109, 112, 115, 119, 122, 125, 129, 131, 133, 134, 136, 137, 138, 140, 141, 142, 143, 151, 160], "have": [3, 6, 7, 8, 15, 17, 20, 21, 22, 25, 26, 29, 30, 32, 35, 38, 41, 43, 44, 49, 50, 52, 53, 55, 61, 62, 66, 68, 69, 71, 74, 75, 81, 82, 83, 100, 106, 107, 109, 110, 112, 115, 118, 119, 120, 122, 123, 125, 126, 127, 131, 133, 134, 135, 136, 137, 138, 139, 142, 143, 144, 146, 154, 156, 158, 160], "attribut": [3, 6, 18, 23, 24, 29, 30, 42, 45, 46, 52, 55, 56, 57, 58, 59, 61, 66, 69, 108, 122, 146], "own": [3, 6, 17, 20, 21, 27, 34, 38, 39, 49, 52, 58, 61, 68, 69, 73, 78, 79, 80, 90, 92, 110, 112, 118, 120, 123, 124, 125, 135, 136, 140, 142, 157], "javadoc": 3, "top": [3, 18, 21, 92, 106, 118], "copyright": [3, 26], "20yi": 3, "holder": [3, 62, 75], "email": [3, 26, 150], "address": [3, 26, 35, 126, 144, 150], "licens": [3, 24], "programm": [3, 4, 22, 30, 41, 46, 49, 50, 74, 110, 114, 115, 118, 121, 122, 126, 133, 140, 143], "best": [4, 20, 28, 41, 44, 53, 55, 62, 81, 98, 106, 138, 154], "place": [4, 28, 36, 46, 51, 55, 94, 113, 115, 130, 134, 138], "start": [4, 22, 26, 39, 69, 85, 87, 94, 107, 110, 112, 137, 138, 139, 140, 146, 150, 164], "know": [4, 7, 20, 22, 35, 36, 43, 56, 66, 94, 109, 110, 112, 121, 130, 138, 142, 160], "nutshel": 4, "semant": [4, 5, 6, 8, 22, 30, 49, 50, 66, 74, 94], "analyz": [4, 5, 6, 8, 56], "resolut": 4, "flow": [4, 5, 6], "link": [4, 5, 8, 21, 91, 94, 95, 109, 141, 147, 152, 153, 158, 160], "small": [5, 144, 147], "shell": [5, 160], "around": [5, 20, 59, 77, 83, 94, 112, 115, 139, 157], "libvala": [5, 16, 98, 109], "argument": [5, 6, 7, 20, 21, 27, 46, 47, 51, 63, 65, 69, 94, 98, 107, 112, 113, 115, 118, 121, 131, 132, 133, 135, 138, 140, 156], "locat": [5, 12, 21, 35, 38, 98, 109, 115, 135, 152], "drive": [5, 140], "pars": [5, 6, 7, 8, 94, 98, 112, 143, 157], "error": [5, 8, 20, 44, 61, 62, 86, 94, 96, 98, 101, 112, 115, 125, 132, 133, 138, 142, 147, 151, 156], "check": [5, 8, 15, 17, 20, 25, 41, 50, 55, 67, 71, 75, 101, 112, 113, 114, 115, 128, 129, 133, 134, 138, 139, 143, 151], "report": [5, 8, 21, 98, 101, 112, 134, 156], "gcc": [5, 96, 154], "done": [5, 18, 20, 21, 22, 38, 40, 41, 49, 54, 112, 125, 138, 140], "valacompil": 5, "These": [5, 21, 27, 36, 41, 44, 45, 61, 94, 98, 110, 111, 112, 113, 126, 131, 135, 136, 139, 152, 153, 154, 156, 165], "normal": [5, 12, 20, 28, 138, 140, 142, 144], "optioncontext": 5, "most": [5, 6, 12, 20, 21, 28, 34, 41, 44, 46, 50, 58, 61, 64, 66, 79, 94, 98, 106, 107, 110, 111, 112, 115, 116, 118, 126, 130, 138, 144, 145, 165], "instanc": [5, 18, 20, 30, 36, 38, 39, 43, 44, 47, 48, 51, 52, 61, 62, 66, 69, 77, 94, 107, 112, 113, 115, 118, 121, 122, 123, 124, 125, 126, 128, 129, 130, 131, 135, 138, 139, 140, 142, 144, 146], "referenc": [5, 68, 73, 115, 118, 129, 141], "arrai": [5, 8, 38, 39, 48, 50, 52, 55, 63, 67, 69, 71, 78, 107, 108, 113, 114, 115, 136, 143], "veri": [5, 26, 65, 94, 106, 107, 121, 126, 134, 136, 138, 150, 157, 165], "plug": 5, "big": 5, "modular": 5, "make": [5, 15, 16, 17, 18, 20, 21, 22, 23, 28, 30, 32, 36, 44, 48, 50, 52, 54, 62, 77, 83, 86, 94, 95, 96, 98, 106, 110, 115, 122, 125, 130, 140, 142, 145, 150, 152, 153, 155, 156, 157, 158, 161], "extern": [5, 6, 13, 20, 21, 94, 121, 123, 140, 144, 155], "initi": [5, 6, 8, 28, 36, 110, 114, 126, 131], "add": [5, 6, 16, 17, 20, 23, 32, 42, 44, 55, 57, 77, 86, 91, 92, 94, 96, 106, 115, 120, 124, 125, 139, 140, 156, 158, 160], "packag": [5, 18, 20, 21, 25, 32, 86, 87, 96, 100, 109, 118, 146, 153, 157, 160], "profil": [5, 132, 156], "geni": [5, 102, 157], "gir": [5, 12, 18, 20, 85, 101, 154, 157, 158, 162], "everyth": [5, 6, 34, 106, 115], "resolv": [5, 20, 36], "emit": [5, 7, 69, 121, 122, 146], "out": [5, 6, 8, 20, 21, 34, 39, 47, 49, 50, 68, 79, 94, 109, 114, 122, 130, 131, 135, 140, 141, 165], "gidl": [5, 18, 21], "being": [5, 20, 21, 30, 36, 59, 61, 66, 67, 68, 94, 106, 107, 116, 118, 123, 125, 126, 133, 142, 143, 145], "individu": [5, 96, 130, 138], "step": [5, 20, 21, 98, 107, 126, 155], "explain": [5, 20, 88, 106, 107, 113, 126, 141, 152], "later": [5, 6, 7, 8, 26, 35, 43, 107, 112, 114, 115, 120, 122, 128, 142, 152], "first": [5, 18, 20, 21, 22, 32, 41, 46, 51, 52, 66, 71, 86, 90, 96, 106, 112, 113, 114, 115, 121, 134, 138, 140, 154], "data": [5, 6, 30, 35, 36, 38, 43, 46, 51, 52, 67, 68, 69, 75, 76, 79, 80, 81, 91, 107, 108, 113, 115, 118, 123, 125, 130, 135, 136, 138, 140, 141, 150], "structur": [5, 6, 20, 21, 32, 36, 41, 43, 51, 69, 71, 73, 74, 75, 108, 109, 112, 141, 157], "hold": [5, 36, 75, 107, 112, 118, 126, 141], "store": [5, 17, 28, 38, 42, 98, 112, 125, 130, 140, 142, 150], "were": [5, 7, 21, 94, 106, 126, 134, 138, 142, 153], "specifi": [5, 17, 20, 21, 35, 43, 45, 55, 65, 66, 91, 109, 118, 160], "instanti": [5, 94, 110, 115, 119, 124, 125, 130, 136, 156, 165], "refer": [5, 6, 8, 16, 20, 22, 27, 34, 36, 38, 39, 47, 50, 65, 68, 73, 91, 94, 95, 100, 106, 108, 110, 113, 115, 118, 120, 122, 123, 126, 132, 135, 136, 144, 151, 153, 157, 164, 165], "pass": [5, 20, 21, 25, 38, 43, 46, 50, 63, 65, 69, 83, 109, 112, 114, 115, 121, 122, 126, 130, 134, 135, 136, 138, 140, 142, 143, 157, 160], "lot": [5, 21, 22, 30, 55, 106, 109, 157], "effect": [5, 61, 138], "global": [5, 6, 28, 115], "root": [5, 6, 8, 16, 24, 138], "tree": [5, 6, 7, 8, 12, 16, 20, 73, 94, 102, 126, 141], "node": [5, 6, 7, 8, 91, 141, 157], "context": [5, 6, 20, 29, 43, 46, 52, 55, 66, 68, 69, 75, 78, 94, 113, 138, 142, 143], "walk": 5, "depth": [5, 6, 106], "travers": [5, 6, 8, 125], "codevisitor": [5, 6, 7, 8], "pattern": [5, 28, 41, 43, 44, 65, 81, 120, 143, 150], "discuss": [5, 50, 66, 115], "diagram": 5, "abstract": [5, 6, 95, 115, 117, 125, 126], "ast": [5, 6], "built": [5, 8, 16, 17, 18, 21, 130, 140, 153, 157], "see": [5, 6, 18, 20, 21, 25, 27, 29, 32, 35, 37, 49, 62, 65, 66, 71, 82, 86, 87, 91, 94, 96, 98, 100, 109, 115, 124, 130, 139, 140, 153, 156, 159, 161, 162, 165], "destructor": [5, 6, 43, 52, 69, 73, 120], "inherit": [5, 6, 7, 8, 21, 41, 42, 55, 91, 117, 118, 126, 127, 142], "directori": [5, 12, 16, 17, 18, 20, 21, 25, 28, 32, 86, 87, 92, 154], "repres": [5, 21, 112, 115, 122, 133, 154], "ccode": [5, 7, 17, 20, 21, 23, 24, 29, 30, 32, 41, 42, 43, 44, 45, 46, 52, 53, 55, 57, 58, 59, 61, 62, 65, 66, 68, 69, 74, 75, 76, 79, 80, 81, 83, 112, 116, 122], "output": [5, 6, 18, 20, 48, 79, 86, 87, 106, 107, 109, 112, 125, 154, 160], "machineri": 5, "transform": [5, 52, 66, 94, 160], "codegen": 5, "arrang": [5, 140], "visitor": 5, "split": 5, "upon": [5, 48, 122], "probabl": [5, 6, 20, 21, 42, 94, 98, 107, 109, 122, 126, 138, 144, 157], "break": [5, 6, 21, 55, 69, 94, 112, 114, 122, 137, 141, 143], "conceptu": 5, "relat": [5, 28, 98, 107, 115, 134, 148, 153, 165], "understand": [5, 22, 30, 35, 36, 39, 76, 102, 106, 121, 152], "chunk": [5, 49, 115], "suitabl": [5, 94], "modif": [5, 94, 136], "could": [5, 20, 39, 52, 62, 91, 94, 122, 125, 130, 134, 138, 140, 141, 146, 151, 158, 160], "replac": [5, 8, 12, 33, 40, 62, 122, 135, 137, 150, 158], "conceiv": 5, "realist": 5, "intermedi": [5, 62, 109, 154], "frontend": 5, "ey": 6, "thing": [6, 18, 20, 21, 23, 28, 39, 51, 61, 70, 94, 106, 110, 126, 138, 150, 160], "u": [6, 20, 112, 160], "never": [6, 50, 56, 77, 140, 142, 146], "definit": [6, 28, 41, 46, 51, 55, 68, 77, 98, 107, 115, 118, 121, 123, 124, 125, 130, 134, 153, 155], "pretti": [6, 94], "much": [6, 21, 22, 28, 30, 34, 36, 68, 94, 109, 112, 115, 125, 139, 142, 144, 145], "syntact": [6, 39, 61, 62], "correct": [6, 8, 20, 41, 43, 49, 66, 136, 142, 153], "caught": [6, 140], "befor": [6, 12, 21, 31, 32, 40, 48, 50, 69, 94, 106, 109, 112, 114, 122, 124, 126, 131, 138, 140, 142, 145, 150], "3": [6, 18, 20, 40, 41, 42, 50, 67, 80, 90, 91, 94, 112, 114, 115, 135, 156, 157], "classic": [6, 21], "flex": 6, "scanner": [6, 21], "bison": 6, "lalr": 6, "combin": [6, 20, 41, 92, 98, 109, 110, 121], "But": [6, 21, 115, 122], "commit": [6, 32, 58], "eba85a": 6, "hand": [6, 20, 69, 112, 115, 125, 142], "craft": 6, "recurs": [6, 8], "descent": 6, "valapars": 6, "lexer": [6, 102], "valascann": 6, "entri": [6, 94, 107, 136, 152], "75": [6, 115, 143], "empti": [6, 7, 37, 43, 86, 114], "virtual": [6, 21, 106, 117, 125, 126, 157], "each": [6, 7, 18, 20, 36, 39, 88, 91, 102, 106, 109, 112, 114, 118, 125, 126, 128, 130, 131, 134, 135, 136, 141, 153, 156, 159], "kind": [6, 145, 157], "process": [6, 12, 20, 21, 22, 34, 36, 92, 94, 112, 126, 134, 140, 152, 155, 160], "public": [6, 20, 21, 30, 32, 33, 40, 41, 42, 43, 44, 46, 48, 50, 52, 53, 57, 58, 59, 61, 62, 65, 68, 69, 71, 72, 73, 74, 75, 76, 79, 80, 81, 83, 86, 89, 94, 107, 112, 115, 118, 119, 121, 122, 123, 124, 125, 126, 127, 130, 131, 134, 137, 138, 141, 142, 146, 154, 155, 156, 164], "codegener": 6, "codewrit": 6, "flowanalyz": 6, "geniepars": 6, "girpars": [6, 12], "gidlpars": [6, 12], "semanticanalyz": 6, "symbolresolv": [6, 8], "close": [6, 120], "codenod": [6, 8], "group": [6, 20, 21, 28], "superclass": [6, 123, 126], "catchclaus": 6, "datatyp": [6, 8], "memberiniti": 6, "statement": [6, 8, 40, 56, 113, 114, 115, 138, 140, 153], "switchlabel": 6, "usingdirect": 6, "ctype": 6, "delegatetyp": [6, 115], "fieldprototyp": 6, "generictyp": 6, "invalidtyp": 6, "methodtyp": 6, "pointertyp": 6, "referencetyp": 6, "signaltyp": 6, "unresolvedtyp": [6, 8], "valuetyp": 6, "voidtyp": 6, "arraytyp": 6, "classtyp": 6, "errortyp": 6, "interfacetyp": 6, "nulltyp": 6, "objecttyp": 6, "valu": [6, 7, 12, 21, 30, 34, 36, 38, 40, 41, 43, 46, 47, 49, 50, 52, 55, 58, 61, 62, 65, 66, 67, 69, 73, 74, 80, 94, 107, 108, 110, 113, 114, 115, 122, 125, 131, 133, 134, 135, 136, 138, 140, 142, 143, 156], "booleantyp": [6, 7], "enumvaluetyp": 6, "floatingtyp": [6, 7], "integertyp": [6, 7, 42], "structvaluetyp": 6, "addressofexpress": 6, "arraycreationexpress": 6, "assign": [6, 20, 112, 113, 115, 121, 122, 130, 131, 134, 135, 137, 141, 142, 144, 151], "baseaccess": 6, "binaryexpress": 6, "castexpress": 6, "conditionalexpress": 6, "elementaccess": 6, "initializerlist": 6, "lambdaexpress": 6, "liter": [6, 112, 115, 142, 148], "memberaccess": 6, "methodcal": 6, "namedargu": 6, "objectcreationexpress": 6, "pointerindirect": 6, "postfixexpress": 6, "referencetransferexpress": 6, "sizeofexpress": 6, "sliceexpress": 6, "templat": [6, 60, 97, 112, 137], "tupl": 6, "typecheck": 6, "typeofexpress": 6, "unaryexpress": 6, "booleanliter": 6, "characterliter": 6, "integerliter": 6, "listliter": 6, "mapliter": 6, "nullliter": 6, "realliter": 6, "regexliter": 6, "setliter": 6, "stringliter": 6, "breakstat": 6, "continuestat": 6, "declarationstat": 6, "deletestat": 6, "dostat": 6, "emptystat": 6, "expressionstat": 6, "forstat": 6, "ifstat": 6, "lockstat": 6, "loop": [6, 62, 114, 132, 138, 140, 146], "returnstat": 6, "statementlist": 6, "switchstat": 6, "throwstat": 6, "trystat": 6, "unlockstat": 6, "whilestat": 6, "yieldstat": 6, "constructor": [6, 7, 20, 30, 44, 51, 69, 77, 118, 119, 123, 128, 136], "enumvalu": 6, "localvari": 6, "propertyaccessor": [6, 7], "typeparamet": 6, "typesymbol": [6, 8], "unresolvedsymbol": [6, 8], "lockabl": 6, "field": [6, 7, 22, 30, 43, 73, 75, 112, 118, 122, 125, 146, 157, 164], "deleg": [6, 7, 20, 28, 30, 38, 39, 48, 50, 52, 55, 68, 69, 75, 77, 78, 108, 140], "errorcod": 6, "errordomain": [6, 7, 134], "objecttypesymbol": 6, "struct": [6, 7, 22, 28, 30, 38, 39, 44, 48, 50, 51, 53, 57, 58, 61, 63, 75, 76, 79, 83, 108, 112, 118, 122, 145, 156], "last": [6, 8, 46, 55, 107, 111, 115, 126, 143], "least": [6, 36, 143], "scope": [6, 8, 20, 28, 69, 75, 94, 102, 110, 115, 138, 141, 142, 145], "sourcefil": 6, "sourcerefer": 6, "visit": [6, 7, 8, 32], "visit_source_fil": 6, "parent": [6, 8, 20, 34, 38, 43, 50, 72, 73, 77, 91, 125, 126, 138, 141], "special": [6, 8, 50, 55, 59, 66, 111, 118, 122, 131, 133, 137, 145], "children": [6, 7], "number": [6, 18, 21, 29, 38, 78, 87, 90, 91, 94, 96, 98, 100, 101, 112, 113, 114, 115, 118, 121, 125, 131, 134, 137, 143, 147, 154, 156], "two": [6, 20, 21, 36, 42, 44, 66, 74, 79, 90, 91, 92, 94, 100, 112, 113, 114, 115, 118, 119, 121, 123, 125, 126, 134, 137, 138, 140, 147], "accept_children": 6, "let": [6, 36, 122, 131], "act": [6, 30, 46, 51, 53, 125, 138], "overrid": [6, 20, 32, 124, 125, 126, 127, 136, 151], "void": [6, 20, 28, 30, 33, 35, 38, 41, 43, 44, 45, 46, 48, 50, 52, 57, 58, 61, 62, 65, 66, 68, 69, 75, 77, 79, 80, 81, 83, 86, 94, 107, 112, 115, 119, 121, 122, 123, 124, 125, 126, 127, 130, 133, 134, 135, 137, 138, 139, 140, 143, 146, 154, 156, 164], "visit_struct": 6, "am": [6, 17], "themselv": [6, 8, 115, 140, 141], "base_typ": [6, 20], "p": [6, 75, 112, 122, 135], "type_paramet": 6, "f": [6, 48, 50, 53, 61, 65, 66, 68, 72, 80, 112, 115, 125, 144], "m": [6, 106, 125, 150, 156], "prop": 6, "As": [6, 8, 28, 40, 87, 94, 106, 110, 118, 123, 124, 125, 130, 131, 138, 142, 157], "repeatedli": [6, 114], "ask": [6, 8, 96, 142], "whatev": 6, "analysi": [6, 98, 151], "deeper": [6, 106], "hypothet": 6, "xmlgener": 6, "might": [6, 20, 28, 44, 51, 94, 115, 120, 133, 138, 140, 142, 144, 148], "like": [6, 8, 16, 20, 21, 22, 36, 41, 43, 51, 55, 62, 66, 67, 68, 69, 77, 94, 96, 98, 109, 110, 111, 112, 115, 122, 123, 125, 131, 135, 140, 146, 149, 156, 157], "st": 6, "stdout": [6, 94, 107, 112, 113, 114, 115, 118, 120, 121, 122, 124, 125, 126, 128, 130, 131, 134, 137, 138, 139, 143, 146, 150, 154, 164], "printf": [6, 55, 94, 107, 112, 113, 114, 115, 118, 120, 121, 122, 124, 125, 126, 128, 130, 131, 134, 137, 138, 139, 143, 146, 150, 154, 164], "n": [6, 62, 94, 107, 112, 113, 114, 115, 121, 122, 124, 125, 126, 128, 131, 134, 137, 138, 139, 143, 146, 150, 154, 164], "through": [6, 18, 20, 22, 25, 26, 39, 40, 46, 91, 98, 102, 106, 107, 114, 118, 136, 157, 160, 165], "now": [6, 20, 35, 62, 86, 100, 115, 119, 122, 126, 138, 140, 154, 157, 158], "visit_": 6, "needn": 6, "isn": [6, 20, 21, 22, 94, 106], "whole": [6, 109, 118, 130, 140], "everi": [6, 7, 8, 15, 20, 44, 94, 115, 122, 123, 136, 151], "alreadi": [6, 21, 86, 87, 102, 106, 112, 121, 126, 134], "doe": [6, 17, 20, 21, 35, 36, 40, 43, 46, 50, 52, 53, 59, 61, 62, 66, 67, 69, 74, 82, 83, 86, 102, 107, 109, 112, 115, 119, 125, 127, 129, 130, 131, 133, 140, 144, 156], "control": [6, 18, 20, 27, 46, 66, 108, 123, 132, 139, 140, 144], "bounc": 6, "navig": [6, 98], "yourself": [6, 94], "highli": [6, 94], "mention": [6, 7, 21, 44, 49, 145], "spoil": 6, "fun": 6, "too": [6, 74, 92, 94, 106, 158], "go": [6, 12, 20, 68, 94, 106, 107], "detail": [6, 18, 20, 21, 22, 25, 30, 32, 71, 94, 97, 106, 107, 115, 116, 121, 122, 125, 140, 141, 145, 153, 156, 159, 160], "parse_": 6, "throw": [6, 91, 114, 134, 140], "parseerror": 6, "fixm": [6, 7, 17], "sometim": [6, 20, 21, 28, 46, 53, 57, 77, 79, 83, 94], "diverg": 6, "slightli": [6, 28, 67, 73, 75, 90, 115, 119, 131], "option": [6, 20, 21, 28, 80, 98, 107, 115, 121, 123, 134, 136, 140, 147, 152, 154, 160, 164], "termin": [6, 55, 63, 67, 74, 94, 96, 107, 112, 114, 133, 138, 146], "match": [6, 20, 30, 46, 62, 66, 94, 98, 114, 115, 147, 150], "specif": [6, 21, 94, 107, 113, 118, 124, 134, 136, 142, 144, 152, 153, 155], "page": [6, 18, 87, 90, 92, 106, 140, 141, 156, 157, 158, 159], "manual": [6, 16, 18, 19, 20, 21, 25, 27, 34, 44, 85, 93, 94, 95, 115, 120, 144, 160, 165], "index": [6, 18, 62, 86, 112, 136, 137], "parse_fil": 6, "input": [6, 48, 49, 94, 112], "using_direct": 6, "namespace_memb": 6, "parse_using_direct": 6, "parse_symbol_nam": [6, 8], "symbol_part": 6, "namespace_declar": 6, "class_declar": 6, "interface_declar": 6, "struct_declar": 6, "enum_declar": 6, "errordomain_declar": 6, "method_declar": 6, "field_declar": 6, "constant_declar": 6, "attribute_argu": 6, "lambda_express": 6, "conditional_express": 6, "assignment_oper": 6, "get_assignment_oper": 6, "plu": [6, 52, 94, 115], "coalescing_express": 6, "conditional_or_express": 6, "conditional_and_express": 6, "in_express": 6, "inclusive_or_express": 6, "exclusive_or_express": 6, "and_express": 6, "equality_express": 6, "relational_express": 6, "shift_express": 6, "parse_typ": 6, "dynam": [6, 34, 74, 106, 109, 112, 117, 128, 136, 147, 154, 157], "unown": [6, 20, 49, 61, 62, 67, 68, 69, 73, 75, 78, 112, 132, 144], "type_argu": [6, 20], "array_typ": 6, "can_weak": 6, "type_weak": 6, "weak": [6, 94, 132, 142], "array_s": 6, "additive_express": 6, "multiplicative_express": 6, "unary_express": 6, "unary_oper": 6, "primary_express": 6, "get_unary_oper": 6, "open_regex_liter": 6, "this_access": 6, "base_access": 6, "object_or_array_creation_express": 6, "yield_express": 6, "sizeof_express": 6, "typeof_express": 6, "simple_nam": 6, "member_access": 6, "pointer_member_access": 6, "method_cal": [6, 146], "element_access": 6, "post_increment_express": 6, "post_decrement_express": 6, "true": [6, 33, 38, 46, 53, 62, 68, 69, 74, 80, 83, 89, 112, 113, 121, 124, 125, 137, 143], "fals": [6, 20, 38, 41, 42, 43, 44, 46, 65, 66, 79, 80, 83, 112, 113, 122, 125, 137, 139, 156], "integer_liter": 6, "real_liter": 6, "character_liter": 6, "regex_liter": 6, "string_liter": 6, "template_string_liter": 6, "verbatim_string_liter": 6, "parse_argument_list": 6, "ref": [6, 20, 44, 48, 49, 80, 135, 139], "parse_regex_liter": 6, "object_creation_express": 6, "array_creation_express": 6, "object_initi": 6, "member_initi": 6, "parse_member_nam": 6, "member_part": 6, "parse_type_argument_list": 6, "yield": [6, 138, 140], "sizeof": [6, 112], "typeof": [6, 94, 128, 156], "lambda_expression_param": 6, "lambda_expression_bodi": 6, "member_declaration_modifi": 6, "async": [6, 20, 75, 140], "inlin": [6, 115, 121], "static": [6, 8, 28, 44, 47, 58, 69, 86, 90, 98, 107, 108, 115, 118, 121, 122, 123, 124, 125, 130, 131, 134, 138, 147, 151, 154], "constructor_declar": 6, "constructor_declaration_modifi": 6, "construct": [6, 12, 94, 106, 109, 110, 117, 122, 128, 130, 150, 156], "destructor_declar": 6, "access_modifi": 6, "type_declaration_modifi": 6, "class_memb": 6, "delegate_declar": 6, "signal_declar": 6, "property_declar": 6, "privat": [6, 54, 59, 79, 80, 107, 112, 115, 118, 122, 123, 125, 131, 137, 138, 142, 146, 156], "protect": [6, 112, 118, 123, 124, 125], "interface_memb": 6, "parse_type_parameter_list": 6, "struct_memb": 6, "creation_method_declar": 6, "ensur": [6, 26, 30, 45, 96, 107, 112, 114, 124, 125, 129, 133, 135, 136, 138, 151], "param": [6, 91], "delegate_declaration_modifi": 6, "signal_declaration_modifi": 6, "const": [6, 20, 30, 40, 44, 48, 49, 65, 67, 94, 112], "inline_array_typ": 6, "property_declaration_modifi": 6, "property_declaration_part": 6, "property_accessor": 6, "property_get_accessor": 6, "property_set_construct_accessor": 6, "set": [6, 8, 21, 36, 41, 46, 52, 53, 61, 62, 66, 68, 69, 87, 97, 106, 112, 113, 114, 118, 122, 124, 125, 130, 131, 135, 136, 137, 138, 142, 146, 153, 158, 160, 165], "parse_stat": 6, "if_stat": 6, "switch_stat": 6, "while_stat": 6, "for_stat": 6, "foreach_stat": 6, "break_stat": 6, "continue_stat": 6, "return_stat": 6, "yield_stat": 6, "throw_stat": 6, "try_stat": 6, "lock_stat": 6, "delete_stat": 6, "local_variable_declar": 6, "expression_stat": 6, "embedded_stat": 6, "embedded_statement_without_block": 6, "switch": [6, 25, 101, 109, 114, 138, 147, 154, 158, 160], "switch_sect": 6, "do_stat": 6, "for_initi": 6, "for_iter": 6, "statement_express": 6, "continu": [6, 62, 96, 111, 114, 140, 160], "return": [6, 8, 22, 39, 44, 47, 49, 50, 52, 55, 57, 58, 61, 62, 66, 67, 68, 79, 80, 86, 89, 90, 91, 94, 107, 112, 113, 114, 115, 118, 121, 122, 124, 125, 126, 129, 131, 133, 134, 135, 136, 137, 138, 139, 140, 142, 151, 154], "try": [6, 28, 29, 34, 94, 96, 106, 134, 140, 142, 146], "catch_claus": 6, "finally_claus": 6, "catch": [6, 134, 140, 146], "final": [6, 62, 66, 115, 118, 121, 134, 160], "lock": [6, 138], "delet": [6, 94, 142, 144], "local_variable_declart": 6, "local_tuple_declar": 6, "local_vari": 6, "kei": [7, 20, 30, 92, 98, 136, 143], "processor": [7, 40, 138], "purpos": [7, 22, 139, 158, 164], "interpret": [7, 94, 110, 112, 143], "result": [7, 20, 21, 22, 50, 52, 62, 75, 91, 107, 110, 112, 113, 115, 123, 124, 125, 126, 133, 138, 140, 142, 156, 164], "cname": [7, 23, 30, 32, 41, 42, 43, 44, 45, 46, 53, 57, 58, 61, 62, 65, 68, 69, 75, 76, 77, 79, 80], "affect": [7, 90, 98], "condit": [7, 21, 94, 113, 114, 133, 138, 139, 140], "attributeprocessor": 7, "where": [7, 21, 30, 36, 41, 44, 46, 52, 53, 68, 69, 95, 98, 106, 110, 112, 113, 122, 123, 125, 126, 138, 139, 140, 141, 147, 160], "ignore_nod": 7, "codecontext": 7, "simpli": [7, 20, 21, 28, 34, 59, 64, 68, 69, 72, 81, 107, 112, 115, 121, 134, 141, 142], "process_attribut": 7, "insid": [7, 8, 20, 36, 62, 92, 107, 109, 115, 125, 131, 150], "seri": [7, 41], "string": [7, 20, 39, 40, 44, 48, 55, 60, 63, 66, 86, 90, 107, 108, 113, 114, 115, 119, 121, 122, 124, 125, 126, 130, 131, 134, 136, 137, 139, 140, 142, 143, 146, 150, 156, 165], "comparison": [7, 153], "made": [7, 20, 22, 40, 121, 136, 140, 157], "process_ccode_attribut": 7, "pair": [7, 61, 69, 143], "suppli": [7, 69, 109, 134, 138], "set_attribut": 7, "recogn": [7, 22, 137, 143], "deprec": [7, 12, 18, 21, 33, 91, 95, 160], "sinc": [7, 20, 21, 28, 33, 49, 53, 55, 66, 68, 74, 86, 91, 94, 97, 102, 112, 120, 121, 125, 128, 130, 133, 156, 160], "dbu": [7, 15, 116, 146], "compact": [7, 21, 22, 30, 32, 38, 39, 43, 50, 57, 58, 61, 62, 71], "immut": [7, 67, 112], "errorbas": 7, "simpletyp": [7, 21, 42, 65, 112], "flag": [7, 21, 22, 28, 30, 38, 39, 50, 51, 86, 109, 121, 146], "returnsmodifiedpoint": [7, 57], "floatingrefer": 7, "nowrapp": 7, "noreturn": [7, 56], "moduleinit": 7, "creationmethod": 7, "noaccessormethod": 7, "nick": [7, 122], "blurb": [7, 122], "hasemitt": [7, 20], "exchang": 8, "namespacerefer": 8, "addition": [8, 55], "multipl": [8, 20, 35, 77, 83, 94, 96, 109, 112, 115, 117, 119, 130, 137, 158], "likewis": [8, 138], "comput": [8, 52, 53, 98, 136, 144], "etc": [8, 17, 20, 110, 112, 122, 157], "about": [8, 20, 34, 35, 37, 61, 69, 71, 91, 92, 94, 95, 98, 102, 106, 109, 110, 112, 115, 116, 122, 125, 128, 131, 134, 139, 140, 157, 160, 162], "within": [8, 76, 112, 115, 118, 122, 131, 133, 137, 140, 142], "anoth": [8, 20, 36, 41, 48, 91, 112, 114, 115, 116, 118, 122, 123, 124, 125, 135, 138, 140, 142, 143, 156], "determin": [8, 39, 41, 53, 66, 69, 91, 112, 147], "subject": [8, 148], "lifetim": 8, "track": [8, 18, 94, 112], "current_scop": 8, "window": [8, 94, 115, 146, 156], "main_window": 8, "visit_data_typ": 8, "resolve_typ": 8, "resolve_symbol": 8, "wrap": [8, 17, 130], "unresolv": 8, "correspond": [8, 20, 21, 109], "horizont": 8, "child": [8, 77, 138, 141], "search": [8, 100, 113], "ambigu": [8, 115, 118], "give": [8, 22, 25, 35, 62, 90, 94, 109, 112, 115, 119, 134, 140, 160], "One": [8, 38, 55, 80, 92, 94, 122, 145], "visit_variable_declar": 8, "mark": [8, 20, 33, 48, 49, 50, 52, 58, 67, 73, 74, 112, 124, 133, 139, 151, 156], "nullabl": [8, 47, 75, 115, 133, 137, 151], "nullcheck": 8, "describ": [12, 20, 21, 52, 106, 107, 109, 112, 113, 114, 115, 118, 119, 122, 124, 125, 126, 128, 131, 134, 142, 155, 157], "below": [12, 50, 66, 96, 98, 122], "appli": [12, 29, 30, 36, 48, 61, 69, 72, 94, 106, 113], "newli": [12, 113, 115, 138, 142], "chosen": [12, 130], "strategi": [12, 39], "gen": [12, 17, 20, 155, 159], "gi": [12, 20, 21, 156, 157], "vapigen": [12, 17, 18, 20, 21, 25, 94, 155, 159, 162], "prefer": [12, 20, 30, 42, 67, 94, 131, 162], "old": [12, 156], "must": [15, 20, 21, 38, 40, 43, 48, 52, 58, 62, 66, 68, 69, 74, 75, 94, 106, 107, 110, 112, 113, 114, 115, 118, 122, 124, 125, 126, 130, 131, 133, 134, 136, 137, 140, 142, 146, 153, 158], "otherwis": [15, 20, 36, 94, 126], "invalid": [15, 134, 142], "failur": 15, "doc": [16, 17, 18, 20, 32, 86, 106], "main": [16, 18, 26, 28, 29, 30, 36, 86, 90, 94, 97, 104, 105, 107, 115, 119, 121, 122, 124, 125, 127, 130, 132, 134, 137, 138, 140, 143, 146, 154, 156, 164], "rebuild": 16, "cd": [16, 17, 32, 96], "ing": 16, "guid": [16, 18, 20, 21, 22, 28, 84, 87, 95], "github": [16, 101, 102, 157], "lang": [16, 96, 102], "contributor": [16, 95], "rebuilt": 16, "repositori": [16, 18, 21, 25, 26, 32, 85, 92, 94, 95, 156, 157], "anyon": [16, 34], "who": [16, 21, 110, 115, 123, 146], "would": [16, 20, 21, 22, 25, 26, 28, 42, 58, 65, 106, 112, 115, 126, 130, 138, 142, 151, 153], "autotool": [17, 20, 152], "execut": [17, 21, 46, 56, 106, 107, 114, 115, 118, 121, 122, 123, 126, 131, 134, 135, 138, 139, 140], "actual": [17, 20, 21, 38, 44, 48, 61, 106, 111, 112, 121, 124, 125, 126, 135, 154], "lib": [17, 86, 96, 154, 158], "script": [17, 160], "therefor": [17, 20, 94, 115, 118, 121, 125, 126, 130, 131, 135, 136, 142, 144, 145, 152, 153], "debug": [17, 98, 101, 156, 163], "configur": [17, 158], "ac_path_prog": 17, "macro": [17, 21, 69, 94, 97], "choos": [17, 21, 115, 120, 126, 135], "path": [17, 21, 165], "home": [17, 164], "x": [17, 28, 41, 42, 43, 48, 50, 52, 55, 62, 65, 68, 83, 94, 112, 115, 119, 133, 143, 150, 154, 156, 160], "y": [17, 28, 41, 43, 48, 62, 65, 83, 112, 119, 143, 154], "z": [17, 41, 62, 110, 112, 115, 143, 150], "prefix": [17, 28, 30, 73, 110, 112, 113, 115, 122, 142, 158], "properli": [17, 36], "yet": [17, 94, 106, 112, 125, 154], "advantag": [17, 21, 34, 94], "clutter": [17, 20], "solaria": 17, "clone": [17, 18, 32], "l": [17, 62, 112, 143, 154, 156], "acloc": 17, "m4": [17, 21], "config": [17, 21, 25, 96, 152, 153, 154, 158], "log": [17, 18, 122], "introspect": [17, 18, 19, 22, 25, 85, 93, 94, 100, 154, 155, 156, 157, 158, 159], "statu": [17, 140, 146], "stamp": [17, 158], "h1": 17, "autogen": [17, 18, 32], "sh": [17, 18, 32], "sub": [17, 22, 29, 32, 40, 113, 157], "autom4t": 17, "cach": [17, 122], "libtool": [17, 154], "ac": [17, 102], "ltmain": 17, "pc": [17, 25, 152, 158], "changelog": 17, "copi": [17, 20, 21, 23, 26, 34, 38, 39, 44, 49, 62, 112, 115, 135, 140], "depcomp": 17, "makefil": [17, 21], "guess": [17, 94, 107], "gee": [17, 136, 152, 153, 156, 158, 160], "ylwrap": 17, "h": [17, 20, 28, 29, 87, 109, 154, 158], "miss": [17, 20, 73, 94], "mkdir": 17, "buildvala": 17, "collabor": 18, "model": [18, 139], "guidelin": 18, "help": [18, 20, 21, 30, 36, 44, 87, 92, 96, 100, 106, 112, 115, 151, 159], "back": [18, 113, 125, 136, 140], "merg": [18, 92], "request": [18, 32, 92, 112, 130, 134, 139, 144, 160], "fork": 18, "person": [18, 112, 113, 122, 131], "machin": [18, 106, 107, 160], "includ": [18, 20, 21, 24, 25, 26, 27, 32, 34, 44, 46, 48, 51, 55, 66, 68, 69, 73, 74, 79, 100, 101, 102, 106, 113, 118, 129, 130, 139, 140, 147, 150, 153, 154, 157, 158, 159, 164, 165], "attach": [18, 66, 121, 139], "after": [18, 21, 25, 31, 55, 56, 68, 90, 112, 114, 134, 135, 139, 140, 143], "rebas": 18, "interact": [18, 55, 106, 139], "squash": 18, "chang": [18, 20, 21, 36, 44, 46, 47, 50, 61, 62, 66, 91, 94, 98, 106, 113, 122, 126, 135, 138, 148, 155, 156], "push": 18, "forc": [18, 32, 86, 87, 118], "branch": 18, "pick": [18, 20, 25, 26], "show": [18, 20, 32, 41, 91, 94, 98, 107, 126, 138, 146, 156], "them": [18, 20, 21, 28, 32, 38, 52, 55, 59, 72, 74, 111, 112, 115, 118, 119, 135, 137, 139, 145, 154, 156, 157, 158], "carri": [18, 42, 128], "three": [18, 21, 36, 44, 114, 118, 123, 134, 155], "To": [18, 20, 21, 23, 26, 36, 42, 48, 51, 65, 69, 86, 96, 102, 112, 115, 130, 141, 146, 147, 154], "metadata": [18, 21, 91, 94, 155, 156, 157, 161], "gio": [18, 20, 21, 140, 146, 158, 165], "outlin": [18, 100], "abov": [18, 22, 28, 41, 49, 62, 94, 96, 112, 115, 122, 124, 125, 131, 134, 138, 139, 140, 142, 155], "version": [18, 20, 24, 53, 64, 74, 86, 87, 91, 94, 96, 102, 113, 124, 125, 126, 148, 153, 154, 155, 156, 160], "ad": [18, 20, 22, 32, 42, 50, 55, 65, 121, 125, 130, 140, 142, 155], "hack": 18, "valadoc": [18, 20, 21, 24, 26, 59, 84, 86, 87, 88, 93, 94, 95, 98, 101, 111], "form": [18, 21, 98, 115, 125, 131, 134, 136, 140, 141, 156], "enabl": [18, 94, 147, 151], "distclean": 18, "shown": [18, 122], "gdb": [18, 98, 164], "backtrac": 18, "segment": [18, 50, 142, 164], "fault": [18, 50, 164], "critic": [18, 94], "warn": [18, 20, 107, 134, 140, 160], "g_debug": 18, "fatal": [18, 134], "arg": [18, 86, 90, 94, 107, 115, 121, 134, 139, 143], "em": 18, "my_valac_vers": 18, "my_test_program": 18, "buildbot": 18, "select": [18, 86, 147], "Of": [18, 94, 107, 147], "stage": [18, 36, 40], "builder": [18, 98, 100, 102], "master": 18, "stdio": [18, 100], "why": [19, 25, 40, 93, 98, 143, 153], "upstream": [19, 20, 25, 93], "binari": [20, 95, 107, 109, 147, 153, 160, 164], "sever": [20, 21, 39, 62, 66, 106, 115, 126, 140, 159], "tweak": [20, 21], "integr": [20, 42, 94, 98, 132], "still": [20, 21, 62, 66, 70, 90, 107, 126, 127, 130, 138, 142, 147, 153], "Then": [20, 86, 94, 125, 143, 158], "benefit": [20, 21, 94], "background": [20, 140], "compat": [20, 26, 94, 100, 147, 156, 157, 160], "wider": 20, "obtain": [20, 112, 136, 142, 143], "xml": [20, 21, 154], "enumer": [20, 112, 137], "gtkbutton": 20, "graphic": [20, 21, 94, 122, 146, 164], "22": 20, "parenthes": 20, "gtk_button_new_from_icon_nam": 20, "icon_nam": 20, "icon": [20, 92], "size": [20, 36, 42, 62, 74, 79, 81, 112, 137], "int": [20, 30, 35, 36, 38, 41, 43, 46, 48, 50, 52, 53, 61, 62, 64, 65, 66, 68, 69, 72, 74, 75, 76, 79, 80, 83, 90, 94, 107, 110, 112, 114, 115, 118, 121, 122, 123, 125, 131, 133, 134, 135, 137, 138, 140, 143, 144, 146, 154, 164], "gtkicons": 20, "button": [20, 94, 106, 119, 129], "theme": 20, "known": [20, 35, 36, 63, 98, 112, 115, 131, 134, 144, 153], "broken": 20, "imag": [20, 94, 147], "displai": [20, 87, 98, 140], "appropri": [20, 21, 30, 42, 52, 62, 113, 115, 133, 134, 153], "conveni": [20, 28, 74, 82, 94, 115, 143], "wrapper": [20, 47, 66, 106, 130, 136, 165], "gtk_button_new": 20, "gtk_button_set_imag": 20, "10": [20, 42, 112, 114, 115, 123, 125, 133], "gtkwidget": 20, "gchar": [20, 42], "gtk_image_new_from_icon_nam": 20, "g_object_new": [20, 156], "gtk_type_button": 20, "new_from_icon_nam": 20, "preserv": [20, 112, 115], "transfer": [20, 132], "none": [20, 115, 146], "widget": [20, 94, 102, 122, 129], "utf8": 20, "gint": [20, 42], "from_icon_nam": 20, "sampl": [20, 94, 112, 115, 121, 138, 140, 146, 164, 165], "appear": [20, 32, 59, 98, 121, 134, 138], "cheader_filenam": [20, 29], "type_id": 20, "gtk_button_get_typ": 20, "bin": 20, "atk": 20, "implementor": [20, 125], "action": [20, 91, 121, 131], "activat": 20, "buildabl": 20, "has_construct_funct": [20, 112], "icons": 20, "correctli": [20, 43, 49, 96, 140, 151], "readthedoc": 20, "io": 20, "en": 20, "across": 20, "lost": [20, 146], "relev": [20, 25, 27, 35, 40, 44], "lead": [20, 138], "awkward": [20, 22, 59, 63, 80], "At": [20, 21, 106, 125, 152, 158], "present": [20, 21, 22, 88, 122], "buildmod": 20, "share": [20, 21, 25, 78, 106, 130, 138, 154, 156], "tutori": [20, 22, 23, 27, 95, 103, 105, 115, 145, 155, 156, 161, 162], "mode": [20, 46, 148], "rust": [20, 152], "keyword": [20, 49, 51, 62, 65, 98, 110, 114, 122, 126, 138, 140, 142], "no_mangl": 20, "ffi": 20, "python": [20, 21, 34, 106, 152, 156], "lua": [20, 97, 152], "javascript": [20, 152, 156], "haskel": [20, 152], "automat": [20, 21, 22, 25, 27, 42, 51, 53, 66, 85, 94, 110, 112, 118, 136, 139, 140, 141, 142, 143, 146, 157, 158], "convert": [20, 21, 27, 28, 41, 61, 62, 69, 112, 142], "poppler": 20, "offici": 20, "vapidir": [20, 21, 25, 153, 158], "metadatadir": [20, 21], "just": [20, 21, 42, 48, 52, 65, 107, 110, 112, 113, 115, 122, 125, 131, 135, 138, 139, 143, 146, 154, 160], "forget": 20, "gconf": 20, "pkg": [20, 21, 25, 87, 96, 109, 136, 140, 146, 147, 152, 153, 154, 158, 160], "ll": [20, 21, 86, 87, 88, 126, 154], "incomplet": 20, "tkwidget": 20, "alloc": [20, 34, 35, 36, 39, 44, 48, 66, 74, 94, 112, 115], "poppler_page_get_s": 20, "height": 20, "valid": [20, 110, 113, 142, 150, 160], "signatur": [20, 21, 35, 46, 47, 50, 52, 61, 62, 68, 100, 107, 115, 121, 125, 127, 137, 143], "our": [20, 21, 121, 131, 143, 154, 158], "we": [20, 21, 30, 43, 52, 88, 94, 115, 119, 121, 125, 126, 131, 134, 137, 138, 154, 160, 164], "is_out": 20, "extens": [20, 21, 25, 27, 94, 109, 126], "bar": [20, 21, 30, 41, 43, 44, 74, 115, 125, 127, 133, 142, 143, 150, 165], "someth": [20, 21, 34, 62, 77, 96, 115, 122, 146, 149, 156], "certain": [20, 22, 27, 46, 52, 62, 109, 130, 137, 138, 140, 160], "assumpt": [20, 69, 133], "tend": [20, 21, 62, 69, 106], "amen": 20, "project_sourc": 20, "amend": 20, "pnpid": 20, "libgnom": 20, "desktop": 20, "pnp": 20, "common": [20, 21, 41, 42, 43, 44, 46, 79, 81, 94, 126, 136, 139, 140, 143], "seen": [20, 134], "tri": [20, 94], "assum": [20, 22, 46, 48, 50, 52, 61, 66, 68, 107], "entiti": [20, 158], "extrem": [20, 21, 147], "item": [20, 36, 62, 66, 136, 137], "activ": [20, 100], "That": [20, 28, 47, 50, 62, 142, 143, 165], "said": [20, 109], "conflict": 20, "cannot": [20, 22, 23, 28, 38, 68, 87, 106, 112, 113, 125, 138, 142], "disagre": 20, "regard": 20, "clutteractor": 20, "event": [20, 26, 73, 121, 138, 139, 140], "take": [20, 21, 22, 34, 41, 58, 62, 67, 69, 77, 80, 94, 107, 112, 113, 115, 118, 121, 125, 131, 140, 144], "clutterev": 20, "intanc": 20, "boolean": [20, 112, 113, 114], "renam": [20, 23, 98], "emit_ev": 20, "actor": [20, 143], "subclass": [20, 44, 107, 112, 118, 123, 124, 125, 126, 129, 130, 134], "skip": [20, 71, 156], "660879": 20, "ignor": [20, 94, 150, 156, 160], "quit": [20, 134, 139, 156], "bit": [20, 21, 30, 34, 36, 41, 112, 113, 115, 144], "cleaner": 20, "good": [20, 21, 28, 109, 122, 142, 143, 156], "move": [20, 28, 62, 66, 112], "hundr": 20, "keysmi": 20, "right": [20, 39, 81, 92, 112, 113, 115, 121, 143, 158], "key_right": 20, "accomplish": 20, "key_": 20, "techniqu": [20, 94, 98, 106, 126, 134, 138, 150, 156], "gcontenttyp": 20, "famili": 20, "content_type_": 20, "contenttyp": 20, "pointer": [20, 34, 38, 39, 43, 44, 46, 48, 49, 50, 57, 63, 71, 74, 77, 83, 120, 132, 135, 136, 142], "terminologi": [20, 75, 131, 134], "unless": [20, 21, 23, 49, 59, 61, 94, 118, 142, 151], "compar": [20, 69, 95, 112, 113, 115, 134], "caus": [20, 21, 66, 114, 142, 156], "luckili": 20, "clutter_actor_get_par": 20, "get_par": 20, "happen": [20, 36, 94, 112, 126, 138, 140], "expos": [20, 21, 106, 126, 156, 157], "simpl": [20, 22, 38, 39, 40, 45, 50, 51, 68, 71, 72, 75, 94, 95, 112, 113, 118, 122, 125, 139, 154, 160, 165], "un": 20, "clutter_actor_anim": 20, "anim": [20, 124, 143], "offer": [20, 94, 112, 119], "whether": [20, 35, 50, 62, 94, 112, 113, 114, 115, 131, 134, 138, 143], "imposs": [20, 69, 74, 142], "again": [20, 36, 67, 74, 96, 106, 134, 135], "gdbusannotationinfo": 20, "dbusannotationinfo": 20, "emitt": 20, "730480": 20, "basic": [20, 38, 49, 63, 98, 106, 107, 112, 113, 115, 117, 133, 138, 155, 156], "mean": [20, 21, 22, 34, 36, 39, 48, 63, 96, 106, 107, 110, 113, 114, 115, 118, 119, 123, 126, 130, 131, 134, 135, 136, 138, 142, 143, 144, 148, 153, 165], "distinguish": [20, 136], "wherea": [20, 21, 22, 74, 94, 112], "gtk_source_completion_proposal_equ": 20, "completionpropos": 20, "equal": [20, 31, 112, 113, 114, 136], "virtual_method": 20, "few": [20, 55, 133], "hard": [20, 21, 22, 94], "extend": [20, 53, 102], "639908": 20, "gdatalist": 20, "soup_form_encode_datalist": 20, "form_encode_datalist": 20, "form_data_set": 20, "callback": [20, 46, 75, 140, 146, 157], "636812": 20, "although": [20, 21, 32, 35, 58, 102, 106, 107, 115, 118, 120, 123, 139, 156, 157], "clutter_binding_pool_install_closur": 20, "bindingpool": 20, "install_closur": 20, "closur": [20, 46, 94, 108, 157], "bindingactionfunc": 20, "deriv": [20, 87, 112, 122, 123, 124, 125, 145], "560692": 20, "buffer": [20, 48, 49, 63], "gst": 20, "miniobject": 20, "relationship": [20, 123], "623635": 20, "By": [20, 52, 62, 66, 115, 125, 127, 144], "_finish": 20, "suffix": [20, 25, 73, 74], "finish_nam": 20, "servic": [20, 146], "lookupv": 20, "secret_service_lookup_finish": 20, "focus": [20, 106], "primarili": [20, 38], "preprocessor": 20, "decis": 20, "sens": [20, 28, 42, 52, 77, 94, 115], "dlsym": 20, "capabl": [20, 138, 154, 157], "util": [20, 147, 165], "rememb": [20, 94], "world": [20, 107, 112, 146, 154, 160], "perfect": [20, 106], "alwai": [20, 21, 44, 50, 55, 66, 69, 94, 107, 114, 118, 121, 123, 125, 126, 134, 140, 142, 143, 151], "enough": [20, 22, 35, 78, 107, 144], "either": [20, 21, 22, 28, 31, 49, 96, 106, 107, 110, 112, 113, 115, 118, 140, 142, 147, 157], "abil": 20, "inject": 20, "technic": [20, 21, 125, 153], "per": [20, 46, 48, 75, 94, 106], "convent": [20, 24, 27, 28, 30, 62, 74, 109, 112, 115, 122, 146, 154, 155, 165], "onc": [20, 21, 22, 25, 34, 36, 52, 69, 75, 86], "g_object_get": 20, "unfortun": [20, 48, 55, 94, 160], "alon": [20, 45], "recreat": 20, "tradit": [20, 21, 138], "approach": [20, 22, 160], "mainten": [20, 21], "third": [21, 26, 94, 134, 140], "parti": [21, 26, 94], "recommend": [21, 94, 115, 158, 160], "both": [21, 30, 38, 41, 44, 46, 48, 53, 62, 77, 85, 102, 121, 124, 125, 126, 129, 134, 138, 140, 150, 152], "entir": [21, 69, 89, 160], "ahead": 21, "detect": [21, 100, 136], "mismatch": [21, 66], "furthermor": 21, "easier": [21, 23, 26, 28, 30, 34, 62, 98, 106, 146], "quick": [21, 85, 87], "spot": 21, "even": [21, 25, 38, 52, 87, 109, 110, 112, 115, 122, 125, 126, 131, 134, 137, 141, 153, 156, 165], "aren": [21, 87, 94], "consum": [21, 94, 106], "receiv": [21, 65, 68, 121, 135, 140, 142, 144, 164], "sooner": 21, "unlik": [21, 26, 53, 61], "target": [21, 46, 48, 52, 68, 75, 95, 116, 129, 147, 160], "older": [21, 94, 160], "newer": 21, "sure": [21, 36, 43, 49, 130, 140, 151], "behav": [21, 43, 69, 126], "intend": [21, 22, 55, 71, 94, 115, 136], "ship": [21, 157, 165], "discourag": 21, "obvious": 21, "longer": [21, 114, 131, 144], "preced": [21, 72, 114], "occur": [21, 44, 52, 61, 73, 74], "peopl": [21, 157], "attempt": 21, "accid": 21, "believ": [21, 126], "noth": [21, 106, 139], "wrong": [21, 61, 142], "doesn": [21, 36, 43, 61, 76, 94, 106, 107, 110, 112, 118, 125, 138], "those": [21, 36, 106, 160, 165], "exit": [21, 36, 56, 107, 139], "circumv": 21, "confus": [21, 48, 52, 127], "expect": [21, 22, 32, 69, 74, 79, 90, 98, 106, 107, 125, 135, 138, 142, 143, 156], "real": [21, 115, 137], "begin": [21, 26, 107, 115, 126, 133, 140], "ones": [21, 30, 98, 106, 121], "earier": 21, "useless": 21, "duplic": [21, 38, 44, 53, 62, 68, 136, 142, 156, 157], "coexist": 21, "variad": [21, 47], "Not": [21, 47, 133], "depriv": 21, "end": [21, 55, 91, 94, 97, 107, 111, 112, 114, 119, 121, 124, 125, 133, 134, 136, 137, 138, 140, 142, 143, 150, 164], "eventu": 21, "worri": 21, "happi": 21, "realli": [21, 74, 94, 106], "effort": [21, 157], "drop": [21, 25, 140], "matrix": 21, "room": 21, "smaller": 21, "simpler": [21, 30, 51, 142, 152], "php": 21, "choic": [21, 143, 152, 154], "tell": [21, 25, 94, 138, 143, 153, 154, 157, 158, 164], "map": [21, 22, 30, 41, 45, 106, 136], "handwritten": 21, "pleas": [21, 25, 96, 107, 112, 115], "dep": [21, 152, 153], "avoid": [21, 45, 69, 71, 86, 106, 112, 115, 122, 124, 130, 140, 142, 151], "undefin": 21, "shall": [21, 107], "besid": 21, "easiest": [21, 39], "grow": [21, 57, 112], "burden": 21, "ir": [21, 154], "repeat": [21, 29, 98, 156], "further": [21, 152], "custom": [21, 94, 131, 136, 146], "16": 21, "autoconf": 21, "introduc": [21, 22, 27, 40, 55, 106, 121, 131], "folder": 21, "vapigen_check": 21, "api_vers": 21, "four": [21, 36, 114, 118], "recent": [21, 145, 158], "explicitli": [21, 55, 61, 62, 87, 106, 109, 114, 115, 151], "omit": [21, 106, 110, 118, 138, 140, 144], "gobject_introspection_check": 21, "ye": [21, 34, 38, 94, 98], "auto": [21, 98, 100, 160], "defin": [21, 29, 30, 40, 41, 42, 43, 59, 64, 68, 69, 74, 94, 98, 107, 108, 109, 110, 115, 117, 118, 121, 123, 124, 126, 130, 131, 134, 138, 140, 142, 145, 156], "automak": [21, 97], "vapigen_vapidir": 21, "vapigen_makefil": 21, "condition": [21, 80], "enable_vapigen": 21, "endif": [21, 94, 158], "popul": [21, 48, 66], "vapigen_fil": 21, "_dep": 21, "vapigen_dep": 21, "raw": [21, 81, 94], "_metadatadir": 21, "vapigen_metadatadir": 21, "_vapidir": 21, "_girdir": 21, "vapigen_girdir": 21, "girdir": [21, 158], "note": [21, 25, 28, 30, 40, 41, 43, 48, 50, 61, 62, 74, 94, 102, 107, 112, 114, 115, 122, 138, 152, 157], "_file": 21, "earil": 21, "vapigen_vapi": 21, "foo_1_0_vapi_dep": 21, "foo_1_0_vapi_metadatadir": 21, "srcdir": [21, 158], "foo_1_0_vapi_fil": 21, "datadir": [21, 158], "vapi_data": [21, 158], "extra_dist": [21, 158], "surprisingli": 21, "familiar": [21, 110, 121, 122, 126, 134, 136], "bodi": [21, 62, 115, 121, 125], "enclos": [21, 112], "uniqu": [21, 38, 134], "nest": [21, 115], "desir": [21, 42, 112, 125, 126], "figur": 21, "faq": [21, 95, 115], "question": [21, 48, 50, 73, 74, 94, 131, 151], "idea": [21, 22, 90, 98, 109], "practic": [22, 83, 106, 122, 123, 125, 145], "precis": [22, 123], "liber": 22, "bunch": 22, "procedur": [22, 125], "multitud": 22, "mood": 22, "restrict": [22, 94, 118, 125, 130, 138], "cover": [22, 26, 34, 35, 43], "job": [22, 34, 50], "friendli": [22, 54], "materi": 22, "straight": [22, 41, 114], "creation": [22, 97, 138], "destruct": [22, 38, 75, 117, 156], "bound": [22, 39, 40, 41, 43, 44, 58, 59, 62, 65, 68, 69, 72, 74, 79, 80, 112, 156], "myboundcompactclass": 22, "becom": [22, 112, 122, 140, 142], "overview": [22, 108, 112], "solv": 22, "tricki": [22, 94], "style": [22, 27, 32, 74, 90, 98, 101, 115, 117, 118, 119, 122, 125, 126, 128, 143, 156], "prerequisit": [22, 117], "fundament": [22, 136, 145], "extra": [22, 25, 32, 74, 94, 106, 113, 115, 125, 126, 134, 152, 155, 161], "hint": [22, 66], "collect": [23, 28, 34, 59, 61, 69, 102, 112, 113, 114, 120, 125, 132, 140, 142], "llvm": 23, "vim": [23, 98, 100], "wish": [23, 118, 125, 134], "vimrc": 23, "noremap": 23, "f8": 23, "gyiwo": 23, "esc": 23, "gpa": 23, "insert": [23, 98, 136], "press": [23, 92, 106], "cursor": 23, "libfoo": [25, 28, 29], "linker": [25, 154], "typic": [25, 28, 46, 67, 94, 154], "command": [25, 85, 86, 94, 96, 98, 106, 107, 109, 146, 152, 153, 158, 164], "against": [25, 154, 158], "program_using_libfoo": 25, "dot": [25, 90, 150], "extract": [25, 98, 134, 155, 162], "state": [25, 46, 61, 62, 87, 118, 121, 125, 138, 154], "subset": [25, 147], "consid": [25, 34, 48, 61, 94, 110, 125, 126, 134, 135, 143, 151], "notic": [26, 109, 115, 138, 160], "deal": [26, 55, 67, 81, 134, 144], "formal": 26, "along": [26, 69, 96, 98, 109], "contact": [26, 124], "breach": 26, "softwar": [26, 94], "term": [26, 106, 115], "met": 26, "multi": [26, 62, 74, 112, 132], "2016": 26, "my": [26, 122, 154, 157], "my_email": 26, "my_address": 26, "whichev": 26, "asterisk": [26, 32, 35], "fine": [27, 94, 142], "posit": [27, 46, 47, 55, 66, 68, 69, 74, 112, 113], "overcom": 27, "edg": 27, "throughout": 27, "foolib": 28, "library_funct": 28, "bring": 28, "x_y_foo": 28, "murkier": 28, "rule": [28, 30, 36, 48, 106, 112, 113, 123, 165], "thumb": 28, "clearli": 28, "foooption": 28, "db": [28, 58], "transact": [28, 30, 58], "row": [28, 112], "db_": 28, "foo_handl": 28, "foo_tx": 28, "foo_row": 28, "chanc": [28, 138], "logic": [28, 41, 51, 109, 113, 126, 142], "larg": [28, 34, 96, 153, 165], "comma": [29, 31], "outer": [29, 115], "prevent": [29, 43, 50, 51, 55, 59, 124, 126], "inner": 29, "blob": 29, "customis": [30, 130, 136], "lower_case_cprefix": 30, "cprefix": [30, 41], "illustr": [30, 43], "name_conversion_exampl": 30, "examin": 30, "b": [30, 41, 43, 46, 48, 50, 69, 112, 113, 114, 115, 128, 129, 131, 135, 137, 149], "unchang": 30, "42": [30, 112, 143, 144], "tabl": [30, 53, 57, 137], "summar": 30, "foobar": [30, 165], "foo_bar_new": 30, "foo_bar_test": 30, "foo_bar_unchang": 30, "titlecas": 30, "upper_snake_cas": 30, "lower_snake_cas": 30, "title_case_": 30, "uppercas": 30, "letter": [30, 110, 150], "k": [30, 47, 74, 132], "v": [30, 98, 112, 132], "expand": 30, "cryptic": 30, "tx": [30, 58], "willing": 30, "trade": [30, 94], "off": [30, 94], "favor": 30, "readabl": [30, 94, 122], "over": [30, 66, 69, 94, 123, 140, 142, 144], "concis": 30, "particular": [30, 41, 50, 69, 77, 94, 106, 107, 114, 130, 136, 155], "save": [30, 154, 164], "prioriti": [30, 75], "indent": [31, 98, 112], "afterward": [31, 115, 131], "side": [31, 43, 52, 61, 102, 112, 115, 131, 135, 142, 146], "websit": [32, 90, 95], "seek": 32, "submit": 32, "pull": 32, "libcolumbu": 32, "frequent": [32, 49, 67, 69, 78], "re": [32, 89, 94, 122, 135, 140, 151], "associ": [32, 48, 68, 69, 74, 113], "multilin": 32, "brief": [32, 88, 110], "ref_funct": [32, 38, 44], "foo_retain": [32, 44], "unref_funct": [32, 38, 44], "foo_releas": [32, 44], "markup": [32, 85, 90], "second": [32, 41, 44, 49, 90, 113, 115, 118, 121, 125, 126, 134, 135, 138, 140, 144], "my_binding_directori": 32, "mybind": 32, "visual": [32, 98, 100, 102], "annot": [33, 65, 121, 122, 146, 155, 157], "experiment": [33, 106, 149, 150, 151, 157], "indic": [33, 35, 112, 137], "test_function_1": 33, "test_function_2": 33, "deprecated_sinc": 33, "test_function_3": 33, "test_function_5": 33, "test_function_4": 33, "claim": 34, "accur": 34, "involv": [34, 66, 94, 138], "ether": 34, "garbag": [34, 120], "live": [34, 134, 140], "somewher": [34, 115, 140], "importantli": [34, 106, 130], "impli": [34, 106], "scheme": [34, 36, 38, 69, 119, 131], "helper": [34, 36, 68], "cost": 34, "cheap": [34, 61], "expens": 34, "singli": [34, 38, 39, 68], "heap": [34, 35, 48, 115], "count": [34, 38, 39, 62, 94, 112, 120, 141, 142, 144], "concept": [34, 106, 107, 109, 126, 142], "ownership": [34, 47, 48, 61, 67, 69, 75, 78, 132], "handler": [34, 121, 134], "indirect": [35, 144], "oper": [35, 48, 62, 86, 87, 94, 96, 108, 110, 112, 115, 123, 124, 128, 134, 137, 140, 142, 144, 147], "awar": [35, 86, 118, 143, 145], "held": [35, 76, 85], "char": [35, 39, 44, 48, 112], "ampersand": 35, "comprehens": [35, 146], "explan": [35, 52, 111, 156], "mechan": [36, 112, 121, 125], "stop": [36, 62, 134, 139, 140], "dure": [36, 40], "understood": [36, 98], "dealloc": [36, 43], "analys": [36, 98], "uint8": [36, 67, 81, 112], "8": [36, 42, 52, 67, 91, 94, 112, 136], "byte": [36, 94, 112], "doubl": [36, 40, 46, 49, 50, 52, 64, 66, 72, 73, 76, 83, 112, 115, 119, 133, 143], "float": [36, 52, 66, 112], "exact": [36, 134, 140], "exclus": [36, 113, 118], "reserv": [36, 110, 134], "area": [36, 125], "128": 36, "coder": 36, "malloc": 36, "referencehandl": 37, "infom": 37, "authorit": 38, "destroi": [38, 43, 47, 68, 75, 144], "thu": [38, 68, 94, 126], "increas": [38, 122, 141, 142], "concern": 38, "subscrib": 38, "subtl": [38, 44], "has_target": [38, 46, 68, 83], "free_funct": [38, 44, 58], "destroy_funct": [38, 43, 79], "content": [38, 43, 71, 86, 94, 109, 112, 138, 140, 156, 165], "element": [38, 62, 66, 108, 112, 131, 136, 137, 141, 158], "integ": [38, 42, 110, 112, 114, 115, 118, 121, 136], "charact": [39, 94, 110, 112, 150], "routin": [39, 95], "unclear": 39, "intent": [39, 94, 98, 135], "cleanup": 39, "pre": [40, 157], "direct": [40, 94, 115, 132, 140], "vari": [40, 74], "custom_pi": 40, "14159265358979323846": 40, "substitut": [40, 123], "occurr": 40, "given": [40, 43, 61, 98, 110, 112, 115, 123, 125, 126, 130, 131, 139, 140, 160], "explicit": [40, 44, 52, 66, 115, 130, 151], "opt": [41, 46, 53], "typedef": [41, 42, 43, 44, 46, 57, 58, 61, 65, 68, 69, 75, 76, 77, 112], "foo_a": 41, "foo_b": 41, "foo_c": 41, "foo_": 41, "has_type_id": [41, 42, 43, 44, 65], "prepend": [41, 94], "bar_x": 41, "bar_i": 41, "bar_z": 41, "bar_": 41, "though": [41, 43, 46, 74, 110, 121, 126, 130, 141, 153], "unsign": [41, 66, 112], "tendenc": 41, "foo_read": 41, "foo_writ": 41, "foo_creat": 41, "strerr": 41, "superset": 41, "foo_d": 41, "do_someth": 41, "do_something_els": 41, "fooextend": 41, "d": [41, 76, 112, 114, 115, 116, 118, 121, 125, 131, 132, 133, 137, 143, 149, 154, 164], "numer": [42, 74, 112, 136, 157], "offset": 42, "uint32_t": [42, 64], "people_insid": 42, "peopleinsid": 42, "uint32": [42, 112, 122], "forward": [42, 121], "unix": [42, 138], "descriptor": 42, "multipli": [42, 68], "rank": 42, "cast": [42, 77, 108, 117, 125, 127, 130, 140, 151, 160], "initialis": [42, 48, 115, 118, 131, 135], "xcb": 42, "xcb_atom_t": 42, "posix": [42, 45, 147, 165], "gint8": 42, "gfloat": 42, "gdoubl": 42, "guchar": 42, "guint8": 42, "cc_t": 42, "gshort": 42, "gint16": 42, "5": [42, 52, 94, 112, 115, 118, 119, 121, 137, 149, 154, 157], "gushort": 42, "guint16": 42, "6": [42, 112], "gint32": 42, "posixpid_t": 42, "7": [42, 94, 112, 115, 119, 164], "guint": 42, "guint32": 42, "gunichar": 42, "speed_t": 42, "tcflag_t": 42, "glong": 42, "gssize": 42, "time_t": 42, "clock_t": 42, "9": [42, 52, 112, 115, 150, 154], "gulong": 42, "gsize": 42, "nfds_t": 42, "key_t": 42, "fsblkcnt_t": 42, "fsfilcnt_t": 42, "off_t": 42, "uid_t": 42, "gid_t": 42, "mode_t": 42, "dev_t": 42, "ino_t": 42, "nlink_t": 42, "blksize_t": 42, "blkcnt_t": 42, "gint64": 42, "11": [42, 97, 112], "guint64": 42, "equival": [43, 106, 109, 112, 113, 118, 129, 139, 143, 144], "primit": 43, "foo_t": [43, 73, 76], "foo_init": 43, "foo_fre": [43, 44], "great": [43, 150], "trap": 43, "opaqu": [43, 61, 71], "necessarili": [43, 106, 109, 115, 144], "bar_t": 43, "bar_initi": 43, "default_valu": 43, "gtype": [44, 147, 156], "foo_mak": 44, "foo_dup": 44, "bar_open": 44, "dispos": 44, "finish": [44, 68, 138, 140], "bar_clos": 44, "bake": 44, "star": 44, "fail": [44, 51, 98, 133, 134], "permit": [44, 46, 83], "dup": 44, "foo_new": 44, "unref": 44, "courtesi": 44, "previou": [45, 134], "sync": 45, "append": [45, 48, 50, 55, 94, 112], "posix_sync": 45, "major": [46, 65, 138], "caller": [46, 48, 52, 67, 107, 124, 125, 126, 135, 140, 142], "encapsul": [46, 138], "emul": 46, "behaviour": [46, 50, 52, 65, 112, 115, 126, 127, 135, 136, 138, 151], "portion": 46, "targetless": [46, 75], "occasion": [46, 69, 74], "compute_func": 46, "analyze_func": 46, "userdata": [46, 75], "computefunc": [46, 50], "analyzefunc": 46, "delegate_target_po": [46, 52, 68], "patch": 46, "compris": 47, "adapt": 47, "heavi": [48, 94], "altern": [48, 69, 94, 97, 106, 121, 122, 131, 137, 140, 143, 147, 156, 157], "uniform": 48, "natur": [48, 126, 149], "supplementari": 48, "quietli": 48, "manipul": 48, "div_and_mod": 48, "mod": 48, "open_file_and_fd": 48, "fopen": 48, "r": [48, 112, 150, 157], "fileno": 48, "filestream": 48, "do_approxim": 48, "input_arrai": 48, "input_length": 48, "output_arrai": 48, "output_length": 48, "think": [48, 49, 52, 57, 122, 142], "indistinguish": 48, "regular": [48, 148], "moreov": 48, "hidden": 48, "get_foo": [48, 68], "get_foo2": 48, "ret": [48, 80], "box": 48, "make_foo": [48, 68], "particularli": [49, 94, 106], "fill": [49, 67, 88, 112], "crucial": 49, "acquir": [49, 146], "twice": [49, 126, 142], "leak": [49, 73, 94], "bad": [49, 77, 94], "spent": 49, "valgrind": 49, "absolut": 49, "lousi": 50, "convei": 50, "underneath": [50, 56], "lift": 50, "bool": [50, 58, 62, 76, 80, 89, 112, 113, 124, 125, 128, 133, 137], "gboolean": 50, "get_compute_func": 50, "epsilon": 50, "func": 50, "14158": 50, "72": 50, "perfectli": [50, 94, 142], "okai": 50, "accord": [50, 113, 138], "fact": [51, 107, 109, 115, 118, 125, 126, 130, 134, 138, 139, 142], "care": [51, 94, 107, 121, 144], "taken": [51, 107, 126, 158], "organis": 51, "belong": [51, 118, 121, 123], "calle": [52, 135], "via": [52, 87, 116, 119, 136, 137, 146], "instance_po": 52, "array_length_po": [52, 66, 81], "reorder": 52, "po": 52, "littl": [52, 111, 115], "bear": 52, "foo_comput": [52, 53], "foo_transform": 52, "t_userdata": 52, "array_len": 52, "verbatim": [52, 112], "perspect": 52, "less": [52, 69, 94, 114, 115, 134], "similarli": [52, 109, 142, 165], "greater": [52, 114, 134, 144], "respect": [52, 59, 112, 133, 150], "suit": [52, 98], "total": [52, 150], "clean": [52, 96], "mind": 52, "base_height": 53, "foo_compute_ex": 53, "benefici": [53, 69], "unsur": 53, "treacher": 55, "potenti": [55, 66, 136, 138, 151], "safeti": [55, 112], "sentinel": [55, 143], "overrun": 55, "scanf": 55, "printffunct": 55, "scanffunct": 55, "token": 55, "badli": 55, "erron": 55, "ever": [56, 94], "rare": [56, 62, 65, 68, 94], "abort": 56, "realloc": [57, 112], "table_grow": 57, "size_t": [57, 64, 66, 74, 81], "object_count": 57, "destroysinst": 58, "useabl": 58, "begin_tx": 58, "databas": [58, 120, 122], "transaction_abort": 58, "transaction_commit": 58, "transaction_try_commit": 58, "try_commit": 58, "visibl": [59, 118, 135], "captur": [59, 94], "to_str": [59, 112, 137], "sugar": [61, 62], "queri": [61, 122], "val": [61, 143], "obviou": [61, 106, 145], "foo_item_count": 61, "foo_max_item": 61, "foo_set_max_item": 61, "item_count": 61, "max_item": 61, "squar": [62, 74, 112], "bracket": [62, 74, 112], "blkid_partit": 62, "blkid_partlist_get_partit": 62, "blkid_partlist": 62, "listofpartit": 62, "partit": 62, "dimension": [62, 74, 112], "With": [62, 94, 107, 122, 123, 128, 131, 132, 133, 157], "partitionlist": 62, "blkid_partlist_numof_partit": 62, "invok": [62, 138], "661876": 62, "iter": [62, 66, 114, 136, 137], "next_valu": [62, 137], "prototyp": 62, "retriev": [62, 130, 136, 137, 143], "judgement": 62, "decid": [62, 114, 121, 138], "unknown": [63, 113, 114], "u_int32_t": 64, "harmonis": 64, "compute_foo": 65, "array_length": [66, 69, 79], "array_length_typ": [66, 74], "array_null_termin": [66, 74], "pad": 66, "array_length_cexpr": [66, 74], "trivial": [66, 68], "treat": [67, 68, 74, 75, 130, 135, 145, 153], "finess": 67, "utf": [67, 94, 112], "anyth": [67, 110, 115, 125, 131], "realpath": 67, "thoroughli": 67, "adjust": 68, "reassign": [68, 135], "retain": 68, "delegate_target_destroy_notify_po": 68, "notifi": [68, 122], "foo_func": [68, 69, 75], "call_foo": 68, "call_foo_lat": 68, "free_context": 68, "foofunc": [68, 69, 75], "strang": 69, "simple_gener": [69, 83], "sort": [69, 106, 107, 112, 130, 138], "va_arg": 69, "generic_type_po": 69, "rigid": 69, "decor": 69, "verifi": 69, "insist": 69, "left": [69, 113, 115, 144], "foo_get_userptr": 69, "foo_set_userptr": 69, "user_data": 69, "caveat": 69, "infecti": 69, "set_user_ptr": 69, "get_user_ptr": 69, "safe": [69, 94, 135, 143], "far": [70, 106], "down": [70, 106, 131], "badg": 70, "shame": 70, "getter": [71, 122, 142], "setter": [71, 122], "consumpt": 71, "consult": 71, "union": 71, "myfoo": [73, 112], "overwritten": [73, 87], "answer": [73, 78, 125], "varieti": [74, 94, 96, 106, 134], "20": [74, 115, 137], "foo_count": 74, "array_length_cnam": 74, "elsewher": [74, 139, 140], "rag": 74, "nigh": 74, "consider": 75, "callback_context": 75, "delegate_target_cnam": 75, "notif": [75, 122], "callback_fre": 75, "delegate_target_destroy_notify_cnam": 75, "exactli": [75, 114, 125, 126, 138, 152], "start_job": 75, "threadpool_queue_job": 75, "pool": 75, "j": [75, 102, 112, 144, 157], "startjob": 75, "threadpool": 75, "queue_job": 75, "which_on": 76, "data_d": 76, "data_i": 76, "legal": 77, "deserv": 78, "get_arrai": 79, "out_array_p": 79, "array_with_length": 79, "get_data": 79, "_get_arrai": 79, "vala_get_arrai": 79, "temp": [79, 164], "len": 79, "array_length_nam": 79, "_get_data": 79, "vala_get_data": 79, "somefunc": 80, "free_when_don": 80, "_somefunc": 80, "_sink_foo": 80, "vala_somefunc": 80, "vala_somefunc_own": 80, "somefunc_own": 80, "freed": [80, 134, 141], "_awkward": 80, "vala_awkward": 80, "ish": 81, "nmemb": 81, "571486": 82, "meant": [83, 112, 137], "bundl": [86, 87, 102], "simon": 86, "sai": [86, 94, 121, 125, 160], "phrase": 86, "enter": [86, 96], "print": [86, 96, 112, 114, 125, 150], "simon_sai": 86, "learn": [86, 92, 95, 102, 112, 115], "Will": [86, 114, 125], "br": [86, 90], "o": [86, 87, 95, 98, 102, 103, 104, 109, 110, 135, 142, 144, 150, 154, 156, 158, 160, 165], "remov": [86, 142, 147], "overwrit": 86, "web": [86, 102], "browser": 86, "wrote": 86, "usag": [87, 91, 94, 107, 112, 144, 145, 156], "ofth": 87, "doument": 87, "addd": 87, "pakag": 87, "speifi": 87, "inlud": 87, "th": 87, "vesrion": 87, "taglet": 88, "extact": 88, "chapter": [88, 119], "thoughout": 89, "short": [89, 90, 112, 121, 122, 139], "summari": [89, 131], "always_tru": 89, "inspir": 90, "wikitext": 90, "realiti": 90, "bold": 90, "ital": 90, "__underlined__": 90, "quot": [90, 112], "__bold": 90, "underlined__": 90, "underlin": 90, "alphabet": 90, "asset": 90, "logo": 90, "png": 90, "alt": 90, "messag": [90, 94, 98, 112, 121, 125, 133, 134, 146], "headlin": 90, "cell": 90, "inheritdoc": 91, "diectli": 91, "fulli": [91, 98, 100, 107, 115, 148, 153], "is_edit": 91, "becam": 91, "eror": 91, "thrown": [91, 134], "edit": [92, 106], "libvaladoc": 92, "appreci": 92, "fom": 92, "qt": 94, "meta": 94, "slot": 94, "wherev": [94, 123], "barrier": 94, "contrast": [94, 115, 130, 142], "gobjectintrospect": [94, 154, 158, 162], "load": [94, 140, 165], "optim": 94, "plain": 94, "tune": 94, "almost": 94, "mandatori": 94, "basicsampl": 94, "achiev": [94, 115, 142], "baer": 94, "solut": [94, 107], "encod": [94, 112], "resiz": [94, 112, 136], "implicitli": [94, 107, 133, 143], "stringbuild": 94, "gstring": 94, "str_ptr": 94, "64": 94, "str": 94, "wi": 94, "klass": 94, "btn1": 94, "awidget": 94, "preprocess": 94, "elif": 94, "cond": 94, "NOT": [94, 122], "shallow": 94, "clear": 94, "propert": 94, "emphas": 94, "fx": 94, "g_type_str": 94, "due": [94, 115, 125], "coher": 94, "dummi": 94, "statico": 94, "test_valu": 94, "costruct": 94, "prop1": 94, "value1": [94, 116], "mywindow": 94, "inputsampl": 94, "windowtyp": [94, 112], "toplevel": [94, 112], "yourstr": 94, "incorrect": 94, "yourstruct": 94, "value2": [94, 116], "field1": 94, "field2": 94, "mainli": [94, 165], "the_method": 94, "some_inst": 94, "some_method": [94, 146], "some_var": 94, "arbitrari": [94, 112, 115, 121, 131, 136, 143], "strip": 94, "todo": 94, "suggest": [94, 106, 126, 138], "slower": 94, "represent": [94, 122], "neither": [94, 115, 131], "nor": [94, 115, 131, 142], "human": [94, 122], "serv": 94, "wild": 94, "whatels": 94, "weight": [94, 145], "light": [94, 110], "mb": 94, "gkt": 94, "inher": 94, "disadvantag": 94, "embed": [94, 112], "codebas": 94, "wide": [94, 142], "perhap": 94, "signific": 94, "upgrad": 94, "backward": 94, "incompat": 94, "Such": [94, 118], "younger": 94, "dai": 94, "exceedingli": 94, "biggest": 94, "promin": [94, 116], "until": [94, 111, 114, 134, 137, 138, 140, 165], "cours": [94, 107, 139, 147], "feasibl": 94, "popular": 94, "usabl": [94, 115], "submodul": 94, "subtre": 94, "stabl": 94, "linux": [94, 100, 156], "impos": [95, 112], "elementari": [95, 98, 102, 103, 104], "devel": 96, "sudo": 96, "dnf": 96, "apt": 96, "pacman": 96, "usr": 96, "And": [96, 125, 152], "mingw": 96, "w64": 96, "x86_64": 96, "brew": 96, "everyt": 96, "xx": 96, "recognis": [96, 107, 111, 118, 121, 126], "struggl": 96, "commun": 96, "meson": [97, 98, 100, 158], "front": [97, 164], "ninja": 97, "autovala": 97, "autom": [97, 153, 160], "cmake": 97, "articl": 97, "parallel": 97, "valder": 97, "waf": [97, 158], "xmake": 97, "highlight": [98, 102], "jump": [98, 107, 114], "refactor": 98, "anjuta": 98, "emac": 98, "geani": 98, "gedit": [98, 102], "helix": 98, "intellij": [98, 102], "medit": 98, "sublim": [98, 102], "textmat": [98, 102], "zed": 98, "color": [98, 115, 122], "diagnost": [98, 100], "trigger": 98, "ctrl": 98, "red": [98, 115], "green": [98, 115], "cycl": [98, 141], "driven": 98, "compon": [98, 134], "debugg": [98, 146, 164], "clearer": 98, "editor": [99, 100, 102], "server": [99, 140, 146], "protocol": [99, 137], "microsoft": 100, "studio": [100, 102], "client": [100, 102, 146], "lsp": 100, "vscode": 100, "compile_command": 100, "json": 100, "robust": 100, "workspac": 100, "ubuntu": 100, "fedora": 100, "arch": 100, "alpin": 100, "gvl": 100, "symbo": 100, "internet": 100, "connect": [100, 120, 121, 122, 146], "fast": [100, 136, 144], "gcovr": 101, "coverag": 101, "codecov": 101, "uncrustifi": 101, "beautifi": 101, "lint": 101, "gtksourceview": 102, "gtktextview": [102, 157], "maco": 102, "jetbrain": 102, "atom": 102, "linuguist": 102, "grammar": 102, "selector": 102, "lesson": 102, "moinmoin": 102, "pygment": 102, "sitter": 102, "prince781": 102, "documen": [103, 104], "app": [103, 104], "gui": [104, 139, 140], "ongo": 106, "disclaim": 106, "promis": 106, "unwant": [106, 151], "attend": 106, "mono": [106, 112], "beyond": 106, "consequ": [106, 130], "broadli": [106, 112], "perform": [106, 112, 113, 115, 131, 151, 157], "whilst": [106, 124], "faster": 106, "gain": 106, "power": [106, 109, 112, 115, 126, 150], "compli": 106, "briefli": [106, 130], "principl": [106, 122], "experi": 106, "knowledg": [106, 126], "aim": [106, 126, 158], "se": 106, "realis": 106, "certainli": [106, 118], "monospac": 106, "prefac": 106, "prompt": 106, "advanc": [106, 115], "sadli": 107, "predict": 107, "demo": [107, 120, 146, 164], "helloworld": 107, "hello": [107, 109, 112, 113, 115, 146, 154, 160], "thorough": 107, "descend": [107, 112, 118, 121, 145], "possess": [107, 118], "matter": [107, 112, 123, 134], "whenev": [107, 112, 121, 138, 142], "escap": [107, 112, 150], "sequenc": [107, 112], "anonym": 108, "enforc": [109, 125], "upshot": 109, "source1": 109, "source2": 109, "myprogram": 109, "succinct": 109, "regist": [109, 118, 128, 131, 140, 146], "amalgam": [110, 155], "heavili": 110, "kept": 110, "delimit": [110, 111], "strict": [110, 148], "digit": 110, "unambigu": [110, 112], "speak": 112, "all_upper_cas": 112, "uchar": 112, "histor": 112, "unichar": 112, "32": [112, 122, 143], "unicod": 112, "uint": 112, "ulong": 112, "ushort": 112, "guarante": [112, 131, 138], "int8": 112, "int16": 112, "int32": 112, "int64": 112, "sibl": 112, "uint16": 112, "uint64": 112, "compound": [112, 115], "percentil": 112, "75f": 112, "mu_bohr": 112, "927": 112, "400915e": 112, "26": [112, 125], "the_box_has_crash": 112, "vector": 112, "popup": 112, "occupi": 112, "nbyte": 112, "minimum": [112, 147], "maximum": 112, "min": 112, "max": 112, "quotat": 112, "mask": 112, "tripl": 112, "span": 112, "evalu": [112, 113, 114], "contrari": [112, 156], "referenti": 112, "slice": [112, 137], "neg": [112, 134], "rel": [112, 157], "greet": 112, "s1": 112, "12": 112, "s2": 112, "0x77": 112, "52": 112, "67428e": 112, "21": 112, "consol": 112, "explor": 112, "stdin": 112, "read_lin": 112, "1415": 112, "stderr": [112, 146], "er": 112, "abl": [112, 118, 123, 125, 138], "saw": 112, "elba": 112, "demonstr": [112, 123, 130, 164], "contigu": 112, "jag": 112, "dimens": 112, "arr": 112, "multidimension": 112, "effici": 112, "37": 112, "src": 112, "dest": [112, 146], "sophist": 112, "arraylist": [112, 132], "regardless": [112, 115, 126, 130, 134, 142], "aliv": [112, 141], "anywher": [112, 136], "mass": 112, "wherebi": 112, "reduc": 112, "unnecessari": 112, "redund": 112, "sacrif": 112, "mybar": 112, "alia": [112, 147, 160], "valuelist": 112, "get_typ": [112, 128], "operand": 113, "arithmet": 113, "concaten": 113, "increment": [113, 114], "decrement": [113, 114], "postfix": [113, 115, 129], "former": 113, "calcul": [113, 122, 140], "latter": [113, 123], "bitwis": 113, "analog": [113, 119], "unari": 113, "shift": 113, "inequ": 113, "manner": 113, "lexicograph": 113, "ternari": 113, "coalesc": 113, "substr": 113, "overload": [113, 115, 119], "int_arrai": 114, "immedi": [114, 122, 131, 138, 140, 150], "piec": [114, 121, 134], "zero": [114, 118, 123, 135], "fall": 114, "stick": 115, "method_nam": [115, 126, 133], "arg1": 115, "arg2": 115, "approxim": [115, 121], "all_lower_cas": 115, "unfamiliar": 115, "accustom": 115, "mixedcamelcas": 115, "consist": [115, 136, 157], "draw": 115, "shape": [115, 122], "draw_text": 115, "draw_shap": 115, "clash": [115, 122], "chain": [115, 119, 123, 148], "hi": [115, 156], "vararg": [115, 143], "assert": [115, 132, 134], "precondit": [115, 133, 134], "dereferenc": [115, 151, 164], "f1": 115, "f2": 115, "d1": 115, "stand": 115, "printintfunc": 115, "p1": [115, 119], "curli": 115, "p2": [115, 119], "my_sorting_algorithm": 115, "intoper": 115, "curried_add": 115, "curri": 115, "sum": [115, 154], "namespacenam": 115, "outsid": [115, 118, 125, 138, 145], "imagin": [115, 134, 160], "invis": 115, "land": 115, "namespace1": 115, "namespace2": 115, "structnam": 115, "blue": 115, "c1": 115, "c2": 115, "c3": 115, "c4": 115, "c5": 115, "classnam": 115, "superclassnam": 115, "interfacenam": 115, "superinterfacenam": 115, "mixin": [115, 117], "Their": 116, "attributenam": 116, "param1": 116, "param2": 116, "mostli": [116, 125], "export": [116, 146], "remot": [116, 140], "bu": [116, 132], "polymorph": [117, 127], "hide": [117, 122, 124], "super": 118, "testclass": [118, 130], "first_data": 118, "second_data": 118, "method_1": [118, 125, 126, 135, 144], "implic": 118, "focu": 119, "with_label": 119, "label": 119, "from_stock": 119, "stock_id": 119, "click": 119, "me": [119, 157], "stock_ok": 119, "name_extens": 119, "rectangular": 119, "polar": 119, "radiu": 119, "angl": [119, 143], "math": 119, "co": 119, "sin": 119, "resourc": [120, 132, 134], "trace": 120, "determinist": 120, "raii": 120, "stream": 120, "listen": 121, "ident": [121, 142, 165], "dive": 121, "sig_1": 121, "t1": [121, 137], "ters": 121, "impati": 121, "nb": 121, "no_recurs": 121, "no_hook": 121, "accessor": [122, 125], "ag": [122, 131], "get_ag": 122, "set_ag": 122, "cumbersom": 122, "year": [122, 131], "alic": 122, "plai": [122, 142], "_age": 122, "behind": 122, "scene": 122, "shorter": 122, "current_year": 122, "2525": 122, "year_of_birth": 122, "2493": 122, "fly": 122, "birth": 122, "Or": 122, "leav": [122, 125], "glade": 122, "obj": [122, 137, 140], "paramspec": 122, "dash": 122, "my_property_nam": 122, "disabl": [122, 147, 160], "tag": 122, "myobject": 122, "without_notif": 122, "with_notif": 122, "argb": 122, "0x12345678": 122, "exercis": 123, "rang": 123, "protected_method": 123, "public_static_method": 123, "eat": 124, "chomp": 124, "say_hello": 124, "tiger": 124, "roar": 124, "duck": 124, "quack": 124, "behavior": [124, 144], "new_nam": 124, "reset": 124, "contactcv": 124, "cotactcv": 124, "john": 124, "strauss": 124, "cv": 124, "xochitl": 124, "calva": 124, "overridden": [124, 126, 156], "itest": 125, "data_1": [125, 144], "simplest": 125, "test1": 125, "roughli": [125, 153], "listclass": 125, "distinct": [125, 126, 136], "callabl": 125, "monitor": 125, "mautter": 125, "phone": 125, "techphon": 125, "hid": 125, "completelli": 125, "permiss": 125, "unabl": 125, "default_hang": 125, "tech": 125, "cl": 125, "sreturn": 125, "subtyp": [126, 131], "o1": [126, 151], "o2": [126, 151], "fourth": 126, "rewritten": 126, "told": 126, "opposit": 126, "appar": 126, "complic": [126, 142, 155, 156, 160], "extra_task": 126, "prop_1": 126, "exhibit": 127, "my_method": [127, 134], "sometypenam": 128, "desiredtypenam": 129, "illeg": 129, "refin": [130, 134], "minim": [130, 147], "w": [130, 134, 160], "erasur": 130, "massiv": 130, "expans": 130, "accept_object_wrapp": 130, "test_wrapp": 130, "happili": 130, "closer": 131, "with_ag": 131, "welcom": 131, "hierarchi": 131, "nomenclatur": 131, "talk": 131, "snippet": 131, "class_init": 131, "contract": [132, 134], "hashmap": 132, "hashset": 132, "thread": [132, 140], "asynchron": [132, 138], "assert_not_reach": 133, "return_if_fail": 133, "expr": 133, "return_if_reach": 133, "warn_if_fail": 133, "warn_if_reach": 133, "tempt": 133, "postcondit": 133, "fulfil": 133, "gerror": 134, "recover": 134, "factor": 134, "foreseen": 134, "rais": 134, "ioerror": [134, 140, 146], "something_went_wrong": 134, "file_not_found": 134, "iochannel": 134, "channel": 134, "tmp": [134, 138], "my_lock": 134, "fileerror": 134, "fairli": 134, "domain": 134, "equat": 134, "encount": 134, "errortype1": 134, "code_1a": 134, "errortype2": 134, "code_2a": 134, "code_2b": 134, "thrower": 134, "catcher": 134, "tidi": 134, "uninitialis": 135, "method_2": 135, "q": 135, "treatment": 135, "foundat": 136, "unord": 136, "interchang": 136, "categori": 136, "slow": [136, 140], "hash": 136, "foo_hash": 136, "foo_equ": 136, "read_only_view": 136, "my_map": 136, "tn": 137, "placehold": 137, "t2": 137, "t3": 137, "index1": 137, "index2": 137, "needl": 137, "evennumb": 137, "core": 138, "thread_func": 138, "child_thread": 138, "main_thread": 138, "did": 138, "problemat": 138, "currnt": 138, "new_thread": 138, "primari": [138, 160], "cooper": 138, "powerfulli": 138, "queue": [138, 140], "introduct": 138, "kill": 138, "wait": [138, 139, 140], "join": 138, "therebi": 138, "paus": [138, 140], "instant": 138, "runnabl": 138, "restart": 138, "simultan": 138, "race": 138, "outcom": 138, "interrupt": 138, "action_1": 138, "action_2": 138, "interweav": 138, "random": 138, "turn": 138, "respons": [138, 144], "inde": 138, "mainloop": [139, 146], "respond": 139, "constantli": 139, "timer": 139, "2000m": 139, "timeoutsourc": 139, "2000": 139, "set_callback": 139, "get_context": 139, "readi": [139, 140], "init": 139, "main_quit": 139, "soon": 139, "disturb": 139, "idlesourc": 139, "send": [139, 146], "dealt": 139, "whose": 140, "resum": 140, "freez": 140, "cpu": 140, "disk": 140, "idl": 140, "interleav": 140, "spread": 140, "display_jpeg": 140, "fnam": 140, "jpeg": 140, "fetch_webpag": 140, "url": 140, "fetch": 140, "webpag": 140, "jpg": 140, "asyncreadycallback": 140, "gayncresult": 140, "arriv": 140, "reach": [140, 141], "sourcefunc": 140, "schedul": 140, "goe": 141, "decreas": 141, "vice": 141, "versa": 141, "doubli": 141, "predecessor": 141, "successor": 141, "prev": 141, "topic": [141, 165], "record": 142, "basi": 142, "convers": 142, "get_unowned_ref": 142, "seemingli": 142, "somewhat": 142, "irrit": 142, "steal": 142, "reproduc": 142, "getter_method": 142, "alarm": 142, "strong": 142, "storag": 142, "_properti": 142, "get_xxx": 142, "anywai": 142, "role": 142, "ellipsi": 143, "method_with_vararg": 143, "va_list": 143, "meet": 143, "sequent": 143, "evid": 143, "25": 143, "baz": 143, "seriou": 143, "drawback": 143, "animationmod": 143, "ease_out_bounc": 143, "3000": 143, "100": 143, "200": 143, "rotation_angle_z": 143, "500": 143, "opac": 143, "rotat": 143, "ineffici": 144, "resort": 144, "optimis": 144, "insuffici": 144, "i_ptr": 144, "f_ptr": 144, "f_weak": 144, "lighter": 145, "stai": 145, "lower": 145, "Be": 145, "tightli": 146, "session": [146, 164], "demoservic": 146, "counter": 146, "sig1": 146, "heureka": 146, "sender": 146, "some_method_send": 146, "busnam": 146, "on_bus_aquir": 146, "dbusconnect": 146, "conn": 146, "register_object": 146, "own_nam": 146, "bustyp": 146, "busnameownerflag": 146, "registr": 146, "succeed": 146, "mangl": [146, 155], "lower_case_with_underscor": 146, "somemethod": 146, "somemethodsend": 146, "spy": 146, "brows": 146, "libc": [147, 165], "libgobject": 147, "microcontrol": 147, "iso": 147, "somecod": 147, "255": 149, "regex": 150, "tux": 150, "kernel": 150, "z0": 150, "_": 150, "trail": 150, "insensit": 150, "cow": 150, "upper": 150, "newlin": 150, "metacharat": 150, "exclud": 150, "whitespac": 150, "forbidden": 151, "perl": 152, "incorpor": 153, "proce": 154, "favourit": 154, "cx": 154, "fpic": 154, "mylib": 154, "basedir": 154, "libtest": 154, "cflag": [154, 158], "ltest": 154, "ld_library_path": 154, "pwd": 154, "typelib": [154, 157, 158], "mylibrari": 154, "libgirepositori": [154, 157], "standardis": 155, "onto": 155, "amount": 155, "abit": 156, "complianc": 156, "checker": 156, "cross": 156, "checck": 156, "stabil": 156, "freebsd": 156, "mac": 156, "dumper": 156, "my_librari": 156, "dump": 156, "lver": 156, "onlin": 156, "myclass": 156, "my_class_new": 156, "harm": 156, "gpointer": 156, "get_a_list_of_str": 156, "diamond": 156, "forev": 156, "criteria": 156, "ii": 156, "bindabl": 156, "intropsect": 156, "minimalist": 156, "gboxedtyp": 156, "boiler": 157, "plate": 157, "libffi": 157, "januari": 157, "2017": 157, "advis": 157, "essenti": 157, "autogener": 157, "ordinari": 157, "pygobject": 157, "intens": 157, "lgi": 157, "luajit2": 157, "lgob": 157, "luigi": 157, "webkitgtk": 157, "luajit": 157, "instrospect": 157, "pango": 157, "cairo": 157, "vte": 157, "thought": 157, "blog": 157, "post": 157, "cpan": 157, "gvariant": 157, "pgi": 157, "docgen": 157, "toml": 157, "remain": 158, "legaci": 158, "gxml": 158, "gxmldom": 158, "libxml2": 158, "success": 158, "am_cppflag": 158, "dpackage_locale_dir": 158, "datadirnam": 158, "dpackage_src_dir": 158, "dpackage_data_dir": 158, "built_sourc": 158, "cleanfil": 158, "am_cflag": 158, "wall": 158, "glib_cflag": 158, "libxml_cflag": 158, "gio_cflag": 158, "gee_cflag": 158, "vala_cflag": 158, "lib_ltlibrari": 158, "libgxml": 158, "la": 158, "valaflag": 158, "top_srcdir": 158, "libxml": 158, "libgxml_la_valasourc": 158, "attr": 158, "backednod": 158, "cdatasect": 158, "characterdata": 158, "documentfrag": 158, "documenttyp": 158, "domerror": 158, "entityrefer": 158, "namespaceattr": 158, "nodelist": 158, "nodetyp": 158, "processinginstruct": 158, "xnode": 158, "libgxml_la_sourc": 158, "vala_compil": 158, "top_builddir": 158, "dom": 158, "touch": 158, "libgxml_la_ldflag": 158, "libgxml_la_libadd": 158, "glib_lib": 158, "libxml_lib": 158, "gio_lib": 158, "gee_lib": 158, "vala_lib": 158, "include_head": 158, "pkgconfigdir": 158, "libdir": 158, "pkgconfig": 158, "pkgconfig_data": 158, "gxmlincludedir": 158, "includedir": 158, "gxmlinclude_head": 158, "enable_gi_system_instal": 158, "introspection_girdir": 158, "typelibsdir": 158, "introspection_typelibdir": 158, "girepositori": 158, "scan": 158, "introspection_gir": 158, "introspection_compiler_arg": 158, "introspection_compil": 158, "gir_data": 158, "typelibs_data": 158, "vala_vapidir": 158, "man": 159, "everywher": 160, "bash": 160, "zsh": 160, "fish": 160, "appnam": 160, "file_name_1": 160, "file_name_2": 160, "metainform": 162, "nowadai": 162, "buggi": 164, "intention": 164, "temporari": 164, "gdbgui": 164, "nemiv": 164, "valacod": 164, "sigsegv": 164, "0x0804881f": 164, "_main": 164, "compliant": 165, "g_topic_foobar": 165, "get_basenam": 165, "hopefulli": 165, "suffic": 165, "flexibl": 165, "fileutil": 165, "get_cont": 165}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"about": [0, 21], "vala": [0, 4, 5, 6, 12, 14, 18, 20, 21, 34, 37, 39, 54, 59, 94, 95, 106, 138, 157, 162], "why": [0, 21, 94], "compil": [1, 3, 4, 5, 11, 18, 107, 109, 154], "guid": [1, 85, 92, 93, 96], "licens": [1, 2, 26], "acknowledg": 1, "edit": 1, "chapter": 1, "project": [2, 94], "inform": [2, 128], "websit": [2, 92], "mail": 2, "list": [2, 90, 143], "bug": [2, 18, 21], "tracker": 2, "matrix": 2, "room": 2, "maintain": [2, 18], "environ": 3, "setup": 3, "from": [3, 18, 21, 94, 112, 157], "sourc": [3, 18, 20, 109], "repositori": [3, 20], "set": 3, "up": [3, 94], "your": [3, 107], "editor": [3, 98], "file": [3, 20, 25, 29, 94, 109, 155, 165], "code": [3, 10, 11, 20, 31, 39, 90, 98, 116], "style": [3, 131], "The": [4, 5, 18, 25, 27, 33, 37, 69, 139], "nutshel": 5, "command": [5, 87, 92, 154], "line": [5, 87, 92, 154], "option": [5, 87], "procedur": 5, "codecontext": 5, "valac": [5, 160], "pipelin": 5, "parser": 6, "visitor": 6, "ping": 6, "pong": 6, "back": 6, "error": [6, 21, 134], "handl": [6, 134, 165], "grammar": 6, "semant": [7, 39, 59], "analyz": [7, 9], "attribut": [7, 26, 27, 33, 116], "process": [7, 18], "todo": [7, 13, 16, 17, 18, 37, 140], "symbol": [8, 20, 30], "resolut": 8, "data": [8, 21, 94, 112], "type": [8, 20, 21, 42, 63, 64, 69, 80, 94, 112, 128, 129], "flow": 9, "c": [10, 11, 20, 29, 35, 36, 38, 39, 47, 63, 71, 94], "gener": [10, 20, 21, 52, 69, 130, 156], "link": [11, 90, 154], "bind": [12, 18, 19, 21, 38, 47, 63, 71, 94, 155, 157], "vapi": [12, 20, 21, 22, 25, 94, 155], "introspect": [12, 14, 20, 21, 162], "gobject": [12, 20, 21, 94, 131], "libge": 13, "intern": 13, "other": [14, 20, 94, 101, 112, 157], "tool": [14, 87, 92, 99, 101, 159], "gen": [14, 162], "vapigen": [14, 161], "test": [15, 94], "document": [16, 18, 21, 32, 84, 88, 95], "build": [17, 18, 97], "system": [17, 97], "out": [17, 48], "tree": 17, "contributor": 18, "develop": [18, 93], "submit": 18, "report": 18, "patch": 18, "review": 18, "updat": 18, "commit": 18, "debug": [18, 164], "server": [18, 100], "introduct": [20, 95, 106], "annot": [20, 21], "g": [20, 136], "ir": 20, "scanner": 20, "typelib": [20, 94], "libgirepositori": 20, "languag": [20, 94, 100, 105, 115, 157], "support": [20, 100, 102, 137], "abi": [20, 156], "fix": [20, 21, 94], "metadata": 20, "header": [20, 29, 90], "duplic": 20, "nest": 20, "namespac": [20, 21, 28, 115], "nullabl": [20, 50], "return": [20, 48, 56, 63], "valu": [20, 48, 53, 112], "variad": [20, 55], "function": [20, 45, 47, 56, 63, 68, 75], "ownership": [20, 37, 49, 80, 142], "struct": [20, 42, 43, 65, 69, 71, 72, 73, 94, 115], "field": [20, 71], "virtual": [20, 124], "method": [20, 51, 57, 58, 60, 69, 115, 124, 125, 127, 137, 140, 142], "without": 20, "invok": 20, "abstract": [20, 124], "distinct": 20, "gclosur": 20, "inherit": [20, 94, 123, 125], "asynchron": [20, 140], "finish": 20, "macro": 20, "custom": [20, 156], "No": 20, "A": 20, "note": 20, "deprec": 20, "gidl": 20, "distribut": 21, "upstream": 21, "catch": 21, "earlier": 21, "get": [21, 24, 94], "quicker": 21, "match": 21, "version": [21, 33], "instal": [21, 96], "softwar": 21, "higher": 21, "qualiti": 21, "api": [21, 92, 156], "us": [21, 34, 94, 153, 154, 156, 158, 165], "directli": 21, "i": [21, 66, 94, 106], "don": [21, 94], "t": [21, 94], "know": 21, "anyth": 21, "how": [21, 94], "work": 21, "gir": [21, 94], "autotool": [21, 158], "integr": [21, 146], "write": [21, 22], "By": 21, "hand": 21, "manual": 22, "prerequisit": [23, 125], "start": [24, 86], "ccode": 27, "creat": [28, 94, 154], "root": 28, "includ": [29, 94], "name": 30, "translat": 30, "format": [31, 90], "convent": [31, 106], "valadoc": [32, 85, 92], "org": [32, 92], "": [34, 35, 53, 63, 71], "automat": 34, "memori": 34, "manag": 34, "pointer": [35, 68, 69, 70, 73, 75, 94, 144], "what": [35, 92, 94, 106], "all": 35, "mean": [35, 66, 94], "constant": [36, 40, 66], "stack": 36, "heap": [36, 38], "concept": 37, "handler": 38, "recogn": 39, "enum": 41, "flag": 41, "simpl": 42, "compact": [44, 94], "class": [44, 69, 94, 115, 124, 145], "singli": 44, "own": [44, 82], "refer": [44, 48, 57, 58, 92, 112, 141, 142], "count": 44, "deleg": [46, 83, 115], "fundament": 47, "paramet": [48, 63, 69, 135], "static": [51, 94, 112], "chang": [52, 53, 57], "posit": [52, 53], "argument": [52, 53, 55, 66, 143], "default": [53, 125], "an": [53, 66, 94], "adapt": 54, "signatur": 54, "wrapper": 54, "k": [55, 136], "That": 56, "do": [56, 94], "Not": 56, "instanc": [57, 58], "destroi": 58, "ad": 59, "friendli": 59, "to_str": 60, "properti": [61, 122, 125, 142], "collect": [62, 136], "basic": [64, 86, 108, 118], "arrai": [66, 74, 79, 82, 94, 112], "length": [66, 79, 81, 143], "pass": [66, 94], "null": [66, 151], "termin": 66, "express": [66, 149, 150], "unknown": 66, "known": 66, "some": [66, 94], "awkward": [66, 78], "string": [67, 94, 112], "buffer": 67, "variabl": [69, 143], "user": [69, 94], "case": 69, "union": 76, "extra": 77, "hint": 77, "situat": 78, "depend": 80, "member": [81, 94], "unown": [82, 142], "object": [82, 94, 117, 145], "share": 83, "context": 83, "quick": 86, "usag": 86, "essenti": 87, "comment": [88, 90, 111], "markup": 88, "structur": [88, 114], "brief": 89, "descript": 89, "exampl": [89, 140, 154, 158], "linebreak": 90, "paragraph": 90, "output": 90, "text": 90, "highlight": 90, "block": [90, 91], "imag": 90, "tabl": 90, "taglet": 91, "inlin": 91, "contribut": [92, 95], "you": [92, 94], "re": 92, "read": [92, 94, 136, 156], "now": 92, "faq": 94, "have": 94, "whole": 94, "new": [94, 112], "program": [94, 103, 105, 107, 117, 133], "didn": 94, "just": 94, "d": [94, 146], "java": 94, "python": [94, 157], "can": 94, "librari": [94, 152, 153, 154, 155, 157], "doe": 94, "perform": 94, "applic": 94, "compar": 94, "quit": 94, "similiar": 94, "plan": 94, "replac": 94, "mono": 94, "foo": 94, "keyword": 94, "identifi": 94, "arithmet": 94, "insid": 94, "subclass": 94, "forc": 94, "cast": [94, 112, 129], "one": 94, "anoth": 94, "preprocessor": 94, "simpletyp": 94, "stdin": 94, "gtype": 94, "someth": 94, "initi": 94, "chain": [94, 149], "base": 94, "constructor": [94, 156], "convert": 94, "uint8": 94, "char": 94, "viceversa": 94, "callback": 94, "config": 94, "h": 94, "first": [94, 107], "cc": 94, "warn": 94, "instead": 94, "should": 94, "pkg": 94, "local": 94, "copi": 94, "my": 94, "good": 94, "practic": 94, "section": 95, "extern": 95, "resourc": [95, 138], "commun": 95, "linux": 96, "fedora": 96, "debian": 96, "arch": 96, "alt": 96, "bsd": 96, "window": 96, "msys2": 96, "subsystem": 96, "wsl": 96, "mac": 96, "o": 96, "x": 96, "verifi": 96, "id": 98, "protocol": 100, "syntax": [102, 110, 137], "gui": 103, "tutori": [104, 106], "main": [106, 139], "who": 106, "thi": 106, "run": [107, 128], "overview": 110, "infer": 112, "defin": [112, 125], "oper": 113, "control": [114, 138], "element": 115, "anonym": 115, "closur": 115, "interfac": [115, 125], "orient": 117, "construct": [119, 131], "destruct": 120, "signal": 121, "implement": 125, "mixin": 125, "multipl": 125, "explicit": 125, "polymorph": 126, "hide": 127, "time": 128, "dynam": 129, "advanc": 132, "featur": [132, 148], "assert": 133, "contract": 133, "direct": 135, "arraylist": 136, "hashmap": 136, "v": 136, "hashset": 136, "onli": 136, "view": 136, "With": 137, "multi": 138, "thread": 138, "loop": 139, "weak": 141, "transfer": 142, "non": [145, 151], "bu": 146, "profil": 147, "experiment": 148, "relat": 149, "regular": 150, "liter": 150, "strict": 151, "mode": 151, "design": 156, "choic": 156, "avoid": 156, "vararg": 156, "further": 156, "haskel": 157, "javascript": 157, "lua": 157, "perl": 157, "rust": 157, "techniqu": 163, "glib": 165}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"About Vala": [[0, "about-vala"]], "Why Vala?": [[0, "why-vala"]], "Compiler Guide": [[1, "compiler-guide"]], "License": [[1, "license"], [2, "license"]], "Acknowledgements": [[1, "acknowledgements"]], "Edited by": [[1, "edited-by"]], "Chapters": [[1, "chapters"]], "Project Information": [[2, "project-information"]], "Website, Mailing List, Bug Tracker, Matrix Room": [[2, "website-mailing-list-bug-tracker-matrix-room"]], "Project Maintainers": [[2, "project-maintainers"]], "Environment Setup": [[3, "environment-setup"]], "Compiling from the Source Repository": [[3, "compiling-from-the-source-repository"]], "Setting up your editor": [[3, "setting-up-your-editor"]], "Files": [[3, "files"]], "Coding Style": [[3, "coding-style"]], "The Vala Compiler": [[4, "the-vala-compiler"]], "Vala in a Nutshell": [[5, "vala-in-a-nutshell"]], "Command-line Options": [[5, "command-line-options"]], "The Compilation Procedure and Vala.CodeContext": [[5, "the-compilation-procedure-and-vala-codecontext"]], "The valac Pipeline": [[5, "the-valac-pipeline"]], "Parser": [[6, "parser"]], "Visitors and Ping Pong": [[6, "visitors-and-ping-pong"]], "Back to the Parser": [[6, "back-to-the-parser"]], "Error Handling": [[6, "error-handling"], [134, "error-handling"]], "Grammar of Vala": [[6, "grammar-of-vala"]], "Semantic Analyzer": [[7, "semantic-analyzer"]], "Attribute Processing": [[7, "attribute-processing"]], "Todo": [[7, "id1"], [13, "id1"], [16, "id1"], [16, "id2"], [17, "id1"], [18, "id1"], [37, "id1"], [140, "id1"]], "Symbol Resolution": [[8, "symbol-resolution"]], "Data Types": [[8, "data-types"], [21, "data-types"], [112, "data-types"]], "Symbols": [[8, "symbols"]], "Flow Analyzer": [[9, "flow-analyzer"]], "C Code Generation": [[10, "c-code-generation"]], "C Code Compilation and Linking": [[11, "c-code-compilation-and-linking"]], "Vala Bindings - VAPI": [[12, "vala-bindings-vapi"]], "Vala Introspection": [[12, "vala-introspection"]], "GObject Introspection": [[12, "gobject-introspection"]], "libgee Internal": [[13, "libgee-internal"]], "Other Tools": [[14, "other-tools"], [101, "other-tools"]], "gen-introspect": [[14, "gen-introspect"]], "vapigen": [[14, "vapigen"], [161, "vapigen"]], "vala-gen-introspect": [[14, "vala-gen-introspect"], [162, "vala-gen-introspect"]], "Testing": [[15, "testing"]], "Documentation": [[16, "documentation"], [18, "documentation"], [84, "documentation"]], "Build System": [[17, "build-system"]], "Out-of-tree build": [[17, "out-of-tree-build"]], "Documentation for Contributors to Vala": [[18, "documentation-for-contributors-to-vala"]], "Building from Source": [[18, "building-from-source"]], "Development Process": [[18, "development-process"]], "Submitting Bug Reports": [[18, "submitting-bug-reports"]], "Submitting Patches": [[18, "submitting-patches"]], "Reviewing and Updating Patches": [[18, "reviewing-and-updating-patches"]], "Committing Patches": [[18, "committing-patches"]], "Maintaining Bindings": [[18, "maintaining-bindings"]], "Developing the Compiler": [[18, "developing-the-compiler"]], "Debugging": [[18, "debugging"], [164, "debugging"]], "The Build Server": [[18, "the-build-server"]], "Bindings": [[19, "bindings"]], "Generating a VAPI with GObject Introspection": [[20, "generating-a-vapi-with-gobject-introspection"]], "Introduction": [[20, "introduction"], [95, "introduction"], [106, "introduction"]], "GObject Introspection Repository Files": [[20, "gobject-introspection-repository-files"]], "Source Code Annotations and g-ir-scanner": [[20, "source-code-annotations-and-g-ir-scanner"]], "Typelib Files and libgirepository": [[20, "typelib-files-and-libgirepository"]], "Other Languages that Support the C ABI": [[20, "other-languages-that-support-the-c-abi"]], "Generating the VAPI File": [[20, "generating-the-vapi-file"]], "Fixing VAPI Generation with Metadata": [[20, "fixing-vapi-generation-with-metadata"]], "C Headers": [[20, "c-headers"]], "Duplicate Symbols": [[20, "duplicate-symbols"]], "Nested Namespaces": [[20, "nested-namespaces"]], "Nullability of Return Values": [[20, "nullability-of-return-values"]], "Variadic Functions": [[20, "variadic-functions"]], "Ownership of Struct Fields": [[20, "ownership-of-struct-fields"]], "Virtual Methods Without Invokers": [[20, "virtual-methods-without-invokers"]], "Abstract/Virtual Distinction": [[20, "abstract-virtual-distinction"]], "Generic Types": [[20, "generic-types"]], "GClosure Types": [[20, "gclosure-types"]], "Inheritance": [[20, "inheritance"], [123, "inheritance"]], "Asynchronous Finish Functions": [[20, "asynchronous-finish-functions"]], "Macros": [[20, "macros"]], "Fixing VAPI Generation with Custom Vala Code": [[20, "fixing-vapi-generation-with-custom-vala-code"]], "No Generic Methods": [[20, "no-generic-methods"]], "A Note on the Deprecated GIDL Method": [[20, "a-note-on-the-deprecated-gidl-method"]], "Why Distribute Bindings Upstream": [[21, "why-distribute-bindings-upstream"]], "Catch errors earlier": [[21, "catch-errors-earlier"]], "Annotation bugs get fixed quicker": [[21, "annotation-bugs-get-fixed-quicker"]], "Matching the version of the installed software": [[21, "matching-the-version-of-the-installed-software"]], "Higher quality bindings": [[21, "higher-quality-bindings"]], "API documentation": [[21, "api-documentation"]], "Why not use GObject Introspection directly?": [[21, "why-not-use-gobject-introspection-directly"]], "I Don\u2019t Know Anything About Vala (or Vala Bindings)": [[21, "i-don-t-know-anything-about-vala-or-vala-bindings"]], "How Vala Bindings Work": [[21, "how-vala-bindings-work"]], "Generating a VAPI from GObject Introspection": [[21, "generating-a-vapi-from-gobject-introspection"]], "Generating a GIR": [[21, "generating-a-gir"]], "Generating a VAPI from a GIR": [[21, "generating-a-vapi-from-a-gir"]], "Autotools Integration": [[21, "autotools-integration"]], "Writing a VAPI By Hand": [[21, "writing-a-vapi-by-hand"]], "Namespaces": [[21, "namespaces"], [115, "namespaces"]], "Writing a VAPI Manually": [[22, "writing-a-vapi-manually"]], "Prerequisites": [[23, "prerequisites"]], "Getting Started": [[24, "getting-started"]], "The VAPI File": [[25, "the-vapi-file"]], "Attribution and License": [[26, "attribution-and-license"]], "The CCode Attribute": [[27, "the-ccode-attribute"]], "Create a Root Namespace": [[28, "create-a-root-namespace"]], "Include the C Header Files": [[29, "include-the-c-header-files"]], "Symbol Name Translations": [[30, "symbol-name-translations"]], "Code Formatting Conventions": [[31, "code-formatting-conventions"]], "Documentation and Valadoc.org": [[32, "documentation-and-valadoc-org"]], "The Version Attribute": [[33, "the-version-attribute"]], "Using Vala\u2019s Automatic Memory Management": [[34, "using-vala-s-automatic-memory-management"]], "Pointers in C (or what all these *\u2019s mean)": [[35, "pointers-in-c-or-what-all-these-s-mean"]], "Constants, the Stack and the Heap in C": [[36, "constants-the-stack-and-the-heap-in-c"]], "The Concept of \u201cOwnership\u201d in Vala": [[37, "the-concept-of-ownership-in-vala"]], "Binding to C Heap Handlers": [[38, "binding-to-c-heap-handlers"]], "Recognizing Vala Semantics in C Code": [[39, "recognizing-vala-semantics-in-c-code"]], "Constants": [[40, "constants"]], "Enums and Flags": [[41, "enums-and-flags"]], "Simple Type Structs": [[42, "simple-type-structs"]], "Structs": [[43, "structs"], [65, "structs"], [72, "structs"], [115, "structs"]], "Compact Classes": [[44, "compact-classes"]], "Singly-Owned Classes": [[44, "singly-owned-classes"]], "Reference-Counted Classes": [[44, "reference-counted-classes"]], "Functions": [[45, "functions"]], "Delegates": [[46, "delegates"], [115, "delegates"]], "Fundamentals of Binding a C Function": [[47, "fundamentals-of-binding-a-c-function"]], "Out and Reference Parameters and Return Values": [[48, "out-and-reference-parameters-and-return-values"]], "Ownership": [[49, "ownership"], [142, "ownership"]], "Nullability": [[50, "nullability"]], "Static Methods": [[51, "static-methods"]], "Changing the Position of Generated Arguments": [[52, "changing-the-position-of-generated-arguments"]], "Default Values and Changing an Argument\u2019s Position": [[53, "default-values-and-changing-an-argument-s-position"]], "Adapting a Signature with a Vala Wrapper": [[54, "adapting-a-signature-with-a-vala-wrapper"]], "Variadic Arguments (a.k.a. \u201c\u2026\u201d)": [[55, "variadic-arguments-a-k-a"]], "Functions That Do Not Return": [[56, "functions-that-do-not-return"]], "Methods that Change the Instance Reference": [[57, "methods-that-change-the-instance-reference"]], "Methods that Destroy the Instance Reference": [[58, "methods-that-destroy-the-instance-reference"]], "Adding Vala Friendly Semantics": [[59, "adding-vala-friendly-semantics"]], "to_string () Methods": [[60, "to-string-methods"]], "Properties": [[61, "properties"], [122, "properties"], [125, "properties"]], "Collections": [[62, "collections"], [136, "collections"]], "Binding a C Function\u2019s Parameter and Return Types": [[63, "binding-a-c-function-s-parameter-and-return-types"]], "Basic Types": [[64, "basic-types"]], "Arrays": [[66, "arrays"], [74, "arrays"], [112, "arrays"]], "Array Length is Passed as an Argument": [[66, "array-length-is-passed-as-an-argument"]], "Array is Null-Terminated": [[66, "array-is-null-terminated"]], "Array Length is a Constant Expression": [[66, "array-length-is-a-constant-expression"]], "Array Length is Unknown": [[66, "array-length-is-unknown"]], "Array Length is Known by Some Awkward Means": [[66, "array-length-is-known-by-some-awkward-means"]], "Strings and Buffers": [[67, "strings-and-buffers"]], "Function Pointers": [[68, "function-pointers"], [75, "function-pointers"]], "Parameters of Variable Type (Generics)": [[69, "parameters-of-variable-type-generics"]], "Generic Methods": [[69, "generic-methods"]], "Generic Classes and Structs": [[69, "generic-classes-and-structs"]], "The User Pointer Case": [[69, "the-user-pointer-case"]], "Pointers": [[70, "pointers"], [144, "pointers"]], "Binding a C Struct\u2019s Fields": [[71, "binding-a-c-struct-s-fields"]], "Pointers to Structs": [[73, "pointers-to-structs"]], "Unions": [[76, "unions"]], "Extra Hints": [[77, "extra-hints"]], "Awkward Situations": [[78, "awkward-situations"]], "Array Lengths": [[79, "array-lengths"]], "Dependently Typed Ownership": [[80, "dependently-typed-ownership"]], "Member Length": [[81, "member-length"]], "Owned Array of Unowned Objects": [[82, "owned-array-of-unowned-objects"]], "Shared Context Delegates": [[83, "shared-context-delegates"]], "Valadoc Guide": [[85, "valadoc-guide"]], "Quick Start": [[86, "quick-start"]], "Basic Usage": [[86, "basic-usage"]], "Command Line Tool": [[87, "command-line-tool"]], "Essential Options": [[87, "essential-options"]], "Documentation Comment Markup": [[88, "documentation-comment-markup"]], "Documentation Comment Structure": [[88, "documentation-comment-structure"]], "Brief Description": [[89, "brief-description"]], "Example": [[89, "example"], [154, "example"], [158, "example"]], "Formatting": [[90, "formatting"]], "Linebreaks and Paragraphs": [[90, "linebreaks-and-paragraphs"]], "Comment": [[90, "comment"], [90, "id1"], [90, "id3"], [90, "id5"], [90, "id7"], [90, "id9"], [90, "id11"]], "Output": [[90, "output"], [90, "id2"], [90, "id4"], [90, "id6"], [90, "id8"], [90, "id10"], [90, "id12"]], "Text Highlighting": [[90, "text-highlighting"]], "Lists": [[90, "lists"]], "Code Blocks": [[90, "code-blocks"]], "Images and Links": [[90, "images-and-links"]], "Tables": [[90, "tables"]], "Headers": [[90, "headers"]], "Taglets": [[91, "taglets"]], "Inline Taglets": [[91, "inline-taglets"]], "Block Taglets": [[91, "block-taglets"]], "Contributing to Valadoc": [[92, "contributing-to-valadoc"]], "Valadoc Guide (What you\u2019re reading now!)": [[92, "valadoc-guide-what-you-re-reading-now"]], "Valadoc Command Line Tool": [[92, "valadoc-command-line-tool"]], "Valadoc.org (API References Website)": [[92, "valadoc-org-api-references-website"]], "Developer Guides": [[93, "developer-guides"]], "Vala FAQ": [[94, "vala-faq"]], "Why have you created a whole new programming language? Why didn\u2019t you just use C++, C#, D, Java, Python,\u2026?": [[94, "why-have-you-created-a-whole-new-programming-language-why-didn-t-you-just-use-c-c-d-java-python"]], "How can I use Vala libraries from C, C++, C#, D, Java, Python,\u2026?": [[94, "how-can-i-use-vala-libraries-from-c-c-c-d-java-python"]], "How does the performance of Vala applications compare to other applications?": [[94, "how-does-the-performance-of-vala-applications-compare-to-other-applications"]], "Vala is quite similiar to C#. Do you plan to replace Mono?": [[94, "vala-is-quite-similiar-to-c-do-you-plan-to-replace-mono"]], "What does \u201cstring? foo\u201d mean?": [[94, "what-does-string-foo-mean"]], "Can I use keywords as identifiers?": [[94, "can-i-use-keywords-as-identifiers"]], "Why do I have to inherit from GObject?": [[94, "why-do-i-have-to-inherit-from-gobject"]], "Can I use pointer arithmetic inside strings?": [[94, "can-i-use-pointer-arithmetic-inside-strings"]], "How to test if an object is some class or subclass?": [[94, "how-to-test-if-an-object-is-some-class-or-subclass"]], "How to force cast an object from one type to another type?": [[94, "how-to-force-cast-an-object-from-one-type-to-another-type"]], "Does Vala have a preprocessor?": [[94, "does-vala-have-a-preprocessor"]], "What does [SimpleType] and [Compact] in bindings mean?": [[94, "what-does-simpletype-and-compact-in-bindings-mean"]], "How do I read from stdin?": [[94, "how-do-i-read-from-stdin"]], "How do I get the GType for something?": [[94, "how-do-i-get-the-gtype-for-something"]], "Why do static members not get initialized?": [[94, "why-do-static-members-not-get-initialized"]], "Why can\u2019t I chain up to base constructor?": [[94, "why-can-t-i-chain-up-to-base-constructor"]], "How do I convert from uint8[] (or char[]) to string and viceversa?": [[94, "how-do-i-convert-from-uint8-or-char-to-string-and-viceversa"]], "How do I create an array of structs?": [[94, "how-do-i-create-an-array-of-structs"]], "How do I pass user data for a callback?": [[94, "how-do-i-pass-user-data-for-a-callback"]], "I have a config.vapi binding for config.h, but it is not the first file included": [[94, "i-have-a-config-vapi-binding-for-config-h-but-it-is-not-the-first-file-included"]], "How can I fix CC warnings?": [[94, "how-can-i-fix-cc-warnings"]], "Why don\u2019t you use .typelib instead of .gir?": [[94, "why-don-t-you-use-typelib-instead-of-gir"]], "Why should I use .vapi instead of .gir with --pkg?": [[94, "why-should-i-use-vapi-instead-of-gir-with-pkg"]], "Is having a local copy of a .vapi in my project good practice?": [[94, "is-having-a-local-copy-of-a-vapi-in-my-project-good-practice"]], "Vala Documentation": [[95, "vala-documentation"]], "Sections": [[95, "sections"]], "External Resources": [[95, "external-resources"]], "Community": [[95, "community"]], "Contribute": [[95, "contribute"]], "Installation Guide": [[96, "installation-guide"]], "Linux": [[96, "linux"]], "Fedora": [[96, "fedora"]], "Debian": [[96, "debian"]], "Arch Linux": [[96, "arch-linux"]], "ALT Linux": [[96, "alt-linux"]], "*BSD": [[96, "bsd"]], "Windows": [[96, "windows"]], "MSYS2": [[96, "msys2"]], "Windows Subsystem for Windows (WSL)": [[96, "windows-subsystem-for-windows-wsl"]], "Mac OS X": [[96, "mac-os-x"]], "Verifying the Installation": [[96, "verifying-the-installation"]], "Build Systems": [[97, "build-systems"]], "Code Editors and IDEs": [[98, "code-editors-and-ides"]], "Tooling": [[99, "tooling"]], "Language Server Protocol Support": [[100, "language-server-protocol-support"]], "Syntax Support": [[102, "syntax-support"]], "GUI Programming": [[103, "gui-programming"]], "Tutorials": [[104, "tutorials"]], "Programming Language": [[105, "programming-language"]], "Main Tutorial": [[106, "main-tutorial"]], "What is Vala?": [[106, "what-is-vala"]], "Who is this tutorial for?": [[106, "who-is-this-tutorial-for"]], "Conventions": [[106, "conventions"]], "First Program": [[107, "first-program"]], "Your First Program": [[107, "your-first-program"]], "Compile and Run": [[107, "compile-and-run"]], "Basics": [[108, "basics"], [118, "basics"]], "Source Files and Compilation": [[109, "source-files-and-compilation"]], "Syntax Overview": [[110, "syntax-overview"]], "Comments": [[111, "comments"]], "Value Types": [[112, "value-types"]], "Strings": [[112, "strings"]], "Reference Types": [[112, "reference-types"]], "Static Type Casting": [[112, "static-type-casting"]], "Type Inference": [[112, "type-inference"]], "Defining new Type from other": [[112, "defining-new-type-from-other"]], "Operators": [[113, "operators"]], "Control Structures": [[114, "control-structures"]], "Language Elements": [[115, "language-elements"]], "Methods": [[115, "methods"]], "Anonymous Methods / Closures": [[115, "anonymous-methods-closures"]], "Classes": [[115, "classes"]], "Interfaces": [[115, "interfaces"], [125, "interfaces"]], "Code Attributes": [[116, "code-attributes"]], "Object Oriented Programming": [[117, "object-oriented-programming"]], "Construction": [[119, "construction"]], "Destruction": [[120, "destruction"]], "Signals": [[121, "signals"]], "Abstract Classes": [[124, "abstract-classes"]], "Virtual Methods": [[124, "virtual-methods"]], "Defining Prerequisites": [[125, "defining-prerequisites"]], "Defining default implementation in methods": [[125, "defining-default-implementation-in-methods"]], "Mixins and Multiple Inheritance": [[125, "mixins-and-multiple-inheritance"]], "Explicit method implementation": [[125, "explicit-method-implementation"]], "Polymorphism": [[126, "polymorphism"]], "Method Hiding": [[127, "method-hiding"]], "Run-Time Type Information": [[128, "run-time-type-information"]], "Dynamic Type Casting": [[129, "dynamic-type-casting"]], "Generics": [[130, "generics"]], "GObject-Style Construction": [[131, "gobject-style-construction"]], "Advanced Features": [[132, "advanced-features"]], "Assertions and Contract Programming": [[133, "assertions-and-contract-programming"]], "Parameter Directions": [[135, "parameter-directions"]], "ArrayList": [[136, "arraylist-g"]], "HashMap": [[136, "hashmap-k-v"]], "HashSet": [[136, "hashset-g"]], "Read-Only Views": [[136, "read-only-views"]], "Methods With Syntax Support": [[137, "methods-with-syntax-support"]], "Multi-Threading": [[138, "multi-threading"]], "Threads in Vala": [[138, "threads-in-vala"]], "Resource Control": [[138, "resource-control"]], "The Main Loop": [[139, "the-main-loop"]], "Asynchronous Methods": [[140, "asynchronous-methods"]], "Examples": [[140, "examples"]], "Weak References": [[141, "weak-references"]], "Unowned References": [[142, "unowned-references"]], "Methods ownership": [[142, "methods-ownership"]], "Properties ownership": [[142, "properties-ownership"]], "Ownership Transfer": [[142, "ownership-transfer"]], "Variable-Length Argument Lists": [[143, "variable-length-argument-lists"]], "Non-Object classes": [[145, "non-object-classes"]], "D-Bus Integration": [[146, "d-bus-integration"]], "Profiles": [[147, "profiles"]], "Experimental Features": [[148, "experimental-features"]], "Chained Relational Expressions": [[149, "chained-relational-expressions"]], "Regular Expression Literals": [[150, "regular-expression-literals"]], "Strict Non-Null Mode": [[151, "strict-non-null-mode"]], "Libraries": [[152, "libraries"]], "Using Libraries": [[153, "using-libraries"]], "Creating a Library": [[154, "creating-a-library"]], "Compilation and linking using Command Line": [[154, "compilation-and-linking-using-command-line"]], "Binding Libraries with VAPI Files": [[155, "binding-libraries-with-vapi-files"]], "ABI and API Design Choices": [[156, "abi-and-api-design-choices"]], "ABI": [[156, "abi"]], "API Design": [[156, "api-design"]], "Avoid Custom Constructors": [[156, "avoid-custom-constructors"]], "Avoid Using varargs": [[156, "avoid-using-varargs"]], "Avoid Using Generics": [[156, "avoid-using-generics"]], "Further Reading": [[156, "further-reading"]], "Binding to Vala Libraries from Other Languages": [[157, "binding-to-vala-libraries-from-other-languages"]], "Haskell": [[157, "haskell"]], "JavaScript": [[157, "javascript"]], "Lua": [[157, "lua"]], "Perl": [[157, "perl"]], "Python": [[157, "python"]], "Rust": [[157, "rust"]], "Using Autotools": [[158, "using-autotools"]], "Tools": [[159, "tools"]], "valac": [[160, "valac"]], "Techniques": [[163, "techniques"]], "Using GLib": [[165, "using-glib"]], "File Handling": [[165, "file-handling"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/tooling/build-systems.html b/tooling/build-systems.html index 4a05c11..f969e9d 100644 --- a/tooling/build-systems.html +++ b/tooling/build-systems.html @@ -271,6 +271,9 @@
    • 6.1. Using Libraries
    • 6.2. Creating a Library
    • 6.3. Binding Libraries with VAPI Files
    • +
    • 6.4. ABI and API Design Choices
    • +
    • 6.5. Binding to Vala Libraries from Other Languages
    • +
    • 6.6. Using Autotools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools
  • 7. Tools diff --git a/tutorials/programming-language/main/06-00-libraries/06-01-using-libraries.html b/tutorials/programming-language/main/06-00-libraries/06-01-using-libraries.html index 4704dba..7210214 100644 --- a/tutorials/programming-language/main/06-00-libraries/06-01-using-libraries.html +++ b/tutorials/programming-language/main/06-00-libraries/06-01-using-libraries.html @@ -271,6 +271,9 @@
  • 6.1. Using Libraries
  • 6.2. Creating a Library
  • 6.3. Binding Libraries with VAPI Files
  • +
  • 6.4. ABI and API Design Choices
  • +
  • 6.5. Binding to Vala Libraries from Other Languages
  • +
  • 6.6. Using Autotools
  • 7. Tools
  • 7. Tools