Imported Upstream version 0.19.0
authorPhilippe Coval <philippe.coval@eurogiciel.fr>
Mon, 25 Feb 2013 09:32:31 +0000 (10:32 +0100)
committerPhilippe Coval <philippe.coval@eurogiciel.fr>
Mon, 25 Feb 2013 09:32:31 +0000 (10:32 +0100)
124 files changed:
.tarball-version
.version
ChangeLog
Makefile.in
NEWS
aclocal.m4
build-aux/compile
build-aux/config.guess
build-aux/config.sub
build-aux/depcomp
build-aux/missing
build-aux/test-driver [new file with mode: 0755]
build-aux/ylwrap
ccode/Makefile.in
ccode/valaccodewriter.c
codegen/Makefile.in
codegen/valaccodebasemodule.c
codegen/valaccodebasemodule.vala
codegen/valaccodemethodmodule.c
codegen/valaccodemethodmodule.vala
codegen/valagirwriter.c
codegen/valagirwriter.vala
compiler/Makefile.in
compiler/valacompiler.c
compiler/valacompiler.vala
configure
configure.ac
doc/Makefile.in
doc/vala/Makefile.in
doc/valac.1
gee/Makefile.in
gobject-introspection/Makefile.in
gobject-introspection/scannerlexer.c
gobject-introspection/scannerparser.c
gobject-introspection/scannerparser.h
tests/Makefile.am
tests/Makefile.in
tests/structs/bug685177.vala [new file with mode: 0644]
tests/structs/bug690380.vala [new file with mode: 0644]
vala/Makefile.in
vala/vala.vapi
vala/valacodecontext.c
vala/valacodewriter.c
vala/valagirparser.c
vala/valagirparser.vala
vala/valaparameter.c
vala/valaparameter.vala
vala/valaparser.c
vala/valaparser.vala
vala/valaswitchsection.c
vala/valaswitchsection.vala
vala/valasymbolresolver.c
vala/valasymbolresolver.vala
vapi/Makefile.am
vapi/Makefile.in
vapi/atk.vapi
vapi/atspi-2.deps [new file with mode: 0644]
vapi/atspi-2.vapi [new file with mode: 0644]
vapi/clutter-1.0.vapi
vapi/clutter-gtk-1.0.vapi
vapi/curses.vapi
vapi/gdk-3.0.vapi
vapi/gdk-pixbuf-2.0.vapi
vapi/gdl-3.0.vapi
vapi/gedit.vapi
vapi/gio-2.0.vapi
vapi/glib-2.0.vapi
vapi/gobject-2.0.vapi
vapi/gstreamer-0.10.vapi
vapi/gstreamer-1.0.vapi
vapi/gstreamer-app-0.10.vapi
vapi/gstreamer-app-1.0.vapi
vapi/gstreamer-audio-0.10.vapi
vapi/gstreamer-audio-1.0.deps
vapi/gstreamer-audio-1.0.vapi
vapi/gstreamer-base-0.10.vapi
vapi/gstreamer-base-1.0.vapi
vapi/gstreamer-check-0.10.vapi
vapi/gstreamer-controller-0.10.vapi
vapi/gstreamer-fft-0.10.vapi
vapi/gstreamer-interfaces-0.10.vapi
vapi/gstreamer-net-0.10.vapi
vapi/gstreamer-net-1.0.deps
vapi/gstreamer-net-1.0.vapi
vapi/gstreamer-netbuffer-0.10.vapi
vapi/gstreamer-pbutils-0.10.vapi
vapi/gstreamer-pbutils-1.0.deps
vapi/gstreamer-pbutils-1.0.vapi
vapi/gstreamer-riff-0.10.vapi
vapi/gstreamer-rtp-0.10.vapi
vapi/gstreamer-rtp-1.0.vapi
vapi/gstreamer-rtsp-0.10.vapi
vapi/gstreamer-rtsp-1.0.vapi
vapi/gstreamer-rtsp-server-1.0.deps [new file with mode: 0644]
vapi/gstreamer-rtsp-server-1.0.vapi [new file with mode: 0644]
vapi/gstreamer-sdp-0.10.vapi
vapi/gstreamer-sdp-1.0.vapi
vapi/gstreamer-tag-0.10.vapi
vapi/gstreamer-tag-1.0.deps
vapi/gstreamer-video-0.10.vapi
vapi/gstreamer-video-1.0.deps
vapi/gstreamer-video-1.0.vapi
vapi/gtk+-2.0.vapi
vapi/gtk+-3.0.vapi
vapi/gtksourceview-3.0.vapi
vapi/libgdata.vapi
vapi/libgsf-1.vapi
vapi/libsoup-2.4.vapi
vapi/libvala-0.20.vapi [moved from vapi/libvala-0.18.vapi with 99% similarity]
vapi/libwnck-3.0.vapi
vapi/libxml-2.0.vapi
vapi/linux.vapi
vapi/mx-1.0.vapi
vapi/pango.vapi
vapi/pixman-1.vapi
vapi/poppler-glib.vapi
vapi/posix.vapi
vapi/udisks2.vapi
vapi/vte-2.90.vapi
vapi/x11.vapi
vapigen/Makefile.in
vapigen/Makefile.vapigen
vapigen/vala-gen-introspect/Makefile.in
vapigen/vapigen.m4

index 249afd5..1cf0537 100644 (file)
@@ -1 +1 @@
-0.18.1
+0.19.0
index 249afd5..1cf0537 100644 (file)
--- a/.version
+++ b/.version
@@ -1 +1 @@
-0.18.1
+0.19.0
index f5376ce..6cdb885 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,345 @@
+2013-02-20  Jürg Billeter  <j@bitron.ch>
+
+       Release 0.19.0
+
+2013-02-19  Evan Nemerson  <evan@coeus-group.com>
+
+       gtk+-3.0: make drag_begin event arg nullable
+       Fixes bug 691237.
+
+       vapis: regenerate GIR-based bindings
+
+       girparser: mark non-simpletype struct return values as nullable
+       Functions which return structs currently generate incorrect C code
+       since valac thinks the struct is actually an out argument.  This patch
+       will mark the return values of functions returning structs as nullable
+       in order to prevent valac from adding extra arguments.
+
+2013-02-18  Marcin Lewandowski  <www@saepia.net>
+
+       gstreamer-0.10: add some deprecation annotations
+       Fixes bug 682207.
+
+2013-02-18  Evan Nemerson  <evan@coeus-group.com>
+
+       glib-2.0: fix g_variant_new_fixed_array binding
+       The elements argument needs to be a generic array, with the type
+       depending on the element_type argument.
+
+2013-02-17  Michael Hofmann  <mh21@mh21.de>
+
+       gtk+-3.0: Fix colors parameter of ColorChooser.add_palette
+       Fixes bug 694037.
+
+2013-02-17  Evan Nemerson  <evan@coeus-group.com>
+
+       glib-2.0: add StringBuilder.insert_len and overwrite* bindings
+
+2013-02-16  Evan Nemerson  <evan@coeus-group.com>
+
+       girparser: warn instead of error on unrecognized metadata arguments
+
+       girparser: add support for "floating" metadata argument
+
+       vte-2.90: remove some obsolete metadata
+
+2013-02-14  Evan Nemerson  <evan@coeus-group.com>
+
+       Remove libxklavier bindings.
+       There hasn't been a release since they were added and it looks like
+       libxklavier is going to be shipping them.  The only user I'm aware of
+       is Caribou, and they are already shipping a local copy.
+
+       x11: set Event GIR name to XEvent
+
+2013-02-11  Evan Nemerson  <evan@coeus-group.com>
+
+       glib-2.0: add missing C header for g_fopen
+
+       girparser: be a bit more forgiving about unexpected elements in a GIR
+
+       girwriter: fix name of *Class structs for nested types in GIRs
+       Fixes bug 689500.
+
+2013-02-11  shuerhaaken  <interflug1@gmx.net>
+
+       gtk+-3.0: hide extraneous CellArea.foreach parameter
+       Fixes bug 693308.
+
+2013-02-11  Evan Nemerson  <evan@coeus-group.com>
+
+       Regenerate many GIR-based bindings
+
+2013-02-09  Martin Pitt  <martinpitt@gnome.org>
+
+       posix: Add binding for major(), minor(), makedev()
+       Fixes bug 693411.
+
+       posix: Fix superfluous array length argument for realpath()
+       Fixes bug 693410.
+
+2013-02-09  Evan Nemerson  <evan@coeus-group.com>
+
+       glib-2.0: use g_fopen for FileStream.open
+       Fixes bug 691622.
+
+       curses: make Curses.Color a struct with the correct cname
+       Fixes bug 693456.
+
+2013-02-08  Evan Nemerson  <evan@coeus-group.com>
+
+       libxml-2.0: revert 5fcabbfa
+
+       x11: add VisualInfo bindings
+
+2013-02-08  Richard Schwarting  <aquarichy@gmail.com>
+
+       libxml-2.0: add Buffer
+       Fixes bug 677355.
+
+       libxml-2.0: add HashTable
+       Partially fixes bug 677355.
+
+       libxml-2.0: Expose xmlBuffer as Xml.Buffer
+       Partially fixes bug 677355.
+
+       libxml-2.0: Expose xmlSetNs
+       Fixes bug 677726.
+
+2013-02-08  Evan Nemerson  <evan@coeus-group.com>
+
+       posix: add read_vectors and write_vectors
+       Fixes bug 679035.
+
+       vapigen.m4: emit error if no GOBJECT_INTROSPECTION_* macro is called
+       Fixes bug 684275.
+
+       x11: add has_destroy_function = false to WindowAttributes
+       Fixes bug 690870.
+
+2013-02-08  David Ma  <dma724332@gmail.com>
+
+       posix: add Flock struct
+       Fixes bug 690871.
+
+2013-02-08  Evan Nemerson  <evan@coeus-group.com>
+
+       x11: add Display.list_properties and XA_STRING
+       Fixes bug 690905.
+
+2013-02-08  Dan Callaghan  <djc@djc.id.au>
+
+       libxml-2.0: fix Xml.Dtd property cnames
+       Fixes bug 692060.
+
+       libxml-2.0: add xmlSearchNs and xmlSearchNsByHref
+       Fixes bug 692061.
+
+2013-02-08  Pierre Lamot  <pierre.lamot@yahoo.fr>
+
+       curses: add vprintw and vscanw bindings to Window
+       Fixes bug 692748.
+
+2013-02-08  Evan Nemerson  <evan@coeus-group.com>
+
+       libxml-2.0: add some schema-related bindings
+
+       gdl-3.0: update to 3.7.3
+       Fixes bug 693127.
+
+2013-02-02  Jasper St. Pierre  <jstpierre@mecheye.net>
+
+       valagirparser: Ignore the new instance-parameter tag
+       g-ir-scanner will now start emitting the instance parameter; since
+       vala doesn't need this, just skip it.
+
+       https://bugzilla.gnome.org/show_bug.cgi?id=693054
+
+2013-02-02  Evan Nemerson  <evan@coeus-group.com>
+
+       clutter-1.0:  fix Color.get_static return value
+
+2013-01-22  Evan Nemerson  <evan@coeus-group.com>
+
+       glib-2.0: mark Thread.set_priority and Thread.foreach as deprecated
+
+2013-01-18  Rico Tzschichholz  <ricotz@t-online.de>
+
+       codegen: Use equal method of base-struct for derived structs
+       https://bugzilla.gnome.org/show_bug.cgi?id=690380
+
+2013-01-11  Evan Nemerson  <evan@coeus-group.com>
+
+       clutter-1.0: undeprecate BinAlignment enum.
+
+2013-01-10  Evan Nemerson  <evan@coeus-group.com>
+
+       clutter-1.0: avoid deprecation warning for BinLayout constructor
+
+2013-01-08  Rico Tzschichholz  <ricotz@t-online.de>
+
+       gstreamer-1.0: Update to 1.0.5
+
+2012-12-29  Rico Tzschichholz  <ricotz@t-online.de>
+
+       pango: Update to 1.32.5
+
+2012-12-29  Luca Bruno  <lucabru@src.gnome.org>
+
+       posix: Add fchmod
+
+2012-12-29  Rico Tzschichholz  <ricotz@t-online.de>
+
+       clutter-gtk-1.0: Update to 1.4.2
+
+       clutter-1.0: Update to 1.13.2
+
+       gstreamer-1.0: Update to 1.0.4
+
+2012-12-20  Rico Tzschichholz  <ricotz@t-online.de>
+
+       x11: add some contansts and mark some enums as flags
+
+2012-12-17  Jürg Billeter  <j@bitron.ch>
+
+       gtk+-3.0: Update to 3.6.2
+
+2012-12-16  Rico Tzschichholz  <ricotz@t-online.de>
+
+       pixman-1: multiple fixes, mainly for Pixman.Image
+
+2012-12-16  Evan Nemerson  <evan@coeus-group.com>
+
+       gdk-3.0: do not implicitly pass array length to property_change
+       Fixes bug 689286.
+
+       libxml-2.0:  fix Html.Doc.new_no_dtd cname
+       Fixes bug 689368.
+
+2012-12-16  Rico Tzschichholz  <ricotz@t-online.de>
+
+       gobject-2.0: Update and fix some enums which are actually flags
+
+2012-12-06  Luca Bruno  <lucabru@src.gnome.org>
+
+       gstreamer-interfaces-0.10: Fix cheader_filename of StreamVolume
+       Based on patch by Reiner Merk.
+
+       Fixes bug 689541.
+
+2012-12-02  Luca Bruno  <lucabru@src.gnome.org>
+
+       resolver: Accept children of DeleteStatement
+       Fixes bug 689464.
+
+2012-12-02  Jan Dvořák  <mordae@anilinux.org>
+
+       linux: Make If* enums public
+       Fixes bug 689466.
+
+2012-12-02  Evan Nemerson  <evan@coeus-group.com>
+
+       atk: update bindings to account for changes made in atk
+
+2012-12-01  Evan Nemerson  <evan@coeus-group.com>
+
+       glib-2.0: make MainContext.ref_thread_default return value owned
+
+2012-11-29  Luca Bruno  <lucabru@src.gnome.org>
+
+       Document --api-version in the man page
+
+2012-11-29  Jürg Billeter  <j@bitron.ch>
+
+       Add --api-version option
+
+2012-11-29  Luca Bruno  <lucabru@src.gnome.org>
+
+       libgsf-1: Use uint8[] for InputMemory creation methods
+       Based on patch by Hodong Kim.
+
+       Fixes bug 689026.
+
+2012-11-28  Luca Bruno  <lucabru@src.gnome.org>
+
+       codegen: Fix passing nullable structs to non-nullable parameters
+       Fixes bug 685177.
+
+2012-11-25  Daiki Ueno  <ueno@unixuser.org>
+
+       atspi-2: Add new bindings
+       Fixes bug 688442.
+
+       libxklavier: Add new bindings
+       Fixes bug 688358.
+
+2012-11-25  Luca Bruno  <lucabru@src.gnome.org>
+
+       gstreamer-0.10: Fix Element.request_pad
+       Based on patch by Marcin Lewandowski.
+
+       Fixes bug 682208.
+
+2012-11-25  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
+
+       gstreamer-1.0: Mark argv as unowned in Gst.init_check()
+       Fixes bug 689003.
+
+2012-11-22  Luca Bruno  <lucabru@src.gnome.org>
+
+       libgsf-1: Fix type_id to match the unusual libgsf convention
+       Fixes bug 688851.
+
+2012-11-21  Luca Bruno  <lucabru@src.gnome.org>
+
+       gio-2.0: Add throws to DBusProxy.new and .create_for_bus
+       Fixes bug 688815.
+
+2012-11-21  Evan Nemerson  <evan@coeus-group.com>
+
+       glib-2.0: set GLib.GenericArray GIR name to PtrArray.
+
+       girwriter: write GArray and GPtrArray to GIRs as arrays.
+
+2012-11-20  Thomas Wood  <thomas.wood@intel.com>
+
+       glib-2.0: remove GLib.DateTime.add_milliseconds
+       This function was removed before glib 2.26 was released.
+
+       https://bugzilla.gnome.org/show_bug.cgi?id=688712
+
+2012-11-19  Luca Bruno  <lucabru@src.gnome.org>
+
+       Support scope = "async" on parameters.
+       This flag is still useful on delegates such as ThreadFunc that are
+       always scope = "async" by default. The flag on the parameter will
+       override the flag has been set on the delegate.
+
+       libgsf-1: No array length for Infile.child_by_aname.names
+       Fixes bug 688556.
+
+2012-11-15  Rico Tzschichholz  <ricotz@t-online.de>
+
+       gstreamer-1.0: update deps accordingly
+
+2012-11-15  Evan Nemerson  <evan@coeus-group.com>
+
+       gio-2.0: assorted minor fixes
+
+2012-11-14  Jürg Billeter  <j@bitron.ch>
+
+       gstreamer-1.0: Update to 1.0.2
+
+       gtk+-3.0: Fix gtk_css_provider_get_named binding
+       Fixes bug 688292.
+
+       Reported-by: Pascal Garber <jumplink@gmail.com>
+
 2012-11-13  Jürg Billeter  <j@bitron.ch>
 
-       Release 0.18.1
+       Fix source reference of switch sections
+
+2012-11-11  Jürg Billeter  <j@bitron.ch>
 
        gtk+-3.0: Fix gtk_grid_attach_next_to binding
        Fixes bug 682477.
        codegen: Fix g_simple_async_result_new in interface methods
        Fixes bug 684557.
 
+2012-11-11  Sebastian Pölsterl  <sebp@k-d-w.org>
+
+       Added gstreamer-rtsp-server-1.0 bindings
+       Fixes bug 687039.
+
+2012-11-11  Jürg Billeter  <j@bitron.ch>
+
        linux: Fix uinput_user_dev binding
        Based on patch by Pascal Garber.
 
        Fixes bug 687602.
 
-2012-11-13  Andreas Fenkart  <andreas.fenkart@streamunlimited.com>
+2012-11-11  Andreas Fenkart  <andreas.fenkart@streamunlimited.com>
 
        gstreamer-0.10: removed static from transition_next/current.
        Fixes bug 687807.
 
-2012-11-13  Robert Ancell  <robert.ancell@canonical.com>
+2012-11-11  Robert Ancell  <robert.ancell@canonical.com>
 
        posix: Add nl_langinfo
        Fixes 685039.
 
-2012-11-13  Simon Werbeck  <simon.werbeck@gmail.com>
+2012-11-11  Simon Werbeck  <simon.werbeck@gmail.com>
 
        Forbid `resize' method for multi-dimensional array
        Fixes bug 687943.
        gtk+-3.0: Add gtk_widget_has_grab binding
        Reported-by: Hans Baier <hansfbaier@googlemail.com>
 
+2012-11-10  Jürg Billeter  <j@bitron.ch>
+
        codegen: Retain array length for cast from/to generic array
        Fixes bug 687728.
 
-2012-11-11  Arnel A. Borja  <kyoushuu@yahoo.com>
+2012-11-03  Arnel A. Borja  <kyoushuu@yahoo.com>
 
        Fix build for Windows
        - Replace POSIX calls for spawning process with functions from Windows
 
        Fixes bug 685180.
 
-2012-11-11  Evan Nemerson  <evan@coeus-group.com>
+2012-11-03  Evan Nemerson  <evan@coeus-group.com>
 
        glib-2.0: add float.ROUNDS and RADIX
 
+2012-11-01  Evan Nemerson  <evan@coeus-group.com>
+
        glib-2.0: add Process.check_exit_status binding
 
-2012-11-11  Dmitry Vagin  <dmitry2004@yandex.ru>
+2012-10-24  Dmitry Vagin  <dmitry2004@yandex.ru>
 
        posix: mark inet_ntop as nullable
        Fixes bug 678988.
 
-2012-11-11  Evan Nemerson  <evan@coeus-group.com>
+2012-10-24  Evan Nemerson  <evan@coeus-group.com>
+
+       atk: fix Util.add_global_event_listener callback type
+       Fixes bug 685552.
+
+2012-10-23  Evan Nemerson  <evan@coeus-group.com>
 
        gtk+-2.0, gtk+-3.0: assorted minor fixes
 
+2012-10-22  Evan Nemerson  <evan@coeus-group.com>
+
        gtk+-3.0: fix nullability of ColorChooserDialog constructor arguments
 
        gtk+-2.0, gtk+-3.0: make RadioButton radio_group_member args nullable
 
-2012-11-11  Rico Tzschichholz  <ricotz@t-online.de>
+2012-10-21  Evan Nemerson  <evan@coeus-group.com>
+
+       clutter-1.0: remove "out" from several caller-allocates parameters
+
+2012-10-20  Rico Tzschichholz  <ricotz@t-online.de>
 
        tests: Add D-Bus test for dictionary passing
 
-2012-11-11  Evan Nemerson  <evan@coeus-group.com>
+2012-10-20  Evan Nemerson  <evan@coeus-group.com>
 
        gtk+-2.0, gtk+-3.0: improvements for Gtk.ScaleButton constructor args
 
-2012-11-11  Jürg Billeter  <j@bitron.ch>
+2012-10-20  Jürg Billeter  <j@bitron.ch>
 
        codegen: Fix fields initialized by functions returning an array
        Fixes bug 686336.
 
-2012-11-11  Evan Nemerson  <evan@coeus-group.com>
+2012-10-20  Evan Nemerson  <evan@coeus-group.com>
 
        gkt+-2.0, gtk+-3.0: fix Gtk.HSV.get_* arguments
 
-2012-11-11  Jürg Billeter  <j@bitron.ch>
+2012-10-19  Jürg Billeter  <j@bitron.ch>
 
        GDBus: Initialize array length variable in property get wrappers
        This fixes a gcc warning when building with -O3.
 
        Fixes bug 686123.
 
-2012-11-11  Evan Nemerson  <evan@coeus-group.com>
+2012-10-19  Evan Nemerson  <evan@coeus-group.com>
 
        gtk+-3.0: mark Gtk.FontChooserDialog construtor arguments as nullable
 
-2012-11-11  Jürg Billeter  <j@bitron.ch>
+2012-10-19  Jürg Billeter  <j@bitron.ch>
+
+       codegen: Do not call g_type_init when targeting GLib >= 2.36
+       Fixes bug 686222.
 
        codegen: Do not call g_thread_init when targeting GLib >= 2.32
 
-2012-11-11  Evan Nemerson  <evan@coeus-group.com>
+2012-10-19  Evan Nemerson  <evan@coeus-group.com>
+
+       gtk+-2.0, gtk+-3.0: fix FileChooserButton.with_dialog argument type
+
+2012-10-18  Evan Nemerson  <evan@coeus-group.com>
+
+       gtk+-2.0, gtk+-3.0: the parameter passed to Gtk.init can be null
+
+2012-10-16  Evan Nemerson  <evan@coeus-group.com>
 
        glib-2.0: use g_async_queue_new_full instead of g_async_queue_new
 
        glib-2.0: mark envp parameters in GLib.Environ methods as nullable
 
+       glib-2.0: add generic type arguments to PtrArray sort callbacks
+
+2012-10-11  Evan Nemerson  <evan@coeus-group.com>
+
        glib-2.0: add missing parameters to Test.rand_double_range
 
+2012-10-10  Evan Nemerson  <evan@coeus-group.com>
+
+       vapigen: support GIRDIRS variable in Makefile.vapigen
+
+2012-10-09  Evan Nemerson  <evan@coeus-group.com>
+
+       gstreamer-0.10: add GIR namespace and version info
+
+       glib-2.0: generic-related improvements to Tree
+
+2012-10-09  Rico Tzschichholz  <ricotz@t-online.de>
+
+       gstreamer-1.0: update to 1.0.1
+
+2012-10-09  Evan Nemerson  <evan@coeus-group.com>
+
        libxml-2.0: add has_type_id = false to all enums
 
+2012-10-04  Jürg Billeter  <j@bitron.ch>
+
+       Bump version suffix
+
 2012-10-03  Jürg Billeter  <j@bitron.ch>
 
        gtk+-3.0: Fix gtk_application_inhibit binding
index 82172f2..cb2e6e8 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -50,17 +50,18 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/config.h.in \
-       $(srcdir)/libvala.pc.in $(top_srcdir)/build-aux/compile \
+DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
+       $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/configure $(am__configure_deps) \
+       $(srcdir)/config.h.in $(srcdir)/libvala.pc.in COPYING THANKS \
+       build-aux/compile build-aux/config.guess build-aux/config.sub \
+       build-aux/install-sh build-aux/missing build-aux/ltmain.sh \
+       $(top_srcdir)/build-aux/compile \
        $(top_srcdir)/build-aux/config.guess \
        $(top_srcdir)/build-aux/config.sub \
        $(top_srcdir)/build-aux/install-sh \
        $(top_srcdir)/build-aux/ltmain.sh \
-       $(top_srcdir)/build-aux/missing $(top_srcdir)/configure \
-       AUTHORS COPYING ChangeLog INSTALL NEWS THANKS \
-       build-aux/compile build-aux/config.guess build-aux/config.sub \
-       build-aux/install-sh build-aux/ltmain.sh build-aux/missing
+       $(top_srcdir)/build-aux/missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
        $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,13 +89,14 @@ am__v_at_0 = @
 am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -132,9 +134,30 @@ am__installdirs = "$(DESTDIR)$(aclocaldir)" \
 DATA = $(aclocal_DATA) $(pkgconfig_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
        cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+       $(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
@@ -485,7 +508,7 @@ uninstall-pkgconfigDATA:
 # (1) if the variable is set in 'config.status', edit 'config.status'
 #     (which will cause the Makefiles to be regenerated when you run 'make');
 # (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
+$(am__recursive_targets):
        @fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -513,31 +536,13 @@ $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
        if test "$$dot_seen" = "no"; then \
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-cscopelist-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
-       done
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -553,12 +558,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -570,15 +570,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -587,18 +583,16 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
-
 cscope: cscope.files
        test ! -s cscope.files \
          || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-
 clean-cscope:
        -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
 
-cscope.files: clean-cscope cscopelist-recursive cscopelist
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -734,9 +728,9 @@ distcheck: dist
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
-       chmod -R a-w $(distdir); chmod u+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
+       chmod -R a-w $(distdir)
+       chmod u+w $(distdir)
+       mkdir $(distdir)/_build $(distdir)/_inst
        chmod a-w $(distdir)
        test -d $(distdir)/_build || exit 0; \
        dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
@@ -911,28 +905,26 @@ ps-am:
 
 uninstall-am: uninstall-aclocalDATA uninstall-pkgconfigDATA
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       cscopelist-recursive ctags-recursive install install-am \
-       install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-cscope \
-       clean-generic clean-libtool cscope cscopelist \
-       cscopelist-recursive ctags ctags-recursive dist dist-all \
-       dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar dist-tarZ \
-       dist-xz dist-zip distcheck distclean distclean-generic \
-       distclean-hdr distclean-libtool distclean-tags distcleancheck \
-       distdir distuninstallcheck dvi dvi-am html html-am info \
-       info-am install install-aclocalDATA install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-pkgconfigDATA install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs installdirs-am \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags tags-recursive uninstall uninstall-aclocalDATA \
-       uninstall-am uninstall-pkgconfigDATA
+.MAKE: $(am__recursive_targets) all check install install-am \
+       install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+       am--refresh check check-am clean clean-cscope clean-generic \
+       clean-libtool cscope cscopelist-am ctags ctags-am dist \
+       dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
+       dist-tarZ dist-xz dist-zip distcheck distclean \
+       distclean-generic distclean-hdr distclean-libtool \
+       distclean-tags distcleancheck distdir distuninstallcheck dvi \
+       dvi-am html html-am info info-am install install-aclocalDATA \
+       install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-pkgconfigDATA install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs installdirs-am maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+       uninstall-aclocalDATA uninstall-am uninstall-pkgconfigDATA
 
 
 libvala@PACKAGE_SUFFIX@.pc: libvala.pc
diff --git a/NEWS b/NEWS
index a50b480..8ea2528 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,10 @@
-Vala 0.18.1
+Vala 0.19.0
 ===========
 
+ * Support scope = "async" attribute for parameters.
+ * Add --api-version option.
+ * Add atspi-2 bindings.
+ * Add gstreamer-rtsp-server-1.0 bindings.
  * Bug fixes and binding updates.
 
 Vala 0.18.0
index 74d50a9..43efbaf 100644 (file)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.12.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.13.1 -*- Autoconf -*-
 
 # Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
@@ -11,6 +11,7 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
@@ -179,24 +180,62 @@ else
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+
+# PKG_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable pkgconfigdir as the location where a module
+# should install pkg-config .pc files. By default the directory is
+# $libdir/pkgconfig, but the default can be changed by passing
+# DIRECTORY. The user can override through the --with-pkgconfigdir
+# parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+    [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_INSTALLDIR
+
+
+# PKG_NOARCH_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable noarch_pkgconfigdir as the location where a
+# module should install arch-independent pkg-config .pc files. By
+# default the directory is $datadir/pkgconfig, but the default can be
+# changed by passing DIRECTORY. The user can override through the
+# --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+    [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_NOARCH_INSTALLDIR
+
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 8
-
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.12'
+[am__api_version='1.13'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.12.2], [],
+m4_if([$1], [1.13.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -212,21 +251,19 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12.2])dnl
+[AM_AUTOMAKE_VERSION([1.13.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
 # '$srcdir', '$srcdir/..', or '$srcdir/../..'.
@@ -274,14 +311,12 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 10
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
@@ -307,13 +342,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 17
 
 # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -499,19 +533,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 [{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -576,14 +609,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 19
-
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
@@ -599,7 +630,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -629,8 +660,7 @@ AC_SUBST([CYGPATH_W])
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
 [AC_DIAGNOSE([obsolete],
-[$0: two- and three-arguments forms are deprecated.  For more info, see:
-http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
+             [$0: two- and three-arguments forms are deprecated.])
 m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
@@ -684,18 +714,15 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
                  [_AM_DEPENDENCIES([OBJC])],
                  [m4_define([AC_PROG_OBJC],
                             m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-dnl Support for Objective C++ was only introduced in Autoconf 2.65,
-dnl but we still cater to Autoconf 2.62.
-m4_ifdef([AC_PROG_OBJCXX],
-[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
                  [_AM_DEPENDENCIES([OBJCXX])],
                  [m4_define([AC_PROG_OBJCXX],
-                            m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
+                            m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
 ])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
@@ -729,14 +756,12 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 8
-
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
@@ -752,14 +777,12 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -776,14 +799,12 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 7
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
@@ -811,18 +832,14 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAKE_INCLUDE()
 # -----------------
 # Check to see how make treats includes.
@@ -865,14 +882,12 @@ AC_MSG_RESULT([$_am_result])
 rm -f confinc confmf
 ])
 
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # AM_PROG_CC_C_O
 # --------------
 # Like AC_PROG_CC_C_O, but changed for automake.
@@ -901,14 +916,12 @@ m4_define([AC_PROG_CC],
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 7
-
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 AC_DEFUN([AM_MISSING_PROG],
@@ -916,11 +929,10 @@ AC_DEFUN([AM_MISSING_PROG],
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
-
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
@@ -933,8 +945,8 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
   AC_MSG_WARN(['missing' script is too old or missing])
@@ -943,14 +955,12 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
 AC_DEFUN([_AM_MANGLE_OPTION],
@@ -976,14 +986,12 @@ AC_DEFUN([_AM_IF_OPTION],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
@@ -1059,14 +1067,12 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2012 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
-
 # AM_SILENT_RULES([DEFAULT])
 # --------------------------
 # Enable less verbose build rules; with the default set to DEFAULT
@@ -1121,14 +1127,12 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # AM_PROG_INSTALL_STRIP
 # ---------------------
 # One issue with vendor 'install' (even GNU) is that you can't
@@ -1151,14 +1155,12 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2012 Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -1172,14 +1174,12 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
-
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
index 7b4a9a7..531136b 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2012-03-05.13; # UTC
+scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -112,6 +112,11 @@ func_cl_dashl ()
       lib=$dir/$lib.lib
       break
     fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
   done
   IFS=$save_IFS
 
index c0adba9..1804e9f 100755 (executable)
@@ -2,13 +2,13 @@
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   2011, 2012, 2013 Free Software Foundation, Inc.
 
-timestamp='2012-06-10'
+timestamp='2012-12-29'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -22,19 +22,17 @@ timestamp='2012-06-10'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner.  Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 #
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
+# Originally written by Per Bothner. 
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
@@ -55,8 +53,8 @@ GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+2012, 2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -200,6 +198,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
        exit ;;
+    *:Bitrig:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+       exit ;;
     *:OpenBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
        echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -302,7 +304,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
        exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
        echo arm-unknown-riscos
        exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -801,6 +803,9 @@ EOF
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
        exit ;;
+    *:MINGW64*:*)
+       echo ${UNAME_MACHINE}-pc-mingw64
+       exit ;;
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
@@ -1201,6 +1206,9 @@ EOF
     BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
        echo i586-pc-haiku
        exit ;;
+    x86_64:Haiku:*:*)
+       echo x86_64-unknown-haiku
+       exit ;;
     SX-4:SUPER-UX:*:*)
        echo sx4-nec-superux${UNAME_RELEASE}
        exit ;;
@@ -1330,9 +1338,6 @@ EOF
        exit ;;
 esac
 
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
 eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
index 6205f84..802a224 100755 (executable)
@@ -2,23 +2,19 @@
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   2011, 2012, 2013 Free Software Foundation, Inc.
 
-timestamp='2012-04-18'
+timestamp='2012-12-29'
 
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
@@ -26,11 +22,12 @@ timestamp='2012-04-18'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -74,8 +71,8 @@ version="\
 GNU config.sub ($timestamp)
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+2012, 2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,7 +120,7 @@ esac
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
@@ -156,7 +153,7 @@ case $os in
        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray | -microblaze)
+       -apple | -axis | -knuth | -cray | -microblaze*)
                os=
                basic_machine=$1
                ;;
@@ -259,8 +256,10 @@ case $basic_machine in
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-        | be32 | be64 \
+       | arc \
+       | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+       | avr | avr32 \
+       | be32 | be64 \
        | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
@@ -273,7 +272,7 @@ case $basic_machine in
        | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep | metag \
+       | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -389,7 +388,8 @@ case $basic_machine in
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+       | microblaze-* | microblazeel-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
        | mips16-* \
        | mips64-* | mips64el-* \
@@ -788,9 +788,13 @@ case $basic_machine in
                basic_machine=ns32k-utek
                os=-sysv
                ;;
-       microblaze)
+       microblaze*)
                basic_machine=microblaze-xilinx
                ;;
+       mingw64)
+               basic_machine=x86_64-pc
+               os=-mingw64
+               ;;
        mingw32)
                basic_machine=i386-pc
                os=-mingw32
@@ -1019,7 +1023,11 @@ case $basic_machine in
                basic_machine=i586-unknown
                os=-pw32
                ;;
-       rdos)
+       rdos | rdos64)
+               basic_machine=x86_64-pc
+               os=-rdos
+               ;;
+       rdos32)
                basic_machine=i386-pc
                os=-rdos
                ;;
@@ -1352,15 +1360,15 @@ case $os in
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -openbsd* | -solidbsd* \
+             | -bitrig* | -openbsd* | -solidbsd* \
              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* | -cegcc* \
              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-android* \
-             | -linux-newlib* | -linux-uclibc* \
+             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+             | -linux-newlib* | -linux-musl* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
index debb6ff..06b0882 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2012-03-27.16; # UTC
+scriptversion=2012-10-18.11; # UTC
 
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,9 +27,9 @@ scriptversion=2012-03-27.16; # UTC
 
 case $1 in
   '')
-     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
+    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+    exit 1;
+    ;;
   -h | --h*)
     cat <<\EOF
 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -56,11 +56,65 @@ EOF
     ;;
 esac
 
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'.  Note that this directory component will
+# be either empty or ending with a '/' character.  This is deliberate.
+set_dir_from ()
+{
+  case $1 in
+    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+      *) dir=;;
+  esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+  echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+  # If the compiler actually managed to produce a dependency file,
+  # post-process it.
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependency.h'.
+    # Do two passes, one to just change these to
+    #   $object: dependency.h
+    # and one to simply output
+    #   dependency.h:
+    # which is needed to avoid the deleted-header problem.
+    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+    } > "$depfile"
+    rm -f "$tmpdepfile"
+  else
+    make_dummy_depfile
+  fi
+}
+
 # A tabulation character.
 tab='  '
 # A newline character.
 nl='
 '
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
 
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
@@ -74,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 
 rm -f "$tmpdepfile"
 
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
 # Some modes work just like other modes, but use different flags.  We
 # parameterize here, but still list the modes in the big case below,
 # to make depend.m4 easier to write.  Note that we *cannot* use a case
@@ -85,32 +142,32 @@ if test "$depmode" = hp; then
 fi
 
 if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
+  # This is just like dashmstdout with a different argument.
+  dashmflag=-xM
+  depmode=dashmstdout
 fi
 
 cygpath_u="cygpath -u -f -"
 if test "$depmode" = msvcmsys; then
-   # This is just like msvisualcpp but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvisualcpp
+  # This is just like msvisualcpp but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvisualcpp
 fi
 
 if test "$depmode" = msvc7msys; then
-   # This is just like msvc7 but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvc7
+  # This is just like msvc7 but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvc7
 fi
 
 if test "$depmode" = xlc; then
-   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
-   gccflag=-qmakedep=gcc,-MF
-   depmode=gcc
+  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+  gccflag=-qmakedep=gcc,-MF
+  depmode=gcc
 fi
 
 case "$depmode" in
@@ -133,8 +190,7 @@ gcc3)
   done
   "$@"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -142,13 +198,17 @@ gcc3)
   ;;
 
 gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
 ## There are various ways to get dependency output from gcc.  Here's
 ## why we pick this rather obscure method:
 ## - Don't want to use -MD because we'd like the dependencies to end
 ##   up in a subdir.  Having to rename by hand is ugly.
 ##   (We might end up doing this anyway to support other compilers.)
 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
+##   -MM, not -M (despite what the docs say).  Also, it might not be
+##   supported by the other compilers which use the 'gcc' depmode.
 ## - Using -M directly means running the compiler twice (even worse
 ##   than renaming).
   if test -z "$gccflag"; then
@@ -156,15 +216,14 @@ gcc)
   fi
   "$@" -Wp,"$gccflag$tmpdepfile"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+  # The second -e expression handles DOS-style file names with drive
+  # letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
 ## This next piece of magic avoids the "deleted header file" problem.
@@ -173,15 +232,15 @@ gcc)
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' "$nl" < "$tmpdepfile" |
 ## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
 ## well.  hp depmode also adds that space, but also prefixes the VPATH
 ## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
-      | sed -e 's/$/ :/' >> "$depfile"
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -199,8 +258,7 @@ sgi)
     "$@" -MDupdate "$tmpdepfile"
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -208,7 +266,6 @@ sgi)
 
   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
     echo "$object : \\" > "$depfile"
-
     # Clip off the initial element (the dependent).  Don't try to be
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
@@ -216,19 +273,15 @@ sgi)
     # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
     tr ' ' "$nl" < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr "$nl" ' ' >> "$depfile"
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+      | tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
-
     # The second pass generates a dummy entry for each header file.
     tr ' ' "$nl" < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> "$depfile"
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+      >> "$depfile"
   else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile"
   ;;
@@ -246,9 +299,8 @@ aix)
   # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.u
     tmpdepfile2=$base.u
@@ -261,9 +313,7 @@ aix)
     "$@" -M
   fi
   stat=$?
-
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     exit $stat
   fi
@@ -272,65 +322,113 @@ aix)
   do
     test -f "$tmpdepfile" && break
   done
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form 'foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # '$object: dependent.h' and one to simply 'dependent.h:'.
-    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
+  aix_post_process_depfile
+  ;;
+
+tcc)
+  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+  # FIXME: That version still under development at the moment of writing.
+  #        Make that this statement remains true also for stable, released
+  #        versions.
+  # It will wrap lines (doesn't matter whether long or short) with a
+  # trailing '\', as in:
+  #
+  #   foo.o : \
+  #    foo.c \
+  #    foo.h \
+  #
+  # It will put a trailing '\' even on the last line, and will use leading
+  # spaces rather than leading tabs (at least since its commit 0394caf7
+  # "Emit spaces for -MD").
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
   fi
+  rm -f "$depfile"
+  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+  # We have to change lines of the first kind to '$object: \'.
+  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+  # And for each line of the second kind, we have to emit a 'dep.h:'
+  # dummy dependency, to avoid the deleted-header problem.
+  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
-icc)
-  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
-  # However on
-  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file.  A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+  # Portland's C compiler understands '-MD'.
+  # Will always output deps to 'file.d' where file is the root name of the
+  # source file under compilation, even if file resides in a subdirectory.
+  # The object file name does not affect the name of the '.d' file.
+  # pgcc 10.2 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using '\':
+  # and will wrap long lines using '\' :
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
-  # tcc 0.9.26 (FIXME still under development at the moment of writing)
-  # will emit a similar output, but also prepend the continuation lines
-  # with horizontal tabulation characters.
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
+  set_dir_from "$object"
+  # Use the source, not the object, to determine the base name, since
+  # that's sadly what pgcc will do too.
+  set_base_from "$source"
+  tmpdepfile=$base.d
+
+  # For projects that build the same source file twice into different object
+  # files, the pgcc approach of using the *source* file root name can cause
+  # problems in parallel builds.  Use a locking strategy to avoid stomping on
+  # the same $tmpdepfile.
+  lockdir=$base.d-lock
+  trap "
+    echo '$0: caught signal, cleaning up...' >&2
+    rmdir '$lockdir'
+    exit 1
+  " 1 2 13 15
+  numtries=100
+  i=$numtries
+  while test $i -gt 0; do
+    # mkdir is a portable test-and-set.
+    if mkdir "$lockdir" 2>/dev/null; then
+      # This process acquired the lock.
+      "$@" -MD
+      stat=$?
+      # Release the lock.
+      rmdir "$lockdir"
+      break
+    else
+      # If the lock is being held by a different process, wait
+      # until the winning process is done or we timeout.
+      while test -d "$lockdir" && test $i -gt 0; do
+        sleep 1
+        i=`expr $i - 1`
+      done
+    fi
+    i=`expr $i - 1`
+  done
+  trap - 1 2 13 15
+  if test $i -le 0; then
+    echo "$0: failed to acquire lock after $numtries attempts" >&2
+    echo "$0: check lockdir '$lockdir'" >&2
+    exit 1
+  fi
+
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form 'foo.o: dependent.h',
-  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
   # Do two passes, one to just change these to
-  # '$object: dependent.h' and one to simply 'dependent.h:'.
-  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
-    < "$tmpdepfile" > "$depfile"
-  sed '
-    s/[ '"$tab"'][ '"$tab"']*/ /g
-    s/^ *//
-    s/ *\\*$//
-    s/^[^:]*: *//
-    /^$/d
-    /:$/d
-    s/$/ :/
-  ' < "$tmpdepfile" >> "$depfile"
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -341,9 +439,8 @@ hp2)
   # 'foo.d', which lands next to the object file, wherever that
   # happens to be.
   # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from  "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.d
     tmpdepfile2=$dir.libs/$base.d
@@ -354,8 +451,7 @@ hp2)
     "$@" +Maked
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
      rm -f "$tmpdepfile1" "$tmpdepfile2"
      exit $stat
   fi
@@ -365,76 +461,61 @@ hp2)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
     # Add 'dependent.h:' lines.
     sed -ne '2,${
-              s/^ *//
-              s/ \\*$//
-              s/$/:/
-              p
-            }' "$tmpdepfile" >> "$depfile"
+               s/^ *//
+               s/ \\*$//
+               s/$/:/
+               p
+             }' "$tmpdepfile" >> "$depfile"
   else
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile" "$tmpdepfile2"
   ;;
 
 tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in 'foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
+  # The Tru64 compiler uses -MD to generate dependencies as a side
+  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+  # dependencies in 'foo.d' instead, so we check for that too.
+  # Subdirectories are respected.
+  set_dir_from  "$object"
+  set_base_from "$object"
+
+  if test "$libtool" = yes; then
+    # Libtool generates 2 separate objects for the 2 libraries.  These
+    # two compilations output dependencies in $dir.libs/$base.o.d and
+    # in $dir$base.o.d.  We have to check for both files, because
+    # one of the two compilations can be disabled.  We should prefer
+    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+    # automatically cleaned when .libs/ is deleted, while ignoring
+    # the former would cause a distcleancheck panic.
+    tmpdepfile1=$dir$base.o.d          # libtool 1.5
+    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
+    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
+    "$@" -Wc,-MD
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    tmpdepfile3=$dir$base.d
+    "$@" -MD
+  fi
+
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  # Same post-processing that is required for AIX mode.
+  aix_post_process_depfile
+  ;;
 
 msvc7)
   if test "$libtool" = yes; then
@@ -445,8 +526,7 @@ msvc7)
   "$@" $showIncludes > "$tmpdepfile"
   stat=$?
   grep -v '^Note: including file: ' "$tmpdepfile"
-  if test "$stat" = 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -523,13 +603,14 @@ dashmstdout)
   # in the target name.  This is to cope with DOS-style filenames:
   # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' "$nl" < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this sed invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -582,10 +663,12 @@ makedepend)
   # makedepend may prepend the VPATH from the source file name to the object.
   # No need to regex-escape $object, excess matching of '.' is harmless.
   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process the last invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed '1,2d' "$tmpdepfile" \
+    | tr ' ' "$nl" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile" "$tmpdepfile".bak
   ;;
 
@@ -621,10 +704,10 @@ cpp)
     esac
   done
 
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
+  "$@" -E \
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+    sed '$ s: \\$::' > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
   cat < "$tmpdepfile" >> "$depfile"
@@ -656,15 +739,15 @@ msvisualcpp)
       shift
       ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-       set fnord "$@"
-       shift
-       shift
-       ;;
+        set fnord "$@"
+        shift
+        shift
+        ;;
     *)
-       set fnord "$@" "$arg"
-       shift
-       shift
-       ;;
+        set fnord "$@" "$arg"
+        shift
+        shift
+        ;;
     esac
   done
   "$@" -E 2>/dev/null |
index 9a55648..cdea514 100755 (executable)
@@ -1,10 +1,10 @@
 #! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2012-01-06.18; # UTC
+scriptversion=2012-06-26.16; # UTC
 
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,61 +29,33 @@ if test $# -eq 0; then
   exit 1
 fi
 
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, 'missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
+case $1 in
 
-msg="missing on your system"
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
 
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
 
   -h|--h|--he|--hel|--help)
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
 
 Options:
   -h, --help      display this help and exit
   -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file 'aclocal.m4'
-  autoconf     touch file 'configure'
-  autoheader   touch file 'config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all 'Makefile.in' files
-  bison        create 'y.tab.[ch]', if possible, from existing .[ch]
-  flex         create 'lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create 'lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  yacc         create 'y.tab.[ch]', if possible, from existing .[ch]
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
 
 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
 'g' are ignored when checking the name.
@@ -98,228 +70,141 @@ Send bug reports to <bug-automake@gnu.org>."
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown '$1' option"
+    echo 1>&2 "$0: unknown '$1' option"
     echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
 esac
 
-# normalize program name to check for.
-program=`echo "$1" | sed '
-  s/^gnu-//; t
-  s/^gnu//; t
-  s/^g//; t'`
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).  This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
-  lex*|yacc*)
-    # Not GNU programs, they don't have --version.
-    ;;
-
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running '$TOOL --version' or '$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified 'acinclude.m4' or '${configure_ac}'.  You might want
-         to install the Automake and Perl packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified '${configure_ac}'.  You might want to install the
-         Autoconf and GNU m4 packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified 'acconfig.h' or '${configure_ac}'.  You might want
-         to install the Autoconf and GNU m4 packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
-         You might want to install the Automake and Perl packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-          sed 's/\.am$/.in/' |
-          while read f; do touch "$f"; done
-    ;;
-
-  autom4te*)
-    echo 1>&2 "\
-WARNING: '$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get '$1' as part of Autoconf from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo "#! /bin/sh"
-       echo "# Created by GNU Automake missing as a replacement of"
-       echo "#  $ $@"
-       echo "exit 0"
-       chmod +x $file
-       exit 1
-    fi
-    ;;
-
-  bison*|yacc*)
-    echo 1>&2 "\
-WARNING: '$1' $msg.  You should only need it if
-         you modified a '.y' file.  You may need the Bison package
-         in order for those modifications to take effect.  You can get
-         Bison from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.y)
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.c
-           fi
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.h
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f y.tab.h; then
-       echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-       echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex*|flex*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified a '.l' file.  You may need the Flex package
-         in order for those modifications to take effect.  You can get
-         Flex from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.l)
-           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" lex.yy.c
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f lex.yy.c; then
-       echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-        you modified a dependency of a manual page.  You may need the
-        Help2man package in order for those modifications to take
-        effect.  You can get Help2man from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo ".ab help2man is required to generate this page"
-       exit $?
-    fi
-    ;;
-
-  makeinfo*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified a '.texi' or '.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy 'make' (AIX,
-         DU, IRIX).  You might want to install the Texinfo package or
-         the GNU make package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-       /^@setfilename/{
-         s/.* \([^ ]*\) *$/\1/
-         p
-         q
-       }' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
 
-  *)
-    echo 1>&2 "\
-WARNING: '$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the 'README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing '$1' program."
-    exit 1
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'automa4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
     ;;
-esac
-
-exit 0
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/build-aux/test-driver b/build-aux/test-driver
new file mode 100755 (executable)
index 0000000..32bf39e
--- /dev/null
@@ -0,0 +1,127 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2012-06-27.10; # UTC
+
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+# Make unconditional expansion of undefined variables an error.  This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+  echo "$0: $*" >&2
+  print_usage >&2
+  exit 2
+}
+
+print_usage ()
+{
+  cat <<END
+Usage:
+  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+              [--expect-failure={yes|no}] [--color-tests={yes|no}]
+              [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+# TODO: better error handling in option parsing (in particular, ensure
+# TODO: $log_file, $trs_file and $test_name are defined).
+test_name= # Used for reporting.
+log_file=  # Where to save the output of the test script.
+trs_file=  # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+  case $1 in
+  --help) print_usage; exit $?;;
+  --version) echo "test-driver $scriptversion"; exit $?;;
+  --test-name) test_name=$2; shift;;
+  --log-file) log_file=$2; shift;;
+  --trs-file) trs_file=$2; shift;;
+  --color-tests) color_tests=$2; shift;;
+  --expect-failure) expect_failure=$2; shift;;
+  --enable-hard-errors) enable_hard_errors=$2; shift;;
+  --) shift; break;;
+  -*) usage_error "invalid option: '$1'";;
+  esac
+  shift
+done
+
+if test $color_tests = yes; then
+  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+  red='\e[0;31m' # Red.
+  grn='\e[0;32m' # Green.
+  lgn='\e[1;32m' # Light green.
+  blu='\e[1;34m' # Blue.
+  mgn='\e[0;35m' # Magenta.
+  std='\e[m'     # No color.
+else
+  red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+  estatus=1
+fi
+
+case $estatus:$expect_failure in
+  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
+  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
+  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
+  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
+  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
+esac
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
index 6879d8d..1c4d776 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # ylwrap - wrapper for lex/yacc invocations.
 
-scriptversion=2011-08-25.18; # UTC
+scriptversion=2012-12-21.17; # UTC
 
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 #
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
@@ -29,6 +29,38 @@ scriptversion=2011-08-25.18; # UTC
 # bugs to <bug-automake@gnu.org> or send patches to
 # <automake-patches@gnu.org>.
 
+get_dirname ()
+{
+  case $1 in
+    */*|*\\*) printf '%s\n' "$1" | sed -e 's|\([\\/]\)[^\\/]*$|\1|';;
+    # Otherwise,  we want the empty string (not ".").
+  esac
+}
+
+# guard FILE
+# ----------
+# The CPP macro used to guard inclusion of FILE.
+guard()
+{
+  printf '%s\n' "$1"                                                    \
+    | sed                                                               \
+        -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'   \
+        -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'                        \
+        -e 's/__*/_/g'
+}
+
+# quote_for_sed [STRING]
+# ----------------------
+# Return STRING (or stdin) quoted to be used as a sed pattern.
+quote_for_sed ()
+{
+  case $# in
+    0) cat;;
+    1) printf '%s\n' "$1";;
+  esac \
+    | sed -e 's|[][\\.*]|\\&|g'
+}
+
 case "$1" in
   '')
     echo "$0: No files given.  Try '$0 --help' for more information." 1>&2
@@ -62,19 +94,6 @@ EOF
     ;;
 esac
 
-get_dirname ()
-{
-  case $1 in
-    */*|*\\*) printf '%s\n' "$1" | sed -e 's,\([\\/]\)[^\\/]*$,\1,';;
-    # Otherwise,  we want the empty string (not ".").
-  esac
-}
-
-quote_for_sed ()
-{
-  # FIXME: really we should care about more than '.' and '\'.
-  sed -e 's,[\\.],\\&,g'
-}
 
 # The input.
 input="$1"
@@ -90,15 +109,47 @@ case "$input" in
     input="`pwd`/$input"
     ;;
 esac
+input_rx=`get_dirname "$input" | quote_for_sed`
+
+# Since DOS filename conventions don't allow two dots,
+# the DOS version of Bison writes out y_tab.c instead of y.tab.c
+# and y_tab.h instead of y.tab.h. Test to see if this is the case.
+y_tab_nodot=false
+if test -f y_tab.c || test -f y_tab.h; then
+  y_tab_nodot=true
+fi
+
+# The parser itself, the first file, is the destination of the .y.c
+# rule in the Makefile.
+parser=$1
+
+# A sed program to s/FROM/TO/g for all the FROM/TO so that, for
+# instance, we rename #include "y.tab.h" into #include "parse.h"
+# during the conversion from y.tab.c to parse.c.
+sed_fix_filenames=
+
+# Also rename header guards, as Bison 2.7 for instance uses its header
+# guard in its implementation file.
+sed_fix_header_guards=
 
-pairlist=
 while test "$#" -ne 0; do
   if test "$1" = "--"; then
     shift
     break
   fi
-  pairlist="$pairlist $1"
+  from=$1
+  # Handle y_tab.c and y_tab.h output by DOS
+  if $y_tab_nodot; then
+    case $from in
+      "y.tab.c") from=y_tab.c;;
+      "y.tab.h") from=y_tab.h;;
+    esac
+  fi
+  shift
+  to=$1
   shift
+  sed_fix_filenames="${sed_fix_filenames}s|"`quote_for_sed "$from"`"|$to|g;"
+  sed_fix_header_guards="${sed_fix_header_guards}s|"`guard "$from"`"|"`guard "$to"`"|g;"
 done
 
 # The program to run.
@@ -129,90 +180,56 @@ esac
 ret=$?
 
 if test $ret -eq 0; then
-  set X $pairlist
-  shift
-  first=yes
-  # Since DOS filename conventions don't allow two dots,
-  # the DOS version of Bison writes out y_tab.c instead of y.tab.c
-  # and y_tab.h instead of y.tab.h. Test to see if this is the case.
-  y_tab_nodot="no"
-  if test -f y_tab.c || test -f y_tab.h; then
-    y_tab_nodot="yes"
-  fi
-
-  input_rx=`get_dirname "$input" | quote_for_sed`
-
-  while test "$#" -ne 0; do
-    from="$1"
-    # Handle y_tab.c and y_tab.h output by DOS
-    if test $y_tab_nodot = "yes"; then
-      if test $from = "y.tab.c"; then
-        from="y_tab.c"
-      else
-        if test $from = "y.tab.h"; then
-          from="y_tab.h"
-        fi
-      fi
-    fi
+  for from in *
+  do
+    to=`printf '%s\n' "$from" | sed "$sed_fix_filenames"`
     if test -f "$from"; then
       # If $2 is an absolute path name, then just use that,
       # otherwise prepend '../'.
-      case "$2" in
-        [\\/]* | ?:[\\/]*) target="$2";;
-        *) target="../$2";;
+      case $to in
+        [\\/]* | ?:[\\/]*) target=$to;;
+        *) target="../$to";;
       esac
 
-      # We do not want to overwrite a header file if it hasn't
-      # changed.  This avoid useless recompilations.  However the
-      # parser itself (the first file) should always be updated,
-      # because it is the destination of the .y.c rule in the
-      # Makefile.  Divert the output of all other files to a temporary
-      # file so we can compare them to existing versions.
-      if test $first = no; then
+      # Do not overwrite unchanged header files to avoid useless
+      # recompilations.  Always update the parser itself: it is the
+      # destination of the .y.c rule in the Makefile.  Divert the
+      # output of all other files to a temporary file so we can
+      # compare them to existing versions.
+      if test $from != $parser; then
         realtarget="$target"
-        target="tmp-`echo $target | sed s/.*[\\/]//g`"
+        target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'`
       fi
-      # Munge "#line" or "#" directives.
-      # We don't want the resulting debug information to point at
-      # an absolute srcdir.
-      # We want to use the real output file name, not yy.lex.c for
-      # instance.
-      # We want the include guards to be adjusted too.
-      FROM=`echo "$from" | sed \
-            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
-            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
-      TARGET=`echo "$2" | sed \
-            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
-            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
-
-      sed -e "/^#/!b" -e "s,$input_rx,$input_sub_rx," -e "s,$from,$2," \
-          -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$?
-
-      # Check whether header files must be updated.
-      if test $first = no; then
+
+      # Munge "#line" or "#" directives.  Don't let the resulting
+      # debug information point at an absolute srcdir.  Use the real
+      # output file name, not yy.lex.c for instance.  Adjust the
+      # include guards too.
+      sed -e "/^#/!b"                           \
+          -e "s|$input_rx|$input_sub_rx|"       \
+          -e "$sed_fix_filenames"               \
+          -e "$sed_fix_header_guards"           \
+        "$from" >"$target" || ret=$?
+
+      # Check whether files must be updated.
+      if test "$from" != "$parser"; then
         if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
-          echo "$2" is unchanged
+          echo "$to is unchanged"
           rm -f "$target"
         else
-          echo updating "$2"
+          echo "updating $to"
           mv -f "$target" "$realtarget"
         fi
       fi
     else
-      # A missing file is only an error for the first file.  This
-      # is a blatant hack to let us support using "yacc -d".  If -d
-      # is not specified, we don't want an error when the header
-      # file is "missing".
-      if test $first = yes; then
+      # A missing file is only an error for the parser.  This is a
+      # blatant hack to let us support using "yacc -d".  If -d is not
+      # specified, don't fail when the header file is "missing".
+      if test "$from" = "$parser"; then
         ret=1
       fi
     fi
-    shift
-    shift
-    first=no
   done
-else
-  ret=$?
 fi
 
 # Remove the directory.
index aff7d2b..ddd5626 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -51,8 +51,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = ccode
-DIST_COMMON = $(ccodeinclude_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(top_srcdir)/build-aux/depcomp
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/build-aux/depcomp $(ccodeinclude_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
        $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -170,6 +170,23 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(ccodeincludedir)"
 HEADERS = $(ccodeinclude_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -557,26 +574,15 @@ uninstall-ccodeincludeHEADERS:
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(ccodeincludedir)'; $(am__uninstall_files_from_dir)
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -588,15 +594,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -605,9 +607,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
 
-cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -767,9 +770,9 @@ uninstall-am: uninstall-ccodeincludeHEADERS
 
 .MAKE: all check install install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
-       distclean distclean-compile distclean-generic \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
+       ctags-am distclean distclean-compile distclean-generic \
        distclean-libtool distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am \
        install-ccodeincludeHEADERS install-data install-data-am \
@@ -779,7 +782,7 @@ uninstall-am: uninstall-ccodeincludeHEADERS
        install-ps-am install-strip installcheck installcheck-am \
        installdirs maintainer-clean maintainer-clean-generic \
        mostlyclean mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
        uninstall-am uninstall-ccodeincludeHEADERS
 
        $(NULL)
index 1c5b5a0..29030e2 100644 (file)
@@ -199,7 +199,7 @@ gboolean vala_ccode_writer_open (ValaCCodeWriter* self, gboolean write_version)
                _g_free0 (self->priv->temp_filename);
                self->priv->temp_filename = _tmp4_;
                _tmp5_ = self->priv->temp_filename;
-               _tmp6_ = fopen (_tmp5_, "w");
+               _tmp6_ = g_fopen (_tmp5_, "w");
                _fclose0 (self->priv->stream);
                self->priv->stream = _tmp6_;
        } else {
@@ -215,7 +215,7 @@ gboolean vala_ccode_writer_open (ValaCCodeWriter* self, gboolean write_version)
                _tmp9_ = dirname;
                g_mkdir_with_parents (_tmp9_, 0755);
                _tmp10_ = self->priv->_filename;
-               _tmp11_ = fopen (_tmp10_, "w");
+               _tmp11_ = g_fopen (_tmp10_, "w");
                _fclose0 (self->priv->stream);
                self->priv->stream = _tmp11_;
                _g_free0 (dirname);
index f2e7c7d..cef8981 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -51,8 +51,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = codegen
-DIST_COMMON = $(codegeninclude_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(top_srcdir)/build-aux/depcomp
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/build-aux/depcomp $(codegeninclude_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
        $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -166,6 +166,23 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 HEADERS = $(codegeninclude_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -414,6 +431,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
@@ -533,26 +551,15 @@ uninstall-codegenincludeHEADERS:
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(codegenincludedir)'; $(am__uninstall_files_from_dir)
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -564,15 +571,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -581,9 +584,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
 
-cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -743,20 +747,21 @@ uninstall-am: uninstall-codegenincludeHEADERS uninstall-libLTLIBRARIES
 
 .MAKE: all check install install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libLTLIBRARIES clean-libtool cscopelist ctags distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-codegenincludeHEADERS install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-libLTLIBRARIES install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+       clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-compile distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am \
+       install-codegenincludeHEADERS install-data install-data-am \
+       install-dvi install-dvi-am install-exec install-exec-am \
+       install-html install-html-am install-info install-info-am \
+       install-libLTLIBRARIES install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-codegenincludeHEADERS \
-       uninstall-libLTLIBRARIES
+       tags tags-am uninstall uninstall-am \
+       uninstall-codegenincludeHEADERS uninstall-libLTLIBRARIES
 
        $(NULL)
 
index 3ae1166..d2223de 100644 (file)
@@ -32,6 +32,7 @@
 #include <valagee.h>
 #include <stdlib.h>
 #include <string.h>
+#include <glib/gstdio.h>
 #include <stdio.h>
 #include <float.h>
 #include <math.h>
@@ -1996,7 +1997,7 @@ static void vala_ccode_base_module_real_emit (ValaCodeGenerator* base, ValaCodeC
                _tmp317_ = context;
                _tmp318_ = vala_code_context_get_symbols_filename (_tmp317_);
                _tmp319_ = _tmp318_;
-               _tmp320_ = fopen (_tmp319_, "w");
+               _tmp320_ = g_fopen (_tmp319_, "w");
                stream = _tmp320_;
                _tmp321_ = stream;
                if (_tmp321_ == NULL) {
@@ -16176,37 +16177,40 @@ static gchar* vala_ccode_base_module_generate_struct_equal_function (ValaCCodeBa
        gchar* equal_func;
        const gchar* _tmp5_;
        gboolean _tmp6_ = FALSE;
-       const gchar* _tmp7_;
-       ValaCCodeFunction* _tmp8_;
+       ValaStruct* _tmp7_;
+       ValaStruct* _tmp8_;
+       ValaStruct* _tmp9_;
+       const gchar* _tmp14_;
+       ValaCCodeFunction* _tmp15_;
        ValaCCodeFunction* function;
-       ValaCCodeFunction* _tmp9_;
-       ValaCCodeFunction* _tmp10_;
-       ValaStruct* _tmp11_;
-       gchar* _tmp12_ = NULL;
-       gchar* _tmp13_;
-       gchar* _tmp14_;
-       gchar* _tmp15_;
-       gchar* _tmp16_;
-       gchar* _tmp17_;
-       ValaCCodeParameter* _tmp18_;
-       ValaCCodeParameter* _tmp19_;
-       ValaCCodeFunction* _tmp20_;
-       ValaStruct* _tmp21_;
-       gchar* _tmp22_ = NULL;
+       ValaCCodeFunction* _tmp16_;
+       ValaCCodeFunction* _tmp17_;
+       ValaStruct* _tmp18_;
+       gchar* _tmp19_ = NULL;
+       gchar* _tmp20_;
+       gchar* _tmp21_;
+       gchar* _tmp22_;
        gchar* _tmp23_;
        gchar* _tmp24_;
-       gchar* _tmp25_;
-       gchar* _tmp26_;
-       gchar* _tmp27_;
-       ValaCCodeParameter* _tmp28_;
-       ValaCCodeParameter* _tmp29_;
-       ValaCCodeFunction* _tmp30_;
+       ValaCCodeParameter* _tmp25_;
+       ValaCCodeParameter* _tmp26_;
+       ValaCCodeFunction* _tmp27_;
+       ValaStruct* _tmp28_;
+       gchar* _tmp29_ = NULL;
+       gchar* _tmp30_;
+       gchar* _tmp31_;
+       gchar* _tmp32_;
+       gchar* _tmp33_;
+       gchar* _tmp34_;
+       ValaCCodeParameter* _tmp35_;
+       ValaCCodeParameter* _tmp36_;
+       ValaCCodeFunction* _tmp37_;
        gboolean has_instance_fields;
-       gboolean _tmp159_;
-       ValaCCodeFile* _tmp183_;
-       ValaCCodeFunction* _tmp184_;
-       ValaCCodeFile* _tmp185_;
-       ValaCCodeFunction* _tmp186_;
+       gboolean _tmp166_;
+       ValaCCodeFile* _tmp190_;
+       ValaCCodeFunction* _tmp191_;
+       ValaCCodeFile* _tmp192_;
+       ValaCCodeFunction* _tmp193_;
        g_return_val_if_fail (self != NULL, NULL);
        g_return_val_if_fail (st != NULL, NULL);
        _tmp0_ = st;
@@ -16222,199 +16226,207 @@ static gchar* vala_ccode_base_module_generate_struct_equal_function (ValaCCodeBa
                result = equal_func;
                return result;
        }
-       _tmp7_ = equal_func;
-       _tmp8_ = vala_ccode_function_new (_tmp7_, "gboolean");
-       function = _tmp8_;
-       _tmp9_ = function;
-       vala_ccode_function_set_modifiers (_tmp9_, VALA_CCODE_MODIFIERS_STATIC);
-       _tmp10_ = function;
-       _tmp11_ = st;
-       _tmp12_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp11_);
-       _tmp13_ = _tmp12_;
-       _tmp14_ = g_strconcat ("const ", _tmp13_, NULL);
-       _tmp15_ = _tmp14_;
-       _tmp16_ = g_strconcat (_tmp15_, "*", NULL);
-       _tmp17_ = _tmp16_;
-       _tmp18_ = vala_ccode_parameter_new ("s1", _tmp17_);
-       _tmp19_ = _tmp18_;
-       vala_ccode_function_add_parameter (_tmp10_, _tmp19_);
-       _vala_ccode_node_unref0 (_tmp19_);
-       _g_free0 (_tmp17_);
-       _g_free0 (_tmp15_);
-       _g_free0 (_tmp13_);
-       _tmp20_ = function;
-       _tmp21_ = st;
-       _tmp22_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp21_);
-       _tmp23_ = _tmp22_;
-       _tmp24_ = g_strconcat ("const ", _tmp23_, NULL);
-       _tmp25_ = _tmp24_;
-       _tmp26_ = g_strconcat (_tmp25_, "*", NULL);
-       _tmp27_ = _tmp26_;
-       _tmp28_ = vala_ccode_parameter_new ("s2", _tmp27_);
-       _tmp29_ = _tmp28_;
-       vala_ccode_function_add_parameter (_tmp20_, _tmp29_);
-       _vala_ccode_node_unref0 (_tmp29_);
-       _g_free0 (_tmp27_);
-       _g_free0 (_tmp25_);
-       _g_free0 (_tmp23_);
-       _tmp30_ = function;
-       vala_ccode_base_module_push_function (self, _tmp30_);
+       _tmp7_ = st;
+       _tmp8_ = vala_struct_get_base_struct (_tmp7_);
+       _tmp9_ = _tmp8_;
+       if (_tmp9_ != NULL) {
+               ValaStruct* _tmp10_;
+               ValaStruct* _tmp11_;
+               ValaStruct* _tmp12_;
+               gchar* _tmp13_ = NULL;
+               _tmp10_ = st;
+               _tmp11_ = vala_struct_get_base_struct (_tmp10_);
+               _tmp12_ = _tmp11_;
+               _tmp13_ = vala_ccode_base_module_generate_struct_equal_function (self, _tmp12_);
+               result = _tmp13_;
+               _g_free0 (equal_func);
+               return result;
+       }
+       _tmp14_ = equal_func;
+       _tmp15_ = vala_ccode_function_new (_tmp14_, "gboolean");
+       function = _tmp15_;
+       _tmp16_ = function;
+       vala_ccode_function_set_modifiers (_tmp16_, VALA_CCODE_MODIFIERS_STATIC);
+       _tmp17_ = function;
+       _tmp18_ = st;
+       _tmp19_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp18_);
+       _tmp20_ = _tmp19_;
+       _tmp21_ = g_strconcat ("const ", _tmp20_, NULL);
+       _tmp22_ = _tmp21_;
+       _tmp23_ = g_strconcat (_tmp22_, "*", NULL);
+       _tmp24_ = _tmp23_;
+       _tmp25_ = vala_ccode_parameter_new ("s1", _tmp24_);
+       _tmp26_ = _tmp25_;
+       vala_ccode_function_add_parameter (_tmp17_, _tmp26_);
+       _vala_ccode_node_unref0 (_tmp26_);
+       _g_free0 (_tmp24_);
+       _g_free0 (_tmp22_);
+       _g_free0 (_tmp20_);
+       _tmp27_ = function;
+       _tmp28_ = st;
+       _tmp29_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp28_);
+       _tmp30_ = _tmp29_;
+       _tmp31_ = g_strconcat ("const ", _tmp30_, NULL);
+       _tmp32_ = _tmp31_;
+       _tmp33_ = g_strconcat (_tmp32_, "*", NULL);
+       _tmp34_ = _tmp33_;
+       _tmp35_ = vala_ccode_parameter_new ("s2", _tmp34_);
+       _tmp36_ = _tmp35_;
+       vala_ccode_function_add_parameter (_tmp27_, _tmp36_);
+       _vala_ccode_node_unref0 (_tmp36_);
+       _g_free0 (_tmp34_);
+       _g_free0 (_tmp32_);
+       _g_free0 (_tmp30_);
+       _tmp37_ = function;
+       vala_ccode_base_module_push_function (self, _tmp37_);
        {
-               ValaCCodeIdentifier* _tmp31_;
-               ValaCCodeIdentifier* _tmp32_;
-               ValaCCodeIdentifier* _tmp33_;
-               ValaCCodeIdentifier* _tmp34_;
-               ValaCCodeBinaryExpression* _tmp35_;
-               ValaCCodeBinaryExpression* _tmp36_;
+               ValaCCodeIdentifier* _tmp38_;
+               ValaCCodeIdentifier* _tmp39_;
+               ValaCCodeIdentifier* _tmp40_;
+               ValaCCodeIdentifier* _tmp41_;
+               ValaCCodeBinaryExpression* _tmp42_;
+               ValaCCodeBinaryExpression* _tmp43_;
                ValaCCodeBinaryExpression* cexp;
-               ValaCCodeFunction* _tmp37_;
-               ValaCCodeFunction* _tmp38_;
-               ValaCCodeBinaryExpression* _tmp39_;
-               ValaCCodeFunction* _tmp40_;
-               ValaCCodeFunction* _tmp41_;
-               ValaCCodeConstant* _tmp42_;
-               ValaCCodeConstant* _tmp43_;
                ValaCCodeFunction* _tmp44_;
                ValaCCodeFunction* _tmp45_;
-               _tmp31_ = vala_ccode_identifier_new ("s1");
-               _tmp32_ = _tmp31_;
-               _tmp33_ = vala_ccode_identifier_new ("s2");
-               _tmp34_ = _tmp33_;
-               _tmp35_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp32_, (ValaCCodeExpression*) _tmp34_);
-               _tmp36_ = _tmp35_;
-               _vala_ccode_node_unref0 (_tmp34_);
-               _vala_ccode_node_unref0 (_tmp32_);
-               cexp = _tmp36_;
-               _tmp37_ = vala_ccode_base_module_get_ccode (self);
-               _tmp38_ = _tmp37_;
-               _tmp39_ = cexp;
-               vala_ccode_function_open_if (_tmp38_, (ValaCCodeExpression*) _tmp39_);
-               _tmp40_ = vala_ccode_base_module_get_ccode (self);
+               ValaCCodeBinaryExpression* _tmp46_;
+               ValaCCodeFunction* _tmp47_;
+               ValaCCodeFunction* _tmp48_;
+               ValaCCodeConstant* _tmp49_;
+               ValaCCodeConstant* _tmp50_;
+               ValaCCodeFunction* _tmp51_;
+               ValaCCodeFunction* _tmp52_;
+               _tmp38_ = vala_ccode_identifier_new ("s1");
+               _tmp39_ = _tmp38_;
+               _tmp40_ = vala_ccode_identifier_new ("s2");
                _tmp41_ = _tmp40_;
-               _tmp42_ = vala_ccode_constant_new ("TRUE");
+               _tmp42_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp39_, (ValaCCodeExpression*) _tmp41_);
                _tmp43_ = _tmp42_;
-               vala_ccode_function_add_return (_tmp41_, (ValaCCodeExpression*) _tmp43_);
-               _vala_ccode_node_unref0 (_tmp43_);
+               _vala_ccode_node_unref0 (_tmp41_);
+               _vala_ccode_node_unref0 (_tmp39_);
+               cexp = _tmp43_;
                _tmp44_ = vala_ccode_base_module_get_ccode (self);
                _tmp45_ = _tmp44_;
-               vala_ccode_function_close (_tmp45_);
+               _tmp46_ = cexp;
+               vala_ccode_function_open_if (_tmp45_, (ValaCCodeExpression*) _tmp46_);
+               _tmp47_ = vala_ccode_base_module_get_ccode (self);
+               _tmp48_ = _tmp47_;
+               _tmp49_ = vala_ccode_constant_new ("TRUE");
+               _tmp50_ = _tmp49_;
+               vala_ccode_function_add_return (_tmp48_, (ValaCCodeExpression*) _tmp50_);
+               _vala_ccode_node_unref0 (_tmp50_);
+               _tmp51_ = vala_ccode_base_module_get_ccode (self);
+               _tmp52_ = _tmp51_;
+               vala_ccode_function_close (_tmp52_);
                _vala_ccode_node_unref0 (cexp);
        }
        {
-               ValaCCodeIdentifier* _tmp46_;
-               ValaCCodeIdentifier* _tmp47_;
-               ValaCCodeConstant* _tmp48_;
-               ValaCCodeConstant* _tmp49_;
-               ValaCCodeBinaryExpression* _tmp50_;
-               ValaCCodeBinaryExpression* _tmp51_;
+               ValaCCodeIdentifier* _tmp53_;
+               ValaCCodeIdentifier* _tmp54_;
+               ValaCCodeConstant* _tmp55_;
+               ValaCCodeConstant* _tmp56_;
+               ValaCCodeBinaryExpression* _tmp57_;
+               ValaCCodeBinaryExpression* _tmp58_;
                ValaCCodeBinaryExpression* cexp;
-               ValaCCodeFunction* _tmp52_;
-               ValaCCodeFunction* _tmp53_;
-               ValaCCodeBinaryExpression* _tmp54_;
-               ValaCCodeFunction* _tmp55_;
-               ValaCCodeFunction* _tmp56_;
-               ValaCCodeConstant* _tmp57_;
-               ValaCCodeConstant* _tmp58_;
                ValaCCodeFunction* _tmp59_;
                ValaCCodeFunction* _tmp60_;
-               ValaCCodeIdentifier* _tmp61_;
-               ValaCCodeIdentifier* _tmp62_;
-               ValaCCodeConstant* _tmp63_;
+               ValaCCodeBinaryExpression* _tmp61_;
+               ValaCCodeFunction* _tmp62_;
+               ValaCCodeFunction* _tmp63_;
                ValaCCodeConstant* _tmp64_;
-               ValaCCodeBinaryExpression* _tmp65_;
+               ValaCCodeConstant* _tmp65_;
                ValaCCodeFunction* _tmp66_;
                ValaCCodeFunction* _tmp67_;
-               ValaCCodeBinaryExpression* _tmp68_;
-               ValaCCodeFunction* _tmp69_;
-               ValaCCodeFunction* _tmp70_;
+               ValaCCodeIdentifier* _tmp68_;
+               ValaCCodeIdentifier* _tmp69_;
+               ValaCCodeConstant* _tmp70_;
                ValaCCodeConstant* _tmp71_;
-               ValaCCodeConstant* _tmp72_;
+               ValaCCodeBinaryExpression* _tmp72_;
                ValaCCodeFunction* _tmp73_;
                ValaCCodeFunction* _tmp74_;
-               _tmp46_ = vala_ccode_identifier_new ("s1");
-               _tmp47_ = _tmp46_;
-               _tmp48_ = vala_ccode_constant_new ("NULL");
-               _tmp49_ = _tmp48_;
-               _tmp50_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp47_, (ValaCCodeExpression*) _tmp49_);
-               _tmp51_ = _tmp50_;
-               _vala_ccode_node_unref0 (_tmp49_);
-               _vala_ccode_node_unref0 (_tmp47_);
-               cexp = _tmp51_;
-               _tmp52_ = vala_ccode_base_module_get_ccode (self);
-               _tmp53_ = _tmp52_;
-               _tmp54_ = cexp;
-               vala_ccode_function_open_if (_tmp53_, (ValaCCodeExpression*) _tmp54_);
-               _tmp55_ = vala_ccode_base_module_get_ccode (self);
+               ValaCCodeBinaryExpression* _tmp75_;
+               ValaCCodeFunction* _tmp76_;
+               ValaCCodeFunction* _tmp77_;
+               ValaCCodeConstant* _tmp78_;
+               ValaCCodeConstant* _tmp79_;
+               ValaCCodeFunction* _tmp80_;
+               ValaCCodeFunction* _tmp81_;
+               _tmp53_ = vala_ccode_identifier_new ("s1");
+               _tmp54_ = _tmp53_;
+               _tmp55_ = vala_ccode_constant_new ("NULL");
                _tmp56_ = _tmp55_;
-               _tmp57_ = vala_ccode_constant_new ("FALSE");
+               _tmp57_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp54_, (ValaCCodeExpression*) _tmp56_);
                _tmp58_ = _tmp57_;
-               vala_ccode_function_add_return (_tmp56_, (ValaCCodeExpression*) _tmp58_);
-               _vala_ccode_node_unref0 (_tmp58_);
+               _vala_ccode_node_unref0 (_tmp56_);
+               _vala_ccode_node_unref0 (_tmp54_);
+               cexp = _tmp58_;
                _tmp59_ = vala_ccode_base_module_get_ccode (self);
                _tmp60_ = _tmp59_;
-               vala_ccode_function_close (_tmp60_);
-               _tmp61_ = vala_ccode_identifier_new ("s2");
-               _tmp62_ = _tmp61_;
-               _tmp63_ = vala_ccode_constant_new ("NULL");
-               _tmp64_ = _tmp63_;
-               _tmp65_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp62_, (ValaCCodeExpression*) _tmp64_);
-               _vala_ccode_node_unref0 (cexp);
-               cexp = _tmp65_;
-               _vala_ccode_node_unref0 (_tmp64_);
-               _vala_ccode_node_unref0 (_tmp62_);
+               _tmp61_ = cexp;
+               vala_ccode_function_open_if (_tmp60_, (ValaCCodeExpression*) _tmp61_);
+               _tmp62_ = vala_ccode_base_module_get_ccode (self);
+               _tmp63_ = _tmp62_;
+               _tmp64_ = vala_ccode_constant_new ("FALSE");
+               _tmp65_ = _tmp64_;
+               vala_ccode_function_add_return (_tmp63_, (ValaCCodeExpression*) _tmp65_);
+               _vala_ccode_node_unref0 (_tmp65_);
                _tmp66_ = vala_ccode_base_module_get_ccode (self);
                _tmp67_ = _tmp66_;
-               _tmp68_ = cexp;
-               vala_ccode_function_open_if (_tmp67_, (ValaCCodeExpression*) _tmp68_);
-               _tmp69_ = vala_ccode_base_module_get_ccode (self);
-               _tmp70_ = _tmp69_;
-               _tmp71_ = vala_ccode_constant_new ("FALSE");
-               _tmp72_ = _tmp71_;
-               vala_ccode_function_add_return (_tmp70_, (ValaCCodeExpression*) _tmp72_);
-               _vala_ccode_node_unref0 (_tmp72_);
+               vala_ccode_function_close (_tmp67_);
+               _tmp68_ = vala_ccode_identifier_new ("s2");
+               _tmp69_ = _tmp68_;
+               _tmp70_ = vala_ccode_constant_new ("NULL");
+               _tmp71_ = _tmp70_;
+               _tmp72_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp69_, (ValaCCodeExpression*) _tmp71_);
+               _vala_ccode_node_unref0 (cexp);
+               cexp = _tmp72_;
+               _vala_ccode_node_unref0 (_tmp71_);
+               _vala_ccode_node_unref0 (_tmp69_);
                _tmp73_ = vala_ccode_base_module_get_ccode (self);
                _tmp74_ = _tmp73_;
-               vala_ccode_function_close (_tmp74_);
+               _tmp75_ = cexp;
+               vala_ccode_function_open_if (_tmp74_, (ValaCCodeExpression*) _tmp75_);
+               _tmp76_ = vala_ccode_base_module_get_ccode (self);
+               _tmp77_ = _tmp76_;
+               _tmp78_ = vala_ccode_constant_new ("FALSE");
+               _tmp79_ = _tmp78_;
+               vala_ccode_function_add_return (_tmp77_, (ValaCCodeExpression*) _tmp79_);
+               _vala_ccode_node_unref0 (_tmp79_);
+               _tmp80_ = vala_ccode_base_module_get_ccode (self);
+               _tmp81_ = _tmp80_;
+               vala_ccode_function_close (_tmp81_);
                _vala_ccode_node_unref0 (cexp);
        }
        has_instance_fields = FALSE;
        {
-               ValaStruct* _tmp75_;
-               ValaList* _tmp76_ = NULL;
+               ValaStruct* _tmp82_;
+               ValaList* _tmp83_ = NULL;
                ValaList* _f_list;
-               ValaList* _tmp77_;
-               gint _tmp78_;
-               gint _tmp79_;
+               ValaList* _tmp84_;
+               gint _tmp85_;
+               gint _tmp86_;
                gint _f_size;
                gint _f_index;
-               _tmp75_ = st;
-               _tmp76_ = vala_struct_get_fields (_tmp75_);
-               _f_list = _tmp76_;
-               _tmp77_ = _f_list;
-               _tmp78_ = vala_collection_get_size ((ValaCollection*) _tmp77_);
-               _tmp79_ = _tmp78_;
-               _f_size = _tmp79_;
+               _tmp82_ = st;
+               _tmp83_ = vala_struct_get_fields (_tmp82_);
+               _f_list = _tmp83_;
+               _tmp84_ = _f_list;
+               _tmp85_ = vala_collection_get_size ((ValaCollection*) _tmp84_);
+               _tmp86_ = _tmp85_;
+               _f_size = _tmp86_;
                _f_index = -1;
                while (TRUE) {
-                       gint _tmp80_;
-                       gint _tmp81_;
-                       gint _tmp82_;
-                       ValaList* _tmp83_;
-                       gint _tmp84_;
-                       gpointer _tmp85_ = NULL;
+                       gint _tmp87_;
+                       gint _tmp88_;
+                       gint _tmp89_;
+                       ValaList* _tmp90_;
+                       gint _tmp91_;
+                       gpointer _tmp92_ = NULL;
                        ValaField* f;
-                       ValaField* _tmp86_;
-                       ValaMemberBinding _tmp87_;
-                       ValaMemberBinding _tmp88_;
+                       ValaField* _tmp93_;
+                       ValaMemberBinding _tmp94_;
+                       ValaMemberBinding _tmp95_;
                        ValaCCodeExpression* cexp = NULL;
-                       ValaCCodeIdentifier* _tmp89_;
-                       ValaCCodeIdentifier* _tmp90_;
-                       ValaField* _tmp91_;
-                       const gchar* _tmp92_;
-                       const gchar* _tmp93_;
-                       ValaCCodeMemberAccess* _tmp94_;
-                       ValaCCodeExpression* _tmp95_;
-                       ValaCCodeExpression* s1;
                        ValaCCodeIdentifier* _tmp96_;
                        ValaCCodeIdentifier* _tmp97_;
                        ValaField* _tmp98_;
@@ -16422,55 +16434,54 @@ static gchar* vala_ccode_base_module_generate_struct_equal_function (ValaCCodeBa
                        const gchar* _tmp100_;
                        ValaCCodeMemberAccess* _tmp101_;
                        ValaCCodeExpression* _tmp102_;
+                       ValaCCodeExpression* s1;
+                       ValaCCodeIdentifier* _tmp103_;
+                       ValaCCodeIdentifier* _tmp104_;
+                       ValaField* _tmp105_;
+                       const gchar* _tmp106_;
+                       const gchar* _tmp107_;
+                       ValaCCodeMemberAccess* _tmp108_;
+                       ValaCCodeExpression* _tmp109_;
                        ValaCCodeExpression* s2;
-                       ValaField* _tmp103_;
-                       ValaDataType* _tmp104_;
-                       ValaDataType* _tmp105_;
-                       ValaDataType* _tmp106_ = NULL;
+                       ValaField* _tmp110_;
+                       ValaDataType* _tmp111_;
+                       ValaDataType* _tmp112_;
+                       ValaDataType* _tmp113_ = NULL;
                        ValaDataType* variable_type;
-                       gboolean _tmp107_ = FALSE;
-                       ValaField* _tmp108_;
-                       ValaDataType* _tmp109_;
-                       ValaDataType* _tmp110_;
-                       gboolean _tmp116_;
-                       ValaCCodeFunction* _tmp150_;
-                       ValaCCodeFunction* _tmp151_;
-                       ValaCCodeExpression* _tmp152_;
-                       ValaCCodeFunction* _tmp153_;
-                       ValaCCodeFunction* _tmp154_;
-                       ValaCCodeConstant* _tmp155_;
-                       ValaCCodeConstant* _tmp156_;
+                       gboolean _tmp114_ = FALSE;
+                       ValaField* _tmp115_;
+                       ValaDataType* _tmp116_;
+                       ValaDataType* _tmp117_;
+                       gboolean _tmp123_;
                        ValaCCodeFunction* _tmp157_;
                        ValaCCodeFunction* _tmp158_;
-                       _tmp80_ = _f_index;
-                       _f_index = _tmp80_ + 1;
-                       _tmp81_ = _f_index;
-                       _tmp82_ = _f_size;
-                       if (!(_tmp81_ < _tmp82_)) {
+                       ValaCCodeExpression* _tmp159_;
+                       ValaCCodeFunction* _tmp160_;
+                       ValaCCodeFunction* _tmp161_;
+                       ValaCCodeConstant* _tmp162_;
+                       ValaCCodeConstant* _tmp163_;
+                       ValaCCodeFunction* _tmp164_;
+                       ValaCCodeFunction* _tmp165_;
+                       _tmp87_ = _f_index;
+                       _f_index = _tmp87_ + 1;
+                       _tmp88_ = _f_index;
+                       _tmp89_ = _f_size;
+                       if (!(_tmp88_ < _tmp89_)) {
                                break;
                        }
-                       _tmp83_ = _f_list;
-                       _tmp84_ = _f_index;
-                       _tmp85_ = vala_list_get (_tmp83_, _tmp84_);
-                       f = (ValaField*) _tmp85_;
-                       _tmp86_ = f;
-                       _tmp87_ = vala_field_get_binding (_tmp86_);
-                       _tmp88_ = _tmp87_;
-                       if (_tmp88_ != VALA_MEMBER_BINDING_INSTANCE) {
+                       _tmp90_ = _f_list;
+                       _tmp91_ = _f_index;
+                       _tmp92_ = vala_list_get (_tmp90_, _tmp91_);
+                       f = (ValaField*) _tmp92_;
+                       _tmp93_ = f;
+                       _tmp94_ = vala_field_get_binding (_tmp93_);
+                       _tmp95_ = _tmp94_;
+                       if (_tmp95_ != VALA_MEMBER_BINDING_INSTANCE) {
                                _vala_code_node_unref0 (f);
                                continue;
                        }
                        has_instance_fields = TRUE;
-                       _tmp89_ = vala_ccode_identifier_new ("s1");
-                       _tmp90_ = _tmp89_;
-                       _tmp91_ = f;
-                       _tmp92_ = vala_symbol_get_name ((ValaSymbol*) _tmp91_);
-                       _tmp93_ = _tmp92_;
-                       _tmp94_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp90_, _tmp93_);
-                       _tmp95_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp94_, VALA_TYPE_CCODE_EXPRESSION, ValaCCodeExpression);
-                       _vala_ccode_node_unref0 (_tmp90_);
-                       s1 = _tmp95_;
-                       _tmp96_ = vala_ccode_identifier_new ("s2");
+                       _tmp96_ = vala_ccode_identifier_new ("s1");
                        _tmp97_ = _tmp96_;
                        _tmp98_ = f;
                        _tmp99_ = vala_symbol_get_name ((ValaSymbol*) _tmp98_);
@@ -16478,138 +16489,147 @@ static gchar* vala_ccode_base_module_generate_struct_equal_function (ValaCCodeBa
                        _tmp101_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp97_, _tmp100_);
                        _tmp102_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp101_, VALA_TYPE_CCODE_EXPRESSION, ValaCCodeExpression);
                        _vala_ccode_node_unref0 (_tmp97_);
-                       s2 = _tmp102_;
-                       _tmp103_ = f;
-                       _tmp104_ = vala_variable_get_variable_type ((ValaVariable*) _tmp103_);
-                       _tmp105_ = _tmp104_;
-                       _tmp106_ = vala_data_type_copy (_tmp105_);
-                       variable_type = _tmp106_;
+                       s1 = _tmp102_;
+                       _tmp103_ = vala_ccode_identifier_new ("s2");
+                       _tmp104_ = _tmp103_;
+                       _tmp105_ = f;
+                       _tmp106_ = vala_symbol_get_name ((ValaSymbol*) _tmp105_);
+                       _tmp107_ = _tmp106_;
+                       _tmp108_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp104_, _tmp107_);
+                       _tmp109_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp108_, VALA_TYPE_CCODE_EXPRESSION, ValaCCodeExpression);
+                       _vala_ccode_node_unref0 (_tmp104_);
+                       s2 = _tmp109_;
+                       _tmp110_ = f;
+                       _tmp111_ = vala_variable_get_variable_type ((ValaVariable*) _tmp110_);
+                       _tmp112_ = _tmp111_;
+                       _tmp113_ = vala_data_type_copy (_tmp112_);
+                       variable_type = _tmp113_;
                        vala_ccode_base_module_make_comparable_cexpression (self, &variable_type, &s1, &variable_type, &s2);
-                       _tmp108_ = f;
-                       _tmp109_ = vala_variable_get_variable_type ((ValaVariable*) _tmp108_);
-                       _tmp110_ = _tmp109_;
-                       if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp110_, VALA_TYPE_NULL_TYPE)) {
-                               ValaField* _tmp111_;
-                               ValaDataType* _tmp112_;
-                               ValaDataType* _tmp113_;
-                               ValaDataType* _tmp114_;
-                               gboolean _tmp115_ = FALSE;
-                               _tmp111_ = f;
-                               _tmp112_ = vala_variable_get_variable_type ((ValaVariable*) _tmp111_);
-                               _tmp113_ = _tmp112_;
-                               _tmp114_ = self->string_type;
-                               _tmp115_ = vala_data_type_compatible (_tmp113_, _tmp114_);
-                               _tmp107_ = _tmp115_;
+                       _tmp115_ = f;
+                       _tmp116_ = vala_variable_get_variable_type ((ValaVariable*) _tmp115_);
+                       _tmp117_ = _tmp116_;
+                       if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp117_, VALA_TYPE_NULL_TYPE)) {
+                               ValaField* _tmp118_;
+                               ValaDataType* _tmp119_;
+                               ValaDataType* _tmp120_;
+                               ValaDataType* _tmp121_;
+                               gboolean _tmp122_ = FALSE;
+                               _tmp118_ = f;
+                               _tmp119_ = vala_variable_get_variable_type ((ValaVariable*) _tmp118_);
+                               _tmp120_ = _tmp119_;
+                               _tmp121_ = self->string_type;
+                               _tmp122_ = vala_data_type_compatible (_tmp120_, _tmp121_);
+                               _tmp114_ = _tmp122_;
                        } else {
-                               _tmp107_ = FALSE;
+                               _tmp114_ = FALSE;
                        }
-                       _tmp116_ = _tmp107_;
-                       if (_tmp116_) {
-                               ValaCCodeIdentifier* _tmp117_;
-                               ValaCCodeIdentifier* _tmp118_;
-                               ValaCCodeFunctionCall* _tmp119_;
-                               ValaCCodeFunctionCall* _tmp120_;
+                       _tmp123_ = _tmp114_;
+                       if (_tmp123_) {
+                               ValaCCodeIdentifier* _tmp124_;
+                               ValaCCodeIdentifier* _tmp125_;
+                               ValaCCodeFunctionCall* _tmp126_;
+                               ValaCCodeFunctionCall* _tmp127_;
                                ValaCCodeFunctionCall* ccall;
-                               ValaCCodeFunctionCall* _tmp121_;
-                               ValaCCodeExpression* _tmp122_;
-                               ValaCCodeFunctionCall* _tmp123_;
-                               ValaCCodeExpression* _tmp124_;
-                               ValaCCodeFunctionCall* _tmp125_;
-                               ValaCCodeExpression* _tmp126_;
-                               _tmp117_ = vala_ccode_identifier_new ("g_strcmp0");
-                               _tmp118_ = _tmp117_;
-                               _tmp119_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp118_);
-                               _tmp120_ = _tmp119_;
-                               _vala_ccode_node_unref0 (_tmp118_);
-                               ccall = _tmp120_;
-                               _tmp121_ = ccall;
-                               _tmp122_ = s1;
-                               vala_ccode_function_call_add_argument (_tmp121_, _tmp122_);
-                               _tmp123_ = ccall;
-                               _tmp124_ = s2;
-                               vala_ccode_function_call_add_argument (_tmp123_, _tmp124_);
-                               _tmp125_ = ccall;
-                               _tmp126_ = _vala_ccode_node_ref0 ((ValaCCodeExpression*) _tmp125_);
+                               ValaCCodeFunctionCall* _tmp128_;
+                               ValaCCodeExpression* _tmp129_;
+                               ValaCCodeFunctionCall* _tmp130_;
+                               ValaCCodeExpression* _tmp131_;
+                               ValaCCodeFunctionCall* _tmp132_;
+                               ValaCCodeExpression* _tmp133_;
+                               _tmp124_ = vala_ccode_identifier_new ("g_strcmp0");
+                               _tmp125_ = _tmp124_;
+                               _tmp126_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp125_);
+                               _tmp127_ = _tmp126_;
+                               _vala_ccode_node_unref0 (_tmp125_);
+                               ccall = _tmp127_;
+                               _tmp128_ = ccall;
+                               _tmp129_ = s1;
+                               vala_ccode_function_call_add_argument (_tmp128_, _tmp129_);
+                               _tmp130_ = ccall;
+                               _tmp131_ = s2;
+                               vala_ccode_function_call_add_argument (_tmp130_, _tmp131_);
+                               _tmp132_ = ccall;
+                               _tmp133_ = _vala_ccode_node_ref0 ((ValaCCodeExpression*) _tmp132_);
                                _vala_ccode_node_unref0 (cexp);
-                               cexp = _tmp126_;
+                               cexp = _tmp133_;
                                _vala_ccode_node_unref0 (ccall);
                        } else {
-                               ValaField* _tmp127_;
-                               ValaDataType* _tmp128_;
-                               ValaDataType* _tmp129_;
-                               _tmp127_ = f;
-                               _tmp128_ = vala_variable_get_variable_type ((ValaVariable*) _tmp127_);
-                               _tmp129_ = _tmp128_;
-                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp129_, VALA_TYPE_STRUCT_VALUE_TYPE)) {
-                                       ValaField* _tmp130_;
-                                       ValaDataType* _tmp131_;
-                                       ValaDataType* _tmp132_;
-                                       ValaTypeSymbol* _tmp133_;
-                                       ValaTypeSymbol* _tmp134_;
-                                       gchar* _tmp135_ = NULL;
+                               ValaField* _tmp134_;
+                               ValaDataType* _tmp135_;
+                               ValaDataType* _tmp136_;
+                               _tmp134_ = f;
+                               _tmp135_ = vala_variable_get_variable_type ((ValaVariable*) _tmp134_);
+                               _tmp136_ = _tmp135_;
+                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp136_, VALA_TYPE_STRUCT_VALUE_TYPE)) {
+                                       ValaField* _tmp137_;
+                                       ValaDataType* _tmp138_;
+                                       ValaDataType* _tmp139_;
+                                       ValaTypeSymbol* _tmp140_;
+                                       ValaTypeSymbol* _tmp141_;
+                                       gchar* _tmp142_ = NULL;
                                        gchar* equalfunc;
-                                       const gchar* _tmp136_;
-                                       ValaCCodeIdentifier* _tmp137_;
-                                       ValaCCodeIdentifier* _tmp138_;
-                                       ValaCCodeFunctionCall* _tmp139_;
-                                       ValaCCodeFunctionCall* _tmp140_;
+                                       const gchar* _tmp143_;
+                                       ValaCCodeIdentifier* _tmp144_;
+                                       ValaCCodeIdentifier* _tmp145_;
+                                       ValaCCodeFunctionCall* _tmp146_;
+                                       ValaCCodeFunctionCall* _tmp147_;
                                        ValaCCodeFunctionCall* ccall;
-                                       ValaCCodeFunctionCall* _tmp141_;
-                                       ValaCCodeExpression* _tmp142_;
-                                       ValaCCodeFunctionCall* _tmp143_;
-                                       ValaCCodeExpression* _tmp144_;
-                                       ValaCCodeFunctionCall* _tmp145_;
-                                       ValaCCodeUnaryExpression* _tmp146_;
-                                       _tmp130_ = f;
-                                       _tmp131_ = vala_variable_get_variable_type ((ValaVariable*) _tmp130_);
-                                       _tmp132_ = _tmp131_;
-                                       _tmp133_ = vala_data_type_get_data_type (_tmp132_);
-                                       _tmp134_ = _tmp133_;
-                                       _tmp135_ = vala_ccode_base_module_generate_struct_equal_function (self, G_TYPE_CHECK_INSTANCE_TYPE (_tmp134_, VALA_TYPE_STRUCT) ? ((ValaStruct*) _tmp134_) : NULL);
-                                       equalfunc = _tmp135_;
-                                       _tmp136_ = equalfunc;
-                                       _tmp137_ = vala_ccode_identifier_new (_tmp136_);
-                                       _tmp138_ = _tmp137_;
-                                       _tmp139_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp138_);
-                                       _tmp140_ = _tmp139_;
-                                       _vala_ccode_node_unref0 (_tmp138_);
-                                       ccall = _tmp140_;
-                                       _tmp141_ = ccall;
-                                       _tmp142_ = s1;
-                                       vala_ccode_function_call_add_argument (_tmp141_, _tmp142_);
-                                       _tmp143_ = ccall;
-                                       _tmp144_ = s2;
-                                       vala_ccode_function_call_add_argument (_tmp143_, _tmp144_);
-                                       _tmp145_ = ccall;
-                                       _tmp146_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_LOGICAL_NEGATION, (ValaCCodeExpression*) _tmp145_);
+                                       ValaCCodeFunctionCall* _tmp148_;
+                                       ValaCCodeExpression* _tmp149_;
+                                       ValaCCodeFunctionCall* _tmp150_;
+                                       ValaCCodeExpression* _tmp151_;
+                                       ValaCCodeFunctionCall* _tmp152_;
+                                       ValaCCodeUnaryExpression* _tmp153_;
+                                       _tmp137_ = f;
+                                       _tmp138_ = vala_variable_get_variable_type ((ValaVariable*) _tmp137_);
+                                       _tmp139_ = _tmp138_;
+                                       _tmp140_ = vala_data_type_get_data_type (_tmp139_);
+                                       _tmp141_ = _tmp140_;
+                                       _tmp142_ = vala_ccode_base_module_generate_struct_equal_function (self, G_TYPE_CHECK_INSTANCE_TYPE (_tmp141_, VALA_TYPE_STRUCT) ? ((ValaStruct*) _tmp141_) : NULL);
+                                       equalfunc = _tmp142_;
+                                       _tmp143_ = equalfunc;
+                                       _tmp144_ = vala_ccode_identifier_new (_tmp143_);
+                                       _tmp145_ = _tmp144_;
+                                       _tmp146_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp145_);
+                                       _tmp147_ = _tmp146_;
+                                       _vala_ccode_node_unref0 (_tmp145_);
+                                       ccall = _tmp147_;
+                                       _tmp148_ = ccall;
+                                       _tmp149_ = s1;
+                                       vala_ccode_function_call_add_argument (_tmp148_, _tmp149_);
+                                       _tmp150_ = ccall;
+                                       _tmp151_ = s2;
+                                       vala_ccode_function_call_add_argument (_tmp150_, _tmp151_);
+                                       _tmp152_ = ccall;
+                                       _tmp153_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_LOGICAL_NEGATION, (ValaCCodeExpression*) _tmp152_);
                                        _vala_ccode_node_unref0 (cexp);
-                                       cexp = (ValaCCodeExpression*) _tmp146_;
+                                       cexp = (ValaCCodeExpression*) _tmp153_;
                                        _vala_ccode_node_unref0 (ccall);
                                        _g_free0 (equalfunc);
                                } else {
-                                       ValaCCodeExpression* _tmp147_;
-                                       ValaCCodeExpression* _tmp148_;
-                                       ValaCCodeBinaryExpression* _tmp149_;
-                                       _tmp147_ = s1;
-                                       _tmp148_ = s2;
-                                       _tmp149_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_INEQUALITY, _tmp147_, _tmp148_);
+                                       ValaCCodeExpression* _tmp154_;
+                                       ValaCCodeExpression* _tmp155_;
+                                       ValaCCodeBinaryExpression* _tmp156_;
+                                       _tmp154_ = s1;
+                                       _tmp155_ = s2;
+                                       _tmp156_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_INEQUALITY, _tmp154_, _tmp155_);
                                        _vala_ccode_node_unref0 (cexp);
-                                       cexp = (ValaCCodeExpression*) _tmp149_;
+                                       cexp = (ValaCCodeExpression*) _tmp156_;
                                }
                        }
-                       _tmp150_ = vala_ccode_base_module_get_ccode (self);
-                       _tmp151_ = _tmp150_;
-                       _tmp152_ = cexp;
-                       vala_ccode_function_open_if (_tmp151_, _tmp152_);
-                       _tmp153_ = vala_ccode_base_module_get_ccode (self);
-                       _tmp154_ = _tmp153_;
-                       _tmp155_ = vala_ccode_constant_new ("FALSE");
-                       _tmp156_ = _tmp155_;
-                       vala_ccode_function_add_return (_tmp154_, (ValaCCodeExpression*) _tmp156_);
-                       _vala_ccode_node_unref0 (_tmp156_);
                        _tmp157_ = vala_ccode_base_module_get_ccode (self);
                        _tmp158_ = _tmp157_;
-                       vala_ccode_function_close (_tmp158_);
+                       _tmp159_ = cexp;
+                       vala_ccode_function_open_if (_tmp158_, _tmp159_);
+                       _tmp160_ = vala_ccode_base_module_get_ccode (self);
+                       _tmp161_ = _tmp160_;
+                       _tmp162_ = vala_ccode_constant_new ("FALSE");
+                       _tmp163_ = _tmp162_;
+                       vala_ccode_function_add_return (_tmp161_, (ValaCCodeExpression*) _tmp163_);
+                       _vala_ccode_node_unref0 (_tmp163_);
+                       _tmp164_ = vala_ccode_base_module_get_ccode (self);
+                       _tmp165_ = _tmp164_;
+                       vala_ccode_function_close (_tmp165_);
                        _vala_code_node_unref0 (variable_type);
                        _vala_ccode_node_unref0 (s2);
                        _vala_ccode_node_unref0 (s1);
@@ -16618,78 +16638,78 @@ static gchar* vala_ccode_base_module_generate_struct_equal_function (ValaCCodeBa
                }
                _vala_iterable_unref0 (_f_list);
        }
-       _tmp159_ = has_instance_fields;
-       if (!_tmp159_) {
-               ValaStruct* _tmp160_;
-               gboolean _tmp161_ = FALSE;
-               _tmp160_ = st;
-               _tmp161_ = vala_struct_is_simple_type (_tmp160_);
-               if (_tmp161_) {
-                       ValaCCodeIdentifier* _tmp162_;
-                       ValaCCodeIdentifier* _tmp163_;
-                       ValaCCodeUnaryExpression* _tmp164_;
-                       ValaCCodeUnaryExpression* _tmp165_;
-                       ValaCCodeIdentifier* _tmp166_;
-                       ValaCCodeIdentifier* _tmp167_;
-                       ValaCCodeUnaryExpression* _tmp168_;
-                       ValaCCodeUnaryExpression* _tmp169_;
-                       ValaCCodeBinaryExpression* _tmp170_;
-                       ValaCCodeBinaryExpression* _tmp171_;
+       _tmp166_ = has_instance_fields;
+       if (!_tmp166_) {
+               ValaStruct* _tmp167_;
+               gboolean _tmp168_ = FALSE;
+               _tmp167_ = st;
+               _tmp168_ = vala_struct_is_simple_type (_tmp167_);
+               if (_tmp168_) {
+                       ValaCCodeIdentifier* _tmp169_;
+                       ValaCCodeIdentifier* _tmp170_;
+                       ValaCCodeUnaryExpression* _tmp171_;
+                       ValaCCodeUnaryExpression* _tmp172_;
+                       ValaCCodeIdentifier* _tmp173_;
+                       ValaCCodeIdentifier* _tmp174_;
+                       ValaCCodeUnaryExpression* _tmp175_;
+                       ValaCCodeUnaryExpression* _tmp176_;
+                       ValaCCodeBinaryExpression* _tmp177_;
+                       ValaCCodeBinaryExpression* _tmp178_;
                        ValaCCodeBinaryExpression* cexp;
-                       ValaCCodeFunction* _tmp172_;
-                       ValaCCodeFunction* _tmp173_;
-                       ValaCCodeBinaryExpression* _tmp174_;
-                       _tmp162_ = vala_ccode_identifier_new ("s1");
-                       _tmp163_ = _tmp162_;
-                       _tmp164_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp163_);
-                       _tmp165_ = _tmp164_;
-                       _tmp166_ = vala_ccode_identifier_new ("s2");
-                       _tmp167_ = _tmp166_;
-                       _tmp168_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp167_);
-                       _tmp169_ = _tmp168_;
-                       _tmp170_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp165_, (ValaCCodeExpression*) _tmp169_);
-                       _tmp171_ = _tmp170_;
-                       _vala_ccode_node_unref0 (_tmp169_);
-                       _vala_ccode_node_unref0 (_tmp167_);
-                       _vala_ccode_node_unref0 (_tmp165_);
-                       _vala_ccode_node_unref0 (_tmp163_);
-                       cexp = _tmp171_;
-                       _tmp172_ = vala_ccode_base_module_get_ccode (self);
-                       _tmp173_ = _tmp172_;
-                       _tmp174_ = cexp;
-                       vala_ccode_function_add_return (_tmp173_, (ValaCCodeExpression*) _tmp174_);
-                       _vala_ccode_node_unref0 (cexp);
-               } else {
-                       ValaCCodeFunction* _tmp175_;
-                       ValaCCodeFunction* _tmp176_;
-                       ValaCCodeConstant* _tmp177_;
-                       ValaCCodeConstant* _tmp178_;
-                       _tmp175_ = vala_ccode_base_module_get_ccode (self);
+                       ValaCCodeFunction* _tmp179_;
+                       ValaCCodeFunction* _tmp180_;
+                       ValaCCodeBinaryExpression* _tmp181_;
+                       _tmp169_ = vala_ccode_identifier_new ("s1");
+                       _tmp170_ = _tmp169_;
+                       _tmp171_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp170_);
+                       _tmp172_ = _tmp171_;
+                       _tmp173_ = vala_ccode_identifier_new ("s2");
+                       _tmp174_ = _tmp173_;
+                       _tmp175_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp174_);
                        _tmp176_ = _tmp175_;
-                       _tmp177_ = vala_ccode_constant_new ("FALSE");
+                       _tmp177_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp172_, (ValaCCodeExpression*) _tmp176_);
                        _tmp178_ = _tmp177_;
-                       vala_ccode_function_add_return (_tmp176_, (ValaCCodeExpression*) _tmp178_);
-                       _vala_ccode_node_unref0 (_tmp178_);
+                       _vala_ccode_node_unref0 (_tmp176_);
+                       _vala_ccode_node_unref0 (_tmp174_);
+                       _vala_ccode_node_unref0 (_tmp172_);
+                       _vala_ccode_node_unref0 (_tmp170_);
+                       cexp = _tmp178_;
+                       _tmp179_ = vala_ccode_base_module_get_ccode (self);
+                       _tmp180_ = _tmp179_;
+                       _tmp181_ = cexp;
+                       vala_ccode_function_add_return (_tmp180_, (ValaCCodeExpression*) _tmp181_);
+                       _vala_ccode_node_unref0 (cexp);
+               } else {
+                       ValaCCodeFunction* _tmp182_;
+                       ValaCCodeFunction* _tmp183_;
+                       ValaCCodeConstant* _tmp184_;
+                       ValaCCodeConstant* _tmp185_;
+                       _tmp182_ = vala_ccode_base_module_get_ccode (self);
+                       _tmp183_ = _tmp182_;
+                       _tmp184_ = vala_ccode_constant_new ("FALSE");
+                       _tmp185_ = _tmp184_;
+                       vala_ccode_function_add_return (_tmp183_, (ValaCCodeExpression*) _tmp185_);
+                       _vala_ccode_node_unref0 (_tmp185_);
                }
        } else {
-               ValaCCodeFunction* _tmp179_;
-               ValaCCodeFunction* _tmp180_;
-               ValaCCodeConstant* _tmp181_;
-               ValaCCodeConstant* _tmp182_;
-               _tmp179_ = vala_ccode_base_module_get_ccode (self);
-               _tmp180_ = _tmp179_;
-               _tmp181_ = vala_ccode_constant_new ("TRUE");
-               _tmp182_ = _tmp181_;
-               vala_ccode_function_add_return (_tmp180_, (ValaCCodeExpression*) _tmp182_);
-               _vala_ccode_node_unref0 (_tmp182_);
+               ValaCCodeFunction* _tmp186_;
+               ValaCCodeFunction* _tmp187_;
+               ValaCCodeConstant* _tmp188_;
+               ValaCCodeConstant* _tmp189_;
+               _tmp186_ = vala_ccode_base_module_get_ccode (self);
+               _tmp187_ = _tmp186_;
+               _tmp188_ = vala_ccode_constant_new ("TRUE");
+               _tmp189_ = _tmp188_;
+               vala_ccode_function_add_return (_tmp187_, (ValaCCodeExpression*) _tmp189_);
+               _vala_ccode_node_unref0 (_tmp189_);
        }
        vala_ccode_base_module_pop_function (self);
-       _tmp183_ = self->cfile;
-       _tmp184_ = function;
-       vala_ccode_file_add_function_declaration (_tmp183_, _tmp184_);
-       _tmp185_ = self->cfile;
-       _tmp186_ = function;
-       vala_ccode_file_add_function (_tmp185_, _tmp186_);
+       _tmp190_ = self->cfile;
+       _tmp191_ = function;
+       vala_ccode_file_add_function_declaration (_tmp190_, _tmp191_);
+       _tmp192_ = self->cfile;
+       _tmp193_ = function;
+       vala_ccode_file_add_function (_tmp192_, _tmp193_);
        result = equal_func;
        _vala_ccode_node_unref0 (function);
        return result;
@@ -29557,18 +29577,18 @@ static void vala_ccode_base_module_real_visit_unary_expression (ValaCodeVisitor*
        ValaUnaryOperator _tmp3_;
        gboolean _tmp7_;
        ValaCCodeUnaryOperator op = 0;
-       ValaUnaryExpression* _tmp54_;
-       ValaUnaryOperator _tmp55_;
-       ValaUnaryOperator _tmp56_;
-       ValaUnaryExpression* _tmp72_;
-       ValaCCodeUnaryOperator _tmp73_;
-       ValaUnaryExpression* _tmp74_;
-       ValaExpression* _tmp75_;
-       ValaExpression* _tmp76_;
-       ValaCCodeExpression* _tmp77_ = NULL;
-       ValaCCodeExpression* _tmp78_;
-       ValaCCodeUnaryExpression* _tmp79_;
-       ValaCCodeUnaryExpression* _tmp80_;
+       ValaUnaryExpression* _tmp79_;
+       ValaUnaryOperator _tmp80_;
+       ValaUnaryOperator _tmp81_;
+       ValaUnaryExpression* _tmp97_;
+       ValaCCodeUnaryOperator _tmp98_;
+       ValaUnaryExpression* _tmp99_;
+       ValaExpression* _tmp100_;
+       ValaExpression* _tmp101_;
+       ValaCCodeExpression* _tmp102_ = NULL;
+       ValaCCodeExpression* _tmp103_;
+       ValaCCodeUnaryExpression* _tmp104_;
+       ValaCCodeUnaryExpression* _tmp105_;
        self = (ValaCCodeBaseModule*) base;
        g_return_if_fail (expr != NULL);
        _tmp1_ = expr;
@@ -29599,18 +29619,21 @@ static void vala_ccode_base_module_real_visit_unary_expression (ValaCodeVisitor*
                ValaDataType* _tmp16_;
                ValaGLibValue* _tmp17_;
                ValaGLibValue* ref_value;
-               ValaGLibValue* _tmp18_;
-               ValaGLibValue* _tmp19_;
-               ValaCCodeExpression* _tmp20_;
-               ValaCCodeUnaryExpression* _tmp21_;
-               ValaGLibValue* _tmp22_;
-               ValaList* _tmp23_;
-               ValaGLibValue* _tmp40_;
-               ValaCCodeExpression* _tmp41_;
-               ValaGLibValue* _tmp46_;
-               ValaCCodeExpression* _tmp47_;
-               ValaUnaryExpression* _tmp52_;
-               ValaGLibValue* _tmp53_;
+               gboolean _tmp18_ = FALSE;
+               gboolean _tmp19_ = FALSE;
+               ValaUnaryExpression* _tmp20_;
+               ValaDataType* _tmp21_;
+               ValaDataType* _tmp22_;
+               gboolean _tmp27_;
+               gboolean _tmp38_;
+               ValaGLibValue* _tmp47_;
+               ValaList* _tmp48_;
+               ValaGLibValue* _tmp65_;
+               ValaCCodeExpression* _tmp66_;
+               ValaGLibValue* _tmp71_;
+               ValaCCodeExpression* _tmp72_;
+               ValaUnaryExpression* _tmp77_;
+               ValaGLibValue* _tmp78_;
                _tmp8_ = expr;
                _tmp9_ = vala_unary_expression_get_inner (_tmp8_);
                _tmp10_ = _tmp9_;
@@ -29623,150 +29646,210 @@ static void vala_ccode_base_module_real_visit_unary_expression (ValaCodeVisitor*
                _tmp16_ = _tmp15_;
                _tmp17_ = vala_glib_value_new (_tmp16_, NULL, FALSE);
                ref_value = _tmp17_;
-               _tmp18_ = ref_value;
-               _tmp19_ = glib_value;
-               _tmp20_ = _tmp19_->cvalue;
-               _tmp21_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp20_);
-               _vala_ccode_node_unref0 (_tmp18_->cvalue);
-               _tmp18_->cvalue = (ValaCCodeExpression*) _tmp21_;
-               _tmp22_ = glib_value;
-               _tmp23_ = _tmp22_->array_length_cvalues;
-               if (_tmp23_ != NULL) {
+               _tmp20_ = expr;
+               _tmp21_ = vala_expression_get_target_type ((ValaExpression*) _tmp20_);
+               _tmp22_ = _tmp21_;
+               if (_tmp22_ != NULL) {
+                       ValaGLibValue* _tmp23_;
+                       ValaDataType* _tmp24_;
+                       ValaDataType* _tmp25_;
+                       gboolean _tmp26_ = FALSE;
+                       _tmp23_ = glib_value;
+                       _tmp24_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp23_);
+                       _tmp25_ = _tmp24_;
+                       _tmp26_ = vala_data_type_is_real_struct_type (_tmp25_);
+                       _tmp19_ = _tmp26_;
+               } else {
+                       _tmp19_ = FALSE;
+               }
+               _tmp27_ = _tmp19_;
+               if (_tmp27_) {
+                       ValaGLibValue* _tmp28_;
+                       ValaDataType* _tmp29_;
+                       ValaDataType* _tmp30_;
+                       gboolean _tmp31_;
+                       gboolean _tmp32_;
+                       ValaUnaryExpression* _tmp33_;
+                       ValaDataType* _tmp34_;
+                       ValaDataType* _tmp35_;
+                       gboolean _tmp36_;
+                       gboolean _tmp37_;
+                       _tmp28_ = glib_value;
+                       _tmp29_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp28_);
+                       _tmp30_ = _tmp29_;
+                       _tmp31_ = vala_data_type_get_nullable (_tmp30_);
+                       _tmp32_ = _tmp31_;
+                       _tmp33_ = expr;
+                       _tmp34_ = vala_expression_get_target_type ((ValaExpression*) _tmp33_);
+                       _tmp35_ = _tmp34_;
+                       _tmp36_ = vala_data_type_get_nullable (_tmp35_);
+                       _tmp37_ = _tmp36_;
+                       _tmp18_ = _tmp32_ != _tmp37_;
+               } else {
+                       _tmp18_ = FALSE;
+               }
+               _tmp38_ = _tmp18_;
+               if (_tmp38_) {
+                       ValaGLibValue* _tmp39_;
+                       ValaGLibValue* _tmp40_;
+                       ValaCCodeExpression* _tmp41_;
+                       ValaCCodeExpression* _tmp42_;
+                       _tmp39_ = ref_value;
+                       _tmp40_ = glib_value;
+                       _tmp41_ = _tmp40_->cvalue;
+                       _tmp42_ = _vala_ccode_node_ref0 (_tmp41_);
+                       _vala_ccode_node_unref0 (_tmp39_->cvalue);
+                       _tmp39_->cvalue = _tmp42_;
+               } else {
+                       ValaGLibValue* _tmp43_;
+                       ValaGLibValue* _tmp44_;
+                       ValaCCodeExpression* _tmp45_;
+                       ValaCCodeUnaryExpression* _tmp46_;
+                       _tmp43_ = ref_value;
+                       _tmp44_ = glib_value;
+                       _tmp45_ = _tmp44_->cvalue;
+                       _tmp46_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp45_);
+                       _vala_ccode_node_unref0 (_tmp43_->cvalue);
+                       _tmp43_->cvalue = (ValaCCodeExpression*) _tmp46_;
+               }
+               _tmp47_ = glib_value;
+               _tmp48_ = _tmp47_->array_length_cvalues;
+               if (_tmp48_ != NULL) {
                        {
                                gint i;
                                i = 0;
                                {
-                                       gboolean _tmp24_;
-                                       _tmp24_ = TRUE;
+                                       gboolean _tmp49_;
+                                       _tmp49_ = TRUE;
                                        while (TRUE) {
-                                               gboolean _tmp25_;
-                                               gint _tmp27_;
-                                               ValaGLibValue* _tmp28_;
-                                               ValaList* _tmp29_;
-                                               gint _tmp30_;
-                                               gint _tmp31_;
-                                               ValaGLibValue* _tmp32_;
-                                               ValaGLibValue* _tmp33_;
-                                               ValaList* _tmp34_;
-                                               gint _tmp35_;
-                                               gpointer _tmp36_ = NULL;
-                                               ValaCCodeExpression* _tmp37_;
-                                               ValaCCodeUnaryExpression* _tmp38_;
-                                               ValaCCodeUnaryExpression* _tmp39_;
-                                               _tmp25_ = _tmp24_;
-                                               if (!_tmp25_) {
-                                                       gint _tmp26_;
-                                                       _tmp26_ = i;
-                                                       i = _tmp26_ + 1;
+                                               gboolean _tmp50_;
+                                               gint _tmp52_;
+                                               ValaGLibValue* _tmp53_;
+                                               ValaList* _tmp54_;
+                                               gint _tmp55_;
+                                               gint _tmp56_;
+                                               ValaGLibValue* _tmp57_;
+                                               ValaGLibValue* _tmp58_;
+                                               ValaList* _tmp59_;
+                                               gint _tmp60_;
+                                               gpointer _tmp61_ = NULL;
+                                               ValaCCodeExpression* _tmp62_;
+                                               ValaCCodeUnaryExpression* _tmp63_;
+                                               ValaCCodeUnaryExpression* _tmp64_;
+                                               _tmp50_ = _tmp49_;
+                                               if (!_tmp50_) {
+                                                       gint _tmp51_;
+                                                       _tmp51_ = i;
+                                                       i = _tmp51_ + 1;
                                                }
-                                               _tmp24_ = FALSE;
-                                               _tmp27_ = i;
-                                               _tmp28_ = glib_value;
-                                               _tmp29_ = _tmp28_->array_length_cvalues;
-                                               _tmp30_ = vala_collection_get_size ((ValaCollection*) _tmp29_);
-                                               _tmp31_ = _tmp30_;
-                                               if (!(_tmp27_ < _tmp31_)) {
+                                               _tmp49_ = FALSE;
+                                               _tmp52_ = i;
+                                               _tmp53_ = glib_value;
+                                               _tmp54_ = _tmp53_->array_length_cvalues;
+                                               _tmp55_ = vala_collection_get_size ((ValaCollection*) _tmp54_);
+                                               _tmp56_ = _tmp55_;
+                                               if (!(_tmp52_ < _tmp56_)) {
                                                        break;
                                                }
-                                               _tmp32_ = ref_value;
-                                               _tmp33_ = glib_value;
-                                               _tmp34_ = _tmp33_->array_length_cvalues;
-                                               _tmp35_ = i;
-                                               _tmp36_ = vala_list_get (_tmp34_, _tmp35_);
-                                               _tmp37_ = (ValaCCodeExpression*) _tmp36_;
-                                               _tmp38_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp37_);
-                                               _tmp39_ = _tmp38_;
-                                               vala_glib_value_append_array_length_cvalue (_tmp32_, (ValaCCodeExpression*) _tmp39_);
-                                               _vala_ccode_node_unref0 (_tmp39_);
-                                               _vala_ccode_node_unref0 (_tmp37_);
+                                               _tmp57_ = ref_value;
+                                               _tmp58_ = glib_value;
+                                               _tmp59_ = _tmp58_->array_length_cvalues;
+                                               _tmp60_ = i;
+                                               _tmp61_ = vala_list_get (_tmp59_, _tmp60_);
+                                               _tmp62_ = (ValaCCodeExpression*) _tmp61_;
+                                               _tmp63_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp62_);
+                                               _tmp64_ = _tmp63_;
+                                               vala_glib_value_append_array_length_cvalue (_tmp57_, (ValaCCodeExpression*) _tmp64_);
+                                               _vala_ccode_node_unref0 (_tmp64_);
+                                               _vala_ccode_node_unref0 (_tmp62_);
                                        }
                                }
                        }
                }
-               _tmp40_ = glib_value;
-               _tmp41_ = _tmp40_->delegate_target_cvalue;
-               if (_tmp41_ != NULL) {
-                       ValaGLibValue* _tmp42_;
-                       ValaGLibValue* _tmp43_;
-                       ValaCCodeExpression* _tmp44_;
-                       ValaCCodeUnaryExpression* _tmp45_;
-                       _tmp42_ = ref_value;
-                       _tmp43_ = glib_value;
-                       _tmp44_ = _tmp43_->delegate_target_cvalue;
-                       _tmp45_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp44_);
-                       _vala_ccode_node_unref0 (_tmp42_->delegate_target_cvalue);
-                       _tmp42_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp45_;
-               }
-               _tmp46_ = glib_value;
-               _tmp47_ = _tmp46_->delegate_target_destroy_notify_cvalue;
-               if (_tmp47_ != NULL) {
-                       ValaGLibValue* _tmp48_;
-                       ValaGLibValue* _tmp49_;
-                       ValaCCodeExpression* _tmp50_;
-                       ValaCCodeUnaryExpression* _tmp51_;
-                       _tmp48_ = ref_value;
-                       _tmp49_ = glib_value;
-                       _tmp50_ = _tmp49_->delegate_target_destroy_notify_cvalue;
-                       _tmp51_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp50_);
-                       _vala_ccode_node_unref0 (_tmp48_->delegate_target_destroy_notify_cvalue);
-                       _tmp48_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp51_;
-               }
-               _tmp52_ = expr;
-               _tmp53_ = ref_value;
-               vala_expression_set_target_value ((ValaExpression*) _tmp52_, (ValaTargetValue*) _tmp53_);
+               _tmp65_ = glib_value;
+               _tmp66_ = _tmp65_->delegate_target_cvalue;
+               if (_tmp66_ != NULL) {
+                       ValaGLibValue* _tmp67_;
+                       ValaGLibValue* _tmp68_;
+                       ValaCCodeExpression* _tmp69_;
+                       ValaCCodeUnaryExpression* _tmp70_;
+                       _tmp67_ = ref_value;
+                       _tmp68_ = glib_value;
+                       _tmp69_ = _tmp68_->delegate_target_cvalue;
+                       _tmp70_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp69_);
+                       _vala_ccode_node_unref0 (_tmp67_->delegate_target_cvalue);
+                       _tmp67_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp70_;
+               }
+               _tmp71_ = glib_value;
+               _tmp72_ = _tmp71_->delegate_target_destroy_notify_cvalue;
+               if (_tmp72_ != NULL) {
+                       ValaGLibValue* _tmp73_;
+                       ValaGLibValue* _tmp74_;
+                       ValaCCodeExpression* _tmp75_;
+                       ValaCCodeUnaryExpression* _tmp76_;
+                       _tmp73_ = ref_value;
+                       _tmp74_ = glib_value;
+                       _tmp75_ = _tmp74_->delegate_target_destroy_notify_cvalue;
+                       _tmp76_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp75_);
+                       _vala_ccode_node_unref0 (_tmp73_->delegate_target_destroy_notify_cvalue);
+                       _tmp73_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp76_;
+               }
+               _tmp77_ = expr;
+               _tmp78_ = ref_value;
+               vala_expression_set_target_value ((ValaExpression*) _tmp77_, (ValaTargetValue*) _tmp78_);
                _vala_target_value_unref0 (ref_value);
                _vala_target_value_unref0 (glib_value);
                return;
        }
-       _tmp54_ = expr;
-       _tmp55_ = vala_unary_expression_get_operator (_tmp54_);
-       _tmp56_ = _tmp55_;
-       if (_tmp56_ == VALA_UNARY_OPERATOR_PLUS) {
+       _tmp79_ = expr;
+       _tmp80_ = vala_unary_expression_get_operator (_tmp79_);
+       _tmp81_ = _tmp80_;
+       if (_tmp81_ == VALA_UNARY_OPERATOR_PLUS) {
                op = VALA_CCODE_UNARY_OPERATOR_PLUS;
        } else {
-               ValaUnaryExpression* _tmp57_;
-               ValaUnaryOperator _tmp58_;
-               ValaUnaryOperator _tmp59_;
-               _tmp57_ = expr;
-               _tmp58_ = vala_unary_expression_get_operator (_tmp57_);
-               _tmp59_ = _tmp58_;
-               if (_tmp59_ == VALA_UNARY_OPERATOR_MINUS) {
+               ValaUnaryExpression* _tmp82_;
+               ValaUnaryOperator _tmp83_;
+               ValaUnaryOperator _tmp84_;
+               _tmp82_ = expr;
+               _tmp83_ = vala_unary_expression_get_operator (_tmp82_);
+               _tmp84_ = _tmp83_;
+               if (_tmp84_ == VALA_UNARY_OPERATOR_MINUS) {
                        op = VALA_CCODE_UNARY_OPERATOR_MINUS;
                } else {
-                       ValaUnaryExpression* _tmp60_;
-                       ValaUnaryOperator _tmp61_;
-                       ValaUnaryOperator _tmp62_;
-                       _tmp60_ = expr;
-                       _tmp61_ = vala_unary_expression_get_operator (_tmp60_);
-                       _tmp62_ = _tmp61_;
-                       if (_tmp62_ == VALA_UNARY_OPERATOR_LOGICAL_NEGATION) {
+                       ValaUnaryExpression* _tmp85_;
+                       ValaUnaryOperator _tmp86_;
+                       ValaUnaryOperator _tmp87_;
+                       _tmp85_ = expr;
+                       _tmp86_ = vala_unary_expression_get_operator (_tmp85_);
+                       _tmp87_ = _tmp86_;
+                       if (_tmp87_ == VALA_UNARY_OPERATOR_LOGICAL_NEGATION) {
                                op = VALA_CCODE_UNARY_OPERATOR_LOGICAL_NEGATION;
                        } else {
-                               ValaUnaryExpression* _tmp63_;
-                               ValaUnaryOperator _tmp64_;
-                               ValaUnaryOperator _tmp65_;
-                               _tmp63_ = expr;
-                               _tmp64_ = vala_unary_expression_get_operator (_tmp63_);
-                               _tmp65_ = _tmp64_;
-                               if (_tmp65_ == VALA_UNARY_OPERATOR_BITWISE_COMPLEMENT) {
+                               ValaUnaryExpression* _tmp88_;
+                               ValaUnaryOperator _tmp89_;
+                               ValaUnaryOperator _tmp90_;
+                               _tmp88_ = expr;
+                               _tmp89_ = vala_unary_expression_get_operator (_tmp88_);
+                               _tmp90_ = _tmp89_;
+                               if (_tmp90_ == VALA_UNARY_OPERATOR_BITWISE_COMPLEMENT) {
                                        op = VALA_CCODE_UNARY_OPERATOR_BITWISE_COMPLEMENT;
                                } else {
-                                       ValaUnaryExpression* _tmp66_;
-                                       ValaUnaryOperator _tmp67_;
-                                       ValaUnaryOperator _tmp68_;
-                                       _tmp66_ = expr;
-                                       _tmp67_ = vala_unary_expression_get_operator (_tmp66_);
-                                       _tmp68_ = _tmp67_;
-                                       if (_tmp68_ == VALA_UNARY_OPERATOR_INCREMENT) {
+                                       ValaUnaryExpression* _tmp91_;
+                                       ValaUnaryOperator _tmp92_;
+                                       ValaUnaryOperator _tmp93_;
+                                       _tmp91_ = expr;
+                                       _tmp92_ = vala_unary_expression_get_operator (_tmp91_);
+                                       _tmp93_ = _tmp92_;
+                                       if (_tmp93_ == VALA_UNARY_OPERATOR_INCREMENT) {
                                                op = VALA_CCODE_UNARY_OPERATOR_PREFIX_INCREMENT;
                                        } else {
-                                               ValaUnaryExpression* _tmp69_;
-                                               ValaUnaryOperator _tmp70_;
-                                               ValaUnaryOperator _tmp71_;
-                                               _tmp69_ = expr;
-                                               _tmp70_ = vala_unary_expression_get_operator (_tmp69_);
-                                               _tmp71_ = _tmp70_;
-                                               if (_tmp71_ == VALA_UNARY_OPERATOR_DECREMENT) {
+                                               ValaUnaryExpression* _tmp94_;
+                                               ValaUnaryOperator _tmp95_;
+                                               ValaUnaryOperator _tmp96_;
+                                               _tmp94_ = expr;
+                                               _tmp95_ = vala_unary_expression_get_operator (_tmp94_);
+                                               _tmp96_ = _tmp95_;
+                                               if (_tmp96_ == VALA_UNARY_OPERATOR_DECREMENT) {
                                                        op = VALA_CCODE_UNARY_OPERATOR_PREFIX_DECREMENT;
                                                } else {
                                                        g_assert_not_reached ();
@@ -29776,18 +29859,18 @@ static void vala_ccode_base_module_real_visit_unary_expression (ValaCodeVisitor*
                        }
                }
        }
-       _tmp72_ = expr;
-       _tmp73_ = op;
-       _tmp74_ = expr;
-       _tmp75_ = vala_unary_expression_get_inner (_tmp74_);
-       _tmp76_ = _tmp75_;
-       _tmp77_ = vala_ccode_base_module_get_cvalue (self, _tmp76_);
-       _tmp78_ = _tmp77_;
-       _tmp79_ = vala_ccode_unary_expression_new (_tmp73_, _tmp78_);
-       _tmp80_ = _tmp79_;
-       vala_ccode_base_module_set_cvalue (self, (ValaExpression*) _tmp72_, (ValaCCodeExpression*) _tmp80_);
-       _vala_ccode_node_unref0 (_tmp80_);
-       _vala_ccode_node_unref0 (_tmp78_);
+       _tmp97_ = expr;
+       _tmp98_ = op;
+       _tmp99_ = expr;
+       _tmp100_ = vala_unary_expression_get_inner (_tmp99_);
+       _tmp101_ = _tmp100_;
+       _tmp102_ = vala_ccode_base_module_get_cvalue (self, _tmp101_);
+       _tmp103_ = _tmp102_;
+       _tmp104_ = vala_ccode_unary_expression_new (_tmp98_, _tmp103_);
+       _tmp105_ = _tmp104_;
+       vala_ccode_base_module_set_cvalue (self, (ValaExpression*) _tmp97_, (ValaCCodeExpression*) _tmp105_);
+       _vala_ccode_node_unref0 (_tmp105_);
+       _vala_ccode_node_unref0 (_tmp103_);
 }
 
 
index 03f801a..93d04ee 100644 (file)
@@ -2686,6 +2686,10 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                        return equal_func;
                }
 
+               if (st.base_struct != null) {
+                       return generate_struct_equal_function (st.base_struct);
+               }
+
                var function = new CCodeFunction (equal_func, "gboolean");
                function.modifiers = CCodeModifiers.STATIC;
 
@@ -4829,7 +4833,12 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                        var glib_value = (GLibValue) expr.inner.target_value;
 
                        var ref_value = new GLibValue (glib_value.value_type);
-                       ref_value.cvalue = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, glib_value.cvalue);
+                       if (expr.target_type != null && glib_value.value_type.is_real_struct_type () && glib_value.value_type.nullable != expr.target_type.nullable) {
+                               // the only possibility is that value_type is nullable and target_type is non-nullable
+                               ref_value.cvalue = glib_value.cvalue;
+                       } else {
+                               ref_value.cvalue = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, glib_value.cvalue);
+                       }
 
                        if (glib_value.array_length_cvalues != null) {
                                for (int i = 0; i < glib_value.array_length_cvalues.size; i++) {
index 1ec4ac3..65b65fd 100644 (file)
@@ -5738,31 +5738,28 @@ static void vala_ccode_method_module_real_visit_method (ValaCodeVisitor* base, V
                gboolean _tmp1405_;
                gboolean _tmp1406_;
                gboolean _tmp1410_;
-               ValaCCodeFunction* _tmp1425_;
-               ValaCCodeFunction* _tmp1426_;
-               ValaCCodeIdentifier* _tmp1427_;
-               ValaCCodeIdentifier* _tmp1428_;
-               ValaCCodeFunctionCall* _tmp1429_;
-               ValaCCodeFunctionCall* _tmp1430_;
-               ValaCCodeFunction* _tmp1431_;
-               const gchar* _tmp1432_;
-               const gchar* _tmp1433_;
-               ValaCCodeIdentifier* _tmp1434_;
-               ValaCCodeIdentifier* _tmp1435_;
-               ValaCCodeFunctionCall* _tmp1436_;
-               ValaCCodeFunctionCall* _tmp1437_;
+               ValaCodeContext* _tmp1425_;
+               ValaCodeContext* _tmp1426_;
+               gboolean _tmp1427_ = FALSE;
+               ValaCCodeFunction* _tmp1434_;
+               const gchar* _tmp1435_;
+               const gchar* _tmp1436_;
+               ValaCCodeIdentifier* _tmp1437_;
+               ValaCCodeIdentifier* _tmp1438_;
+               ValaCCodeFunctionCall* _tmp1439_;
+               ValaCCodeFunctionCall* _tmp1440_;
                ValaCCodeFunctionCall* main_call;
-               ValaMethod* _tmp1438_;
-               ValaList* _tmp1439_ = NULL;
-               ValaList* _tmp1440_;
-               gint _tmp1441_;
-               gint _tmp1442_;
-               gboolean _tmp1443_;
-               ValaMethod* _tmp1450_;
-               ValaDataType* _tmp1451_;
-               ValaDataType* _tmp1452_;
-               ValaCCodeFile* _tmp1463_;
-               ValaCCodeFunction* _tmp1464_;
+               ValaMethod* _tmp1441_;
+               ValaList* _tmp1442_ = NULL;
+               ValaList* _tmp1443_;
+               gint _tmp1444_;
+               gint _tmp1445_;
+               gboolean _tmp1446_;
+               ValaMethod* _tmp1453_;
+               ValaDataType* _tmp1454_;
+               ValaDataType* _tmp1455_;
+               ValaCCodeFile* _tmp1466_;
+               ValaCCodeFunction* _tmp1467_;
                _tmp1372_ = vala_ccode_function_new ("main", "int");
                cmain = _tmp1372_;
                _tmp1373_ = cmain;
@@ -5878,83 +5875,94 @@ static void vala_ccode_method_module_real_visit_method (ValaCodeVisitor* base, V
                        vala_ccode_function_add_expression (_tmp1423_, (ValaCCodeExpression*) _tmp1424_);
                        _vala_ccode_node_unref0 (thread_init_call);
                }
-               _tmp1425_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
+               _tmp1425_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
                _tmp1426_ = _tmp1425_;
-               _tmp1427_ = vala_ccode_identifier_new ("g_type_init");
-               _tmp1428_ = _tmp1427_;
-               _tmp1429_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp1428_);
-               _tmp1430_ = _tmp1429_;
-               vala_ccode_function_add_expression (_tmp1426_, (ValaCCodeExpression*) _tmp1430_);
-               _vala_ccode_node_unref0 (_tmp1430_);
-               _vala_ccode_node_unref0 (_tmp1428_);
-               _tmp1431_ = function;
-               _tmp1432_ = vala_ccode_function_get_name (_tmp1431_);
-               _tmp1433_ = _tmp1432_;
-               _tmp1434_ = vala_ccode_identifier_new (_tmp1433_);
-               _tmp1435_ = _tmp1434_;
-               _tmp1436_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp1435_);
-               _tmp1437_ = _tmp1436_;
-               _vala_ccode_node_unref0 (_tmp1435_);
-               main_call = _tmp1437_;
-               _tmp1438_ = m;
-               _tmp1439_ = vala_method_get_parameters (_tmp1438_);
+               _tmp1427_ = vala_code_context_require_glib_version (_tmp1426_, 2, 36);
+               if (!_tmp1427_) {
+                       ValaCCodeFunction* _tmp1428_;
+                       ValaCCodeFunction* _tmp1429_;
+                       ValaCCodeIdentifier* _tmp1430_;
+                       ValaCCodeIdentifier* _tmp1431_;
+                       ValaCCodeFunctionCall* _tmp1432_;
+                       ValaCCodeFunctionCall* _tmp1433_;
+                       _tmp1428_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
+                       _tmp1429_ = _tmp1428_;
+                       _tmp1430_ = vala_ccode_identifier_new ("g_type_init");
+                       _tmp1431_ = _tmp1430_;
+                       _tmp1432_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp1431_);
+                       _tmp1433_ = _tmp1432_;
+                       vala_ccode_function_add_expression (_tmp1429_, (ValaCCodeExpression*) _tmp1433_);
+                       _vala_ccode_node_unref0 (_tmp1433_);
+                       _vala_ccode_node_unref0 (_tmp1431_);
+               }
+               _tmp1434_ = function;
+               _tmp1435_ = vala_ccode_function_get_name (_tmp1434_);
+               _tmp1436_ = _tmp1435_;
+               _tmp1437_ = vala_ccode_identifier_new (_tmp1436_);
+               _tmp1438_ = _tmp1437_;
+               _tmp1439_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp1438_);
                _tmp1440_ = _tmp1439_;
-               _tmp1441_ = vala_collection_get_size ((ValaCollection*) _tmp1440_);
-               _tmp1442_ = _tmp1441_;
-               _tmp1443_ = _tmp1442_ == 1;
-               _vala_iterable_unref0 (_tmp1440_);
-               if (_tmp1443_) {
-                       ValaCCodeFunctionCall* _tmp1444_;
-                       ValaCCodeIdentifier* _tmp1445_;
-                       ValaCCodeIdentifier* _tmp1446_;
+               _vala_ccode_node_unref0 (_tmp1438_);
+               main_call = _tmp1440_;
+               _tmp1441_ = m;
+               _tmp1442_ = vala_method_get_parameters (_tmp1441_);
+               _tmp1443_ = _tmp1442_;
+               _tmp1444_ = vala_collection_get_size ((ValaCollection*) _tmp1443_);
+               _tmp1445_ = _tmp1444_;
+               _tmp1446_ = _tmp1445_ == 1;
+               _vala_iterable_unref0 (_tmp1443_);
+               if (_tmp1446_) {
                        ValaCCodeFunctionCall* _tmp1447_;
                        ValaCCodeIdentifier* _tmp1448_;
                        ValaCCodeIdentifier* _tmp1449_;
-                       _tmp1444_ = main_call;
-                       _tmp1445_ = vala_ccode_identifier_new ("argv");
-                       _tmp1446_ = _tmp1445_;
-                       vala_ccode_function_call_add_argument (_tmp1444_, (ValaCCodeExpression*) _tmp1446_);
-                       _vala_ccode_node_unref0 (_tmp1446_);
+                       ValaCCodeFunctionCall* _tmp1450_;
+                       ValaCCodeIdentifier* _tmp1451_;
+                       ValaCCodeIdentifier* _tmp1452_;
                        _tmp1447_ = main_call;
-                       _tmp1448_ = vala_ccode_identifier_new ("argc");
+                       _tmp1448_ = vala_ccode_identifier_new ("argv");
                        _tmp1449_ = _tmp1448_;
                        vala_ccode_function_call_add_argument (_tmp1447_, (ValaCCodeExpression*) _tmp1449_);
                        _vala_ccode_node_unref0 (_tmp1449_);
+                       _tmp1450_ = main_call;
+                       _tmp1451_ = vala_ccode_identifier_new ("argc");
+                       _tmp1452_ = _tmp1451_;
+                       vala_ccode_function_call_add_argument (_tmp1450_, (ValaCCodeExpression*) _tmp1452_);
+                       _vala_ccode_node_unref0 (_tmp1452_);
                }
-               _tmp1450_ = m;
-               _tmp1451_ = vala_method_get_return_type (_tmp1450_);
-               _tmp1452_ = _tmp1451_;
-               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1452_, VALA_TYPE_VOID_TYPE)) {
-                       ValaCCodeFunction* _tmp1453_;
-                       ValaCCodeFunction* _tmp1454_;
-                       ValaCCodeFunctionCall* _tmp1455_;
+               _tmp1453_ = m;
+               _tmp1454_ = vala_method_get_return_type (_tmp1453_);
+               _tmp1455_ = _tmp1454_;
+               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1455_, VALA_TYPE_VOID_TYPE)) {
                        ValaCCodeFunction* _tmp1456_;
                        ValaCCodeFunction* _tmp1457_;
-                       ValaCCodeConstant* _tmp1458_;
-                       ValaCCodeConstant* _tmp1459_;
-                       _tmp1453_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
-                       _tmp1454_ = _tmp1453_;
-                       _tmp1455_ = main_call;
-                       vala_ccode_function_add_expression (_tmp1454_, (ValaCCodeExpression*) _tmp1455_);
+                       ValaCCodeFunctionCall* _tmp1458_;
+                       ValaCCodeFunction* _tmp1459_;
+                       ValaCCodeFunction* _tmp1460_;
+                       ValaCCodeConstant* _tmp1461_;
+                       ValaCCodeConstant* _tmp1462_;
                        _tmp1456_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
                        _tmp1457_ = _tmp1456_;
-                       _tmp1458_ = vala_ccode_constant_new ("0");
-                       _tmp1459_ = _tmp1458_;
-                       vala_ccode_function_add_return (_tmp1457_, (ValaCCodeExpression*) _tmp1459_);
-                       _vala_ccode_node_unref0 (_tmp1459_);
+                       _tmp1458_ = main_call;
+                       vala_ccode_function_add_expression (_tmp1457_, (ValaCCodeExpression*) _tmp1458_);
+                       _tmp1459_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
+                       _tmp1460_ = _tmp1459_;
+                       _tmp1461_ = vala_ccode_constant_new ("0");
+                       _tmp1462_ = _tmp1461_;
+                       vala_ccode_function_add_return (_tmp1460_, (ValaCCodeExpression*) _tmp1462_);
+                       _vala_ccode_node_unref0 (_tmp1462_);
                } else {
-                       ValaCCodeFunction* _tmp1460_;
-                       ValaCCodeFunction* _tmp1461_;
-                       ValaCCodeFunctionCall* _tmp1462_;
-                       _tmp1460_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
-                       _tmp1461_ = _tmp1460_;
-                       _tmp1462_ = main_call;
-                       vala_ccode_function_add_return (_tmp1461_, (ValaCCodeExpression*) _tmp1462_);
+                       ValaCCodeFunction* _tmp1463_;
+                       ValaCCodeFunction* _tmp1464_;
+                       ValaCCodeFunctionCall* _tmp1465_;
+                       _tmp1463_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
+                       _tmp1464_ = _tmp1463_;
+                       _tmp1465_ = main_call;
+                       vala_ccode_function_add_return (_tmp1464_, (ValaCCodeExpression*) _tmp1465_);
                }
                vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
-               _tmp1463_ = ((ValaCCodeBaseModule*) self)->cfile;
-               _tmp1464_ = cmain;
-               vala_ccode_file_add_function (_tmp1463_, _tmp1464_);
+               _tmp1466_ = ((ValaCCodeBaseModule*) self)->cfile;
+               _tmp1467_ = cmain;
+               vala_ccode_file_add_function (_tmp1466_, _tmp1467_);
                _vala_ccode_node_unref0 (main_call);
                _vala_ccode_node_unref0 (cmain);
        }
index f26ed71..42faab5 100644 (file)
@@ -841,7 +841,9 @@ public abstract class Vala.CCodeMethodModule : CCodeStructModule {
                                ccode.add_expression (thread_init_call);
                        }
 
-                       ccode.add_expression (new CCodeFunctionCall (new CCodeIdentifier ("g_type_init")));
+                       if (!context.require_glib_version (2, 36)) {
+                               ccode.add_expression (new CCodeFunctionCall (new CCodeIdentifier ("g_type_init")));
+                       }
 
                        var main_call = new CCodeFunctionCall (new CCodeIdentifier (function.name));
                        if (m.get_parameters ().size == 1) {
index f1ffdef..037ce0e 100644 (file)
@@ -30,6 +30,7 @@
 #include <string.h>
 #include <stdio.h>
 #include <valagee.h>
+#include <glib/gstdio.h>
 
 
 #define VALA_TYPE_GIR_WRITER (vala_gir_writer_get_type ())
@@ -649,7 +650,7 @@ void vala_gir_writer_write_file (ValaGIRWriter* self, ValaCodeContext* context,
        _tmp31_ = g_strdup_printf ("%s%c%s-%s.gir", _tmp28_, (gint) G_DIR_SEPARATOR, _tmp29_, _tmp30_);
        filename = _tmp31_;
        _tmp32_ = filename;
-       _tmp33_ = fopen (_tmp32_, "w");
+       _tmp33_ = g_fopen (_tmp32_, "w");
        _fclose0 (self->priv->stream);
        self->priv->stream = _tmp33_;
        _tmp34_ = self->priv->stream;
@@ -1345,566 +1346,569 @@ static void vala_gir_writer_real_visit_class (ValaCodeVisitor* base, ValaClass*
        _tmp13_ = vala_typesymbol_is_subtype_of ((ValaTypeSymbol*) _tmp11_, _tmp12_);
        if (_tmp13_) {
                ValaClass* _tmp14_;
-               const gchar* _tmp15_;
-               const gchar* _tmp16_;
+               gchar* _tmp15_ = NULL;
+               gchar* _tmp16_;
                gchar* _tmp17_;
+               gchar* _tmp18_;
                gchar* gtype_struct_name;
-               GString* _tmp18_;
-               ValaClass* _tmp19_;
-               gchar* _tmp20_ = NULL;
-               gchar* _tmp21_;
-               ValaClass* _tmp22_;
-               GString* _tmp23_;
-               const gchar* _tmp24_;
-               GString* _tmp25_;
-               ValaClass* _tmp26_;
+               GString* _tmp19_;
+               ValaClass* _tmp20_;
+               gchar* _tmp21_ = NULL;
+               gchar* _tmp22_;
+               ValaClass* _tmp23_;
+               GString* _tmp24_;
+               const gchar* _tmp25_;
+               GString* _tmp26_;
                ValaClass* _tmp27_;
                ValaClass* _tmp28_;
-               gchar* _tmp29_ = NULL;
-               gchar* _tmp30_;
-               ValaClass* _tmp31_;
-               gboolean _tmp32_;
+               ValaClass* _tmp29_;
+               gchar* _tmp30_ = NULL;
+               gchar* _tmp31_;
+               ValaClass* _tmp32_;
                gboolean _tmp33_;
-               ValaClass* _tmp35_;
-               GString* _tmp36_;
-               gint _tmp37_;
-               ValaClass* _tmp38_;
-               gchar* _tmp39_ = NULL;
-               gchar* _tmp40_;
-               ValaClass* _tmp63_;
-               GString* _tmp64_;
-               gint _tmp65_;
-               GString* _tmp66_;
-               ValaClass* _tmp67_;
+               gboolean _tmp34_;
+               ValaClass* _tmp36_;
+               GString* _tmp37_;
+               gint _tmp38_;
+               ValaClass* _tmp39_;
+               gchar* _tmp40_ = NULL;
+               gchar* _tmp41_;
+               ValaClass* _tmp64_;
+               GString* _tmp65_;
+               gint _tmp66_;
+               GString* _tmp67_;
                ValaClass* _tmp68_;
                ValaClass* _tmp69_;
-               gchar* _tmp70_ = NULL;
-               gchar* _tmp71_;
-               ValaClass* _tmp72_;
+               ValaClass* _tmp70_;
+               gchar* _tmp71_ = NULL;
+               gchar* _tmp72_;
                ValaClass* _tmp73_;
                ValaClass* _tmp74_;
-               gchar* _tmp75_ = NULL;
-               gchar* _tmp76_;
-               gint _tmp77_;
-               GString* _tmp78_;
+               ValaClass* _tmp75_;
+               gchar* _tmp76_ = NULL;
+               gchar* _tmp77_;
+               gint _tmp78_;
                GString* _tmp79_;
-               gint _tmp80_;
-               GString* _tmp81_;
-               ValaClass* _tmp82_;
-               const gchar* _tmp83_;
+               GString* _tmp80_;
+               gint _tmp81_;
+               GString* _tmp82_;
+               ValaClass* _tmp83_;
                const gchar* _tmp84_;
-               ValaClass* _tmp85_;
-               gchar* _tmp86_ = NULL;
-               gchar* _tmp87_;
-               gint _tmp88_;
-               GString* _tmp89_;
-               ValaArrayList* _tmp90_;
-               ValaClass* _tmp91_;
+               const gchar* _tmp85_;
+               ValaClass* _tmp86_;
+               gchar* _tmp87_ = NULL;
+               gchar* _tmp88_;
+               gint _tmp89_;
+               GString* _tmp90_;
+               ValaArrayList* _tmp91_;
                ValaClass* _tmp92_;
-               ValaArrayList* _tmp93_;
-               gint _tmp94_;
-               GString* _tmp95_;
+               ValaClass* _tmp93_;
+               ValaArrayList* _tmp94_;
+               gint _tmp95_;
                GString* _tmp96_;
-               const gchar* _tmp97_;
-               ValaClass* _tmp98_;
-               GString* _tmp99_;
-               ValaClass* _tmp100_;
-               const gchar* _tmp101_;
+               GString* _tmp97_;
+               const gchar* _tmp98_;
+               ValaClass* _tmp99_;
+               GString* _tmp100_;
+               ValaClass* _tmp101_;
                const gchar* _tmp102_;
-               GString* _tmp103_;
-               gint _tmp104_;
-               GString* _tmp105_;
-               gint _tmp106_;
-               GString* _tmp107_;
-               ValaClass* _tmp108_;
+               const gchar* _tmp103_;
+               GString* _tmp104_;
+               gint _tmp105_;
+               GString* _tmp106_;
+               gint _tmp107_;
+               GString* _tmp108_;
                ValaClass* _tmp109_;
                ValaClass* _tmp110_;
-               gchar* _tmp111_ = NULL;
-               gchar* _tmp112_;
-               ValaClass* _tmp113_;
+               ValaClass* _tmp111_;
+               gchar* _tmp112_ = NULL;
+               gchar* _tmp113_;
                ValaClass* _tmp114_;
                ValaClass* _tmp115_;
-               gchar* _tmp116_ = NULL;
-               gchar* _tmp117_;
-               gint _tmp118_;
-               GString* _tmp119_;
-               gint _tmp242_;
-               GString* _tmp243_;
+               ValaClass* _tmp116_;
+               gchar* _tmp117_ = NULL;
+               gchar* _tmp118_;
+               gint _tmp119_;
+               GString* _tmp120_;
+               gint _tmp243_;
                GString* _tmp244_;
-               ValaClass* _tmp245_;
-               const gchar* _tmp246_;
+               GString* _tmp245_;
+               ValaClass* _tmp246_;
                const gchar* _tmp247_;
-               ValaClass* _tmp248_;
-               gchar* _tmp249_ = NULL;
-               gchar* _tmp250_;
+               const gchar* _tmp248_;
+               ValaClass* _tmp249_;
+               gchar* _tmp250_ = NULL;
+               gchar* _tmp251_;
                _tmp14_ = cl;
-               _tmp15_ = vala_symbol_get_name ((ValaSymbol*) _tmp14_);
+               _tmp15_ = vala_gir_writer_get_gir_name (self, (ValaSymbol*) _tmp14_);
                _tmp16_ = _tmp15_;
                _tmp17_ = g_strconcat (_tmp16_, "Class", NULL);
-               gtype_struct_name = _tmp17_;
+               _tmp18_ = _tmp17_;
+               _g_free0 (_tmp16_);
+               gtype_struct_name = _tmp18_;
                vala_gir_writer_write_indent (self);
-               _tmp18_ = self->priv->buffer;
-               _tmp19_ = cl;
-               _tmp20_ = vala_gir_writer_get_gir_name (self, (ValaSymbol*) _tmp19_);
-               _tmp21_ = _tmp20_;
-               g_string_append_printf (_tmp18_, "<class name=\"%s\"", _tmp21_);
-               _g_free0 (_tmp21_);
-               _tmp22_ = cl;
-               vala_gir_writer_write_gtype_attributes (self, (ValaTypeSymbol*) _tmp22_);
-               _tmp23_ = self->priv->buffer;
-               _tmp24_ = gtype_struct_name;
-               g_string_append_printf (_tmp23_, " glib:type-struct=\"%s\"", _tmp24_);
-               _tmp25_ = self->priv->buffer;
-               _tmp26_ = cl;
-               _tmp27_ = vala_class_get_base_class (_tmp26_);
-               _tmp28_ = _tmp27_;
-               _tmp29_ = vala_gir_writer_gi_type_name (self, (ValaTypeSymbol*) _tmp28_);
-               _tmp30_ = _tmp29_;
-               g_string_append_printf (_tmp25_, " parent=\"%s\"", _tmp30_);
-               _g_free0 (_tmp30_);
-               _tmp31_ = cl;
-               _tmp32_ = vala_class_get_is_abstract (_tmp31_);
-               _tmp33_ = _tmp32_;
-               if (_tmp33_) {
-                       GString* _tmp34_;
-                       _tmp34_ = self->priv->buffer;
-                       g_string_append_printf (_tmp34_, " abstract=\"1\"");
+               _tmp19_ = self->priv->buffer;
+               _tmp20_ = cl;
+               _tmp21_ = vala_gir_writer_get_gir_name (self, (ValaSymbol*) _tmp20_);
+               _tmp22_ = _tmp21_;
+               g_string_append_printf (_tmp19_, "<class name=\"%s\"", _tmp22_);
+               _g_free0 (_tmp22_);
+               _tmp23_ = cl;
+               vala_gir_writer_write_gtype_attributes (self, (ValaTypeSymbol*) _tmp23_);
+               _tmp24_ = self->priv->buffer;
+               _tmp25_ = gtype_struct_name;
+               g_string_append_printf (_tmp24_, " glib:type-struct=\"%s\"", _tmp25_);
+               _tmp26_ = self->priv->buffer;
+               _tmp27_ = cl;
+               _tmp28_ = vala_class_get_base_class (_tmp27_);
+               _tmp29_ = _tmp28_;
+               _tmp30_ = vala_gir_writer_gi_type_name (self, (ValaTypeSymbol*) _tmp29_);
+               _tmp31_ = _tmp30_;
+               g_string_append_printf (_tmp26_, " parent=\"%s\"", _tmp31_);
+               _g_free0 (_tmp31_);
+               _tmp32_ = cl;
+               _tmp33_ = vala_class_get_is_abstract (_tmp32_);
+               _tmp34_ = _tmp33_;
+               if (_tmp34_) {
+                       GString* _tmp35_;
+                       _tmp35_ = self->priv->buffer;
+                       g_string_append_printf (_tmp35_, " abstract=\"1\"");
                }
-               _tmp35_ = cl;
-               vala_gir_writer_write_symbol_attributes (self, (ValaSymbol*) _tmp35_);
-               _tmp36_ = self->priv->buffer;
-               g_string_append_printf (_tmp36_, ">\n");
-               _tmp37_ = self->priv->indent;
-               self->priv->indent = _tmp37_ + 1;
-               _tmp38_ = cl;
-               _tmp39_ = vala_gir_writer_get_class_comment (self, _tmp38_);
-               _tmp40_ = _tmp39_;
-               vala_gir_writer_write_doc (self, _tmp40_);
-               _g_free0 (_tmp40_);
+               _tmp36_ = cl;
+               vala_gir_writer_write_symbol_attributes (self, (ValaSymbol*) _tmp36_);
+               _tmp37_ = self->priv->buffer;
+               g_string_append_printf (_tmp37_, ">\n");
+               _tmp38_ = self->priv->indent;
+               self->priv->indent = _tmp38_ + 1;
+               _tmp39_ = cl;
+               _tmp40_ = vala_gir_writer_get_class_comment (self, _tmp39_);
+               _tmp41_ = _tmp40_;
+               vala_gir_writer_write_doc (self, _tmp41_);
+               _g_free0 (_tmp41_);
                {
-                       ValaClass* _tmp41_;
-                       ValaList* _tmp42_ = NULL;
+                       ValaClass* _tmp42_;
+                       ValaList* _tmp43_ = NULL;
                        ValaList* _base_type_list;
-                       ValaList* _tmp43_;
-                       gint _tmp44_;
+                       ValaList* _tmp44_;
                        gint _tmp45_;
+                       gint _tmp46_;
                        gint _base_type_size;
                        gint _base_type_index;
-                       _tmp41_ = cl;
-                       _tmp42_ = vala_class_get_base_types (_tmp41_);
-                       _base_type_list = _tmp42_;
-                       _tmp43_ = _base_type_list;
-                       _tmp44_ = vala_collection_get_size ((ValaCollection*) _tmp43_);
-                       _tmp45_ = _tmp44_;
-                       _base_type_size = _tmp45_;
+                       _tmp42_ = cl;
+                       _tmp43_ = vala_class_get_base_types (_tmp42_);
+                       _base_type_list = _tmp43_;
+                       _tmp44_ = _base_type_list;
+                       _tmp45_ = vala_collection_get_size ((ValaCollection*) _tmp44_);
+                       _tmp46_ = _tmp45_;
+                       _base_type_size = _tmp46_;
                        _base_type_index = -1;
                        while (TRUE) {
-                               gint _tmp46_;
                                gint _tmp47_;
                                gint _tmp48_;
-                               ValaList* _tmp49_;
-                               gint _tmp50_;
-                               gpointer _tmp51_ = NULL;
+                               gint _tmp49_;
+                               ValaList* _tmp50_;
+                               gint _tmp51_;
+                               gpointer _tmp52_ = NULL;
                                ValaDataType* base_type;
-                               ValaDataType* _tmp52_;
-                               ValaObjectType* _tmp53_;
-                               ValaObjectType* object_type;
+                               ValaDataType* _tmp53_;
                                ValaObjectType* _tmp54_;
-                               ValaObjectTypeSymbol* _tmp55_;
+                               ValaObjectType* object_type;
+                               ValaObjectType* _tmp55_;
                                ValaObjectTypeSymbol* _tmp56_;
-                               _tmp46_ = _base_type_index;
-                               _base_type_index = _tmp46_ + 1;
+                               ValaObjectTypeSymbol* _tmp57_;
                                _tmp47_ = _base_type_index;
-                               _tmp48_ = _base_type_size;
-                               if (!(_tmp47_ < _tmp48_)) {
+                               _base_type_index = _tmp47_ + 1;
+                               _tmp48_ = _base_type_index;
+                               _tmp49_ = _base_type_size;
+                               if (!(_tmp48_ < _tmp49_)) {
                                        break;
                                }
-                               _tmp49_ = _base_type_list;
-                               _tmp50_ = _base_type_index;
-                               _tmp51_ = vala_list_get (_tmp49_, _tmp50_);
-                               base_type = (ValaDataType*) _tmp51_;
-                               _tmp52_ = base_type;
-                               _tmp53_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, VALA_TYPE_OBJECT_TYPE, ValaObjectType));
-                               object_type = _tmp53_;
-                               _tmp54_ = object_type;
-                               _tmp55_ = vala_object_type_get_type_symbol (_tmp54_);
-                               _tmp56_ = _tmp55_;
-                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp56_, VALA_TYPE_INTERFACE)) {
-                                       GString* _tmp57_;
-                                       ValaObjectType* _tmp58_;
-                                       ValaObjectTypeSymbol* _tmp59_;
+                               _tmp50_ = _base_type_list;
+                               _tmp51_ = _base_type_index;
+                               _tmp52_ = vala_list_get (_tmp50_, _tmp51_);
+                               base_type = (ValaDataType*) _tmp52_;
+                               _tmp53_ = base_type;
+                               _tmp54_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, VALA_TYPE_OBJECT_TYPE, ValaObjectType));
+                               object_type = _tmp54_;
+                               _tmp55_ = object_type;
+                               _tmp56_ = vala_object_type_get_type_symbol (_tmp55_);
+                               _tmp57_ = _tmp56_;
+                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp57_, VALA_TYPE_INTERFACE)) {
+                                       GString* _tmp58_;
+                                       ValaObjectType* _tmp59_;
                                        ValaObjectTypeSymbol* _tmp60_;
-                                       gchar* _tmp61_ = NULL;
-                                       gchar* _tmp62_;
+                                       ValaObjectTypeSymbol* _tmp61_;
+                                       gchar* _tmp62_ = NULL;
+                                       gchar* _tmp63_;
                                        vala_gir_writer_write_indent (self);
-                                       _tmp57_ = self->priv->buffer;
-                                       _tmp58_ = object_type;
-                                       _tmp59_ = vala_object_type_get_type_symbol (_tmp58_);
-                                       _tmp60_ = _tmp59_;
-                                       _tmp61_ = vala_gir_writer_gi_type_name (self, (ValaTypeSymbol*) _tmp60_);
-                                       _tmp62_ = _tmp61_;
-                                       g_string_append_printf (_tmp57_, "<implements name=\"%s\"/>\n", _tmp62_);
-                                       _g_free0 (_tmp62_);
+                                       _tmp58_ = self->priv->buffer;
+                                       _tmp59_ = object_type;
+                                       _tmp60_ = vala_object_type_get_type_symbol (_tmp59_);
+                                       _tmp61_ = _tmp60_;
+                                       _tmp62_ = vala_gir_writer_gi_type_name (self, (ValaTypeSymbol*) _tmp61_);
+                                       _tmp63_ = _tmp62_;
+                                       g_string_append_printf (_tmp58_, "<implements name=\"%s\"/>\n", _tmp63_);
+                                       _g_free0 (_tmp63_);
                                }
                                _vala_code_node_unref0 (object_type);
                                _vala_code_node_unref0 (base_type);
                        }
                        _vala_iterable_unref0 (_base_type_list);
                }
-               _tmp63_ = cl;
-               vala_gir_writer_write_annotations (self, (ValaCodeNode*) _tmp63_);
-               vala_gir_writer_write_indent (self);
-               _tmp64_ = self->priv->buffer;
-               g_string_append_printf (_tmp64_, "<field name=\"parent_instance\">\n");
-               _tmp65_ = self->priv->indent;
-               self->priv->indent = _tmp65_ + 1;
+               _tmp64_ = cl;
+               vala_gir_writer_write_annotations (self, (ValaCodeNode*) _tmp64_);
                vala_gir_writer_write_indent (self);
-               _tmp66_ = self->priv->buffer;
-               _tmp67_ = cl;
-               _tmp68_ = vala_class_get_base_class (_tmp67_);
-               _tmp69_ = _tmp68_;
-               _tmp70_ = vala_gir_writer_gi_type_name (self, (ValaTypeSymbol*) _tmp69_);
-               _tmp71_ = _tmp70_;
-               _tmp72_ = cl;
-               _tmp73_ = vala_class_get_base_class (_tmp72_);
-               _tmp74_ = _tmp73_;
-               _tmp75_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp74_);
-               _tmp76_ = _tmp75_;
-               g_string_append_printf (_tmp66_, "<type name=\"%s\" c:type=\"%s\"/>\n", _tmp71_, _tmp76_);
-               _g_free0 (_tmp76_);
-               _g_free0 (_tmp71_);
-               _tmp77_ = self->priv->indent;
-               self->priv->indent = _tmp77_ - 1;
+               _tmp65_ = self->priv->buffer;
+               g_string_append_printf (_tmp65_, "<field name=\"parent_instance\">\n");
+               _tmp66_ = self->priv->indent;
+               self->priv->indent = _tmp66_ + 1;
                vala_gir_writer_write_indent (self);
-               _tmp78_ = self->priv->buffer;
-               g_string_append_printf (_tmp78_, "</field>\n");
+               _tmp67_ = self->priv->buffer;
+               _tmp68_ = cl;
+               _tmp69_ = vala_class_get_base_class (_tmp68_);
+               _tmp70_ = _tmp69_;
+               _tmp71_ = vala_gir_writer_gi_type_name (self, (ValaTypeSymbol*) _tmp70_);
+               _tmp72_ = _tmp71_;
+               _tmp73_ = cl;
+               _tmp74_ = vala_class_get_base_class (_tmp73_);
+               _tmp75_ = _tmp74_;
+               _tmp76_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp75_);
+               _tmp77_ = _tmp76_;
+               g_string_append_printf (_tmp67_, "<type name=\"%s\" c:type=\"%s\"/>\n", _tmp72_, _tmp77_);
+               _g_free0 (_tmp77_);
+               _g_free0 (_tmp72_);
+               _tmp78_ = self->priv->indent;
+               self->priv->indent = _tmp78_ - 1;
                vala_gir_writer_write_indent (self);
                _tmp79_ = self->priv->buffer;
-               g_string_append_printf (_tmp79_, "<field name=\"priv\">\n");
-               _tmp80_ = self->priv->indent;
-               self->priv->indent = _tmp80_ + 1;
+               g_string_append_printf (_tmp79_, "</field>\n");
                vala_gir_writer_write_indent (self);
-               _tmp81_ = self->priv->buffer;
-               _tmp82_ = cl;
-               _tmp83_ = vala_symbol_get_name ((ValaSymbol*) _tmp82_);
-               _tmp84_ = _tmp83_;
-               _tmp85_ = cl;
-               _tmp86_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp85_);
-               _tmp87_ = _tmp86_;
-               g_string_append_printf (_tmp81_, "<type name=\"%sPrivate\" c:type=\"%sPrivate*\"/>\n", _tmp84_, _tmp87_);
-               _g_free0 (_tmp87_);
-               _tmp88_ = self->priv->indent;
-               self->priv->indent = _tmp88_ - 1;
+               _tmp80_ = self->priv->buffer;
+               g_string_append_printf (_tmp80_, "<field name=\"priv\">\n");
+               _tmp81_ = self->priv->indent;
+               self->priv->indent = _tmp81_ + 1;
                vala_gir_writer_write_indent (self);
-               _tmp89_ = self->priv->buffer;
-               g_string_append_printf (_tmp89_, "</field>\n");
-               _tmp90_ = self->priv->hierarchy;
-               _tmp91_ = cl;
-               vala_list_insert ((ValaList*) _tmp90_, 0, (ValaSymbol*) _tmp91_);
-               _tmp92_ = cl;
-               vala_code_node_accept_children ((ValaCodeNode*) _tmp92_, (ValaCodeVisitor*) self);
-               _tmp93_ = self->priv->hierarchy;
-               vala_list_remove_at ((ValaList*) _tmp93_, 0);
-               _tmp94_ = self->priv->indent;
-               self->priv->indent = _tmp94_ - 1;
+               _tmp82_ = self->priv->buffer;
+               _tmp83_ = cl;
+               _tmp84_ = vala_symbol_get_name ((ValaSymbol*) _tmp83_);
+               _tmp85_ = _tmp84_;
+               _tmp86_ = cl;
+               _tmp87_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp86_);
+               _tmp88_ = _tmp87_;
+               g_string_append_printf (_tmp82_, "<type name=\"%sPrivate\" c:type=\"%sPrivate*\"/>\n", _tmp85_, _tmp88_);
+               _g_free0 (_tmp88_);
+               _tmp89_ = self->priv->indent;
+               self->priv->indent = _tmp89_ - 1;
                vala_gir_writer_write_indent (self);
-               _tmp95_ = self->priv->buffer;
-               g_string_append_printf (_tmp95_, "</class>\n");
+               _tmp90_ = self->priv->buffer;
+               g_string_append_printf (_tmp90_, "</field>\n");
+               _tmp91_ = self->priv->hierarchy;
+               _tmp92_ = cl;
+               vala_list_insert ((ValaList*) _tmp91_, 0, (ValaSymbol*) _tmp92_);
+               _tmp93_ = cl;
+               vala_code_node_accept_children ((ValaCodeNode*) _tmp93_, (ValaCodeVisitor*) self);
+               _tmp94_ = self->priv->hierarchy;
+               vala_list_remove_at ((ValaList*) _tmp94_, 0);
+               _tmp95_ = self->priv->indent;
+               self->priv->indent = _tmp95_ - 1;
                vala_gir_writer_write_indent (self);
                _tmp96_ = self->priv->buffer;
-               _tmp97_ = gtype_struct_name;
-               g_string_append_printf (_tmp96_, "<record name=\"%s\"", _tmp97_);
-               _tmp98_ = cl;
-               vala_gir_writer_write_ctype_attributes (self, (ValaTypeSymbol*) _tmp98_, "Class");
-               _tmp99_ = self->priv->buffer;
-               _tmp100_ = cl;
-               _tmp101_ = vala_symbol_get_name ((ValaSymbol*) _tmp100_);
-               _tmp102_ = _tmp101_;
-               g_string_append_printf (_tmp99_, " glib:is-gtype-struct-for=\"%s\"", _tmp102_);
-               _tmp103_ = self->priv->buffer;
-               g_string_append_printf (_tmp103_, ">\n");
-               _tmp104_ = self->priv->indent;
-               self->priv->indent = _tmp104_ + 1;
+               g_string_append_printf (_tmp96_, "</class>\n");
+               vala_gir_writer_write_indent (self);
+               _tmp97_ = self->priv->buffer;
+               _tmp98_ = gtype_struct_name;
+               g_string_append_printf (_tmp97_, "<record name=\"%s\"", _tmp98_);
+               _tmp99_ = cl;
+               vala_gir_writer_write_ctype_attributes (self, (ValaTypeSymbol*) _tmp99_, "Class");
+               _tmp100_ = self->priv->buffer;
+               _tmp101_ = cl;
+               _tmp102_ = vala_symbol_get_name ((ValaSymbol*) _tmp101_);
+               _tmp103_ = _tmp102_;
+               g_string_append_printf (_tmp100_, " glib:is-gtype-struct-for=\"%s\"", _tmp103_);
+               _tmp104_ = self->priv->buffer;
+               g_string_append_printf (_tmp104_, ">\n");
+               _tmp105_ = self->priv->indent;
+               self->priv->indent = _tmp105_ + 1;
                vala_gir_writer_write_indent (self);
-               _tmp105_ = self->priv->buffer;
-               g_string_append_printf (_tmp105_, "<field name=\"parent_class\">\n");
-               _tmp106_ = self->priv->indent;
-               self->priv->indent = _tmp106_ + 1;
+               _tmp106_ = self->priv->buffer;
+               g_string_append_printf (_tmp106_, "<field name=\"parent_class\">\n");
+               _tmp107_ = self->priv->indent;
+               self->priv->indent = _tmp107_ + 1;
                vala_gir_writer_write_indent (self);
-               _tmp107_ = self->priv->buffer;
-               _tmp108_ = cl;
-               _tmp109_ = vala_class_get_base_class (_tmp108_);
-               _tmp110_ = _tmp109_;
-               _tmp111_ = vala_gir_writer_gi_type_name (self, (ValaTypeSymbol*) _tmp110_);
-               _tmp112_ = _tmp111_;
-               _tmp113_ = cl;
-               _tmp114_ = vala_class_get_base_class (_tmp113_);
-               _tmp115_ = _tmp114_;
-               _tmp116_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp115_);
-               _tmp117_ = _tmp116_;
-               g_string_append_printf (_tmp107_, "<type name=\"%sClass\" c:type=\"%sClass\"/>\n", _tmp112_, _tmp117_);
-               _g_free0 (_tmp117_);
-               _g_free0 (_tmp112_);
-               _tmp118_ = self->priv->indent;
-               self->priv->indent = _tmp118_ - 1;
+               _tmp108_ = self->priv->buffer;
+               _tmp109_ = cl;
+               _tmp110_ = vala_class_get_base_class (_tmp109_);
+               _tmp111_ = _tmp110_;
+               _tmp112_ = vala_gir_writer_gi_type_name (self, (ValaTypeSymbol*) _tmp111_);
+               _tmp113_ = _tmp112_;
+               _tmp114_ = cl;
+               _tmp115_ = vala_class_get_base_class (_tmp114_);
+               _tmp116_ = _tmp115_;
+               _tmp117_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp116_);
+               _tmp118_ = _tmp117_;
+               g_string_append_printf (_tmp108_, "<type name=\"%sClass\" c:type=\"%sClass\"/>\n", _tmp113_, _tmp118_);
+               _g_free0 (_tmp118_);
+               _g_free0 (_tmp113_);
+               _tmp119_ = self->priv->indent;
+               self->priv->indent = _tmp119_ - 1;
                vala_gir_writer_write_indent (self);
-               _tmp119_ = self->priv->buffer;
-               g_string_append_printf (_tmp119_, "</field>\n");
+               _tmp120_ = self->priv->buffer;
+               g_string_append_printf (_tmp120_, "</field>\n");
                {
-                       ValaClass* _tmp120_;
-                       ValaList* _tmp121_ = NULL;
+                       ValaClass* _tmp121_;
+                       ValaList* _tmp122_ = NULL;
                        ValaList* _m_list;
-                       ValaList* _tmp122_;
-                       gint _tmp123_;
+                       ValaList* _tmp123_;
                        gint _tmp124_;
+                       gint _tmp125_;
                        gint _m_size;
                        gint _m_index;
-                       _tmp120_ = cl;
-                       _tmp121_ = vala_object_type_symbol_get_methods ((ValaObjectTypeSymbol*) _tmp120_);
-                       _m_list = _tmp121_;
-                       _tmp122_ = _m_list;
-                       _tmp123_ = vala_collection_get_size ((ValaCollection*) _tmp122_);
-                       _tmp124_ = _tmp123_;
-                       _m_size = _tmp124_;
+                       _tmp121_ = cl;
+                       _tmp122_ = vala_object_type_symbol_get_methods ((ValaObjectTypeSymbol*) _tmp121_);
+                       _m_list = _tmp122_;
+                       _tmp123_ = _m_list;
+                       _tmp124_ = vala_collection_get_size ((ValaCollection*) _tmp123_);
+                       _tmp125_ = _tmp124_;
+                       _m_size = _tmp125_;
                        _m_index = -1;
                        while (TRUE) {
-                               gint _tmp125_;
                                gint _tmp126_;
                                gint _tmp127_;
-                               ValaList* _tmp128_;
-                               gint _tmp129_;
-                               gpointer _tmp130_ = NULL;
+                               gint _tmp128_;
+                               ValaList* _tmp129_;
+                               gint _tmp130_;
+                               gpointer _tmp131_ = NULL;
                                ValaMethod* m;
-                               gboolean _tmp131_ = FALSE;
-                               ValaMethod* _tmp132_;
-                               gboolean _tmp133_;
+                               gboolean _tmp132_ = FALSE;
+                               ValaMethod* _tmp133_;
                                gboolean _tmp134_;
-                               gboolean _tmp138_;
-                               _tmp125_ = _m_index;
-                               _m_index = _tmp125_ + 1;
+                               gboolean _tmp135_;
+                               gboolean _tmp139_;
                                _tmp126_ = _m_index;
-                               _tmp127_ = _m_size;
-                               if (!(_tmp126_ < _tmp127_)) {
+                               _m_index = _tmp126_ + 1;
+                               _tmp127_ = _m_index;
+                               _tmp128_ = _m_size;
+                               if (!(_tmp127_ < _tmp128_)) {
                                        break;
                                }
-                               _tmp128_ = _m_list;
-                               _tmp129_ = _m_index;
-                               _tmp130_ = vala_list_get (_tmp128_, _tmp129_);
-                               m = (ValaMethod*) _tmp130_;
-                               _tmp132_ = m;
-                               _tmp133_ = vala_method_get_is_abstract (_tmp132_);
-                               _tmp134_ = _tmp133_;
-                               if (_tmp134_) {
-                                       _tmp131_ = TRUE;
+                               _tmp129_ = _m_list;
+                               _tmp130_ = _m_index;
+                               _tmp131_ = vala_list_get (_tmp129_, _tmp130_);
+                               m = (ValaMethod*) _tmp131_;
+                               _tmp133_ = m;
+                               _tmp134_ = vala_method_get_is_abstract (_tmp133_);
+                               _tmp135_ = _tmp134_;
+                               if (_tmp135_) {
+                                       _tmp132_ = TRUE;
                                } else {
-                                       ValaMethod* _tmp135_;
-                                       gboolean _tmp136_;
+                                       ValaMethod* _tmp136_;
                                        gboolean _tmp137_;
-                                       _tmp135_ = m;
-                                       _tmp136_ = vala_method_get_is_virtual (_tmp135_);
-                                       _tmp137_ = _tmp136_;
-                                       _tmp131_ = _tmp137_;
+                                       gboolean _tmp138_;
+                                       _tmp136_ = m;
+                                       _tmp137_ = vala_method_get_is_virtual (_tmp136_);
+                                       _tmp138_ = _tmp137_;
+                                       _tmp132_ = _tmp138_;
                                }
-                               _tmp138_ = _tmp131_;
-                               if (_tmp138_) {
-                                       ValaMethod* _tmp139_;
-                                       gboolean _tmp140_;
+                               _tmp139_ = _tmp132_;
+                               if (_tmp139_) {
+                                       ValaMethod* _tmp140_;
                                        gboolean _tmp141_;
+                                       gboolean _tmp142_;
                                        vala_gir_writer_write_indent (self);
-                                       _tmp139_ = m;
-                                       _tmp140_ = vala_method_get_coroutine (_tmp139_);
-                                       _tmp141_ = _tmp140_;
-                                       if (_tmp141_) {
-                                               ValaMethod* _tmp142_;
-                                               const gchar* _tmp143_;
+                                       _tmp140_ = m;
+                                       _tmp141_ = vala_method_get_coroutine (_tmp140_);
+                                       _tmp142_ = _tmp141_;
+                                       if (_tmp142_) {
+                                               ValaMethod* _tmp143_;
                                                const gchar* _tmp144_;
-                                               gchar* _tmp145_;
+                                               const gchar* _tmp145_;
+                                               gchar* _tmp146_;
                                                gchar* finish_name;
-                                               const gchar* _tmp146_;
-                                               gboolean _tmp147_ = FALSE;
-                                               const gchar* _tmp155_;
-                                               gchar* _tmp156_;
-                                               GString* _tmp157_;
-                                               ValaMethod* _tmp158_;
-                                               const gchar* _tmp159_;
+                                               const gchar* _tmp147_;
+                                               gboolean _tmp148_ = FALSE;
+                                               const gchar* _tmp156_;
+                                               gchar* _tmp157_;
+                                               GString* _tmp158_;
+                                               ValaMethod* _tmp159_;
                                                const gchar* _tmp160_;
-                                               gint _tmp161_;
-                                               ValaMethod* _tmp162_;
+                                               const gchar* _tmp161_;
+                                               gint _tmp162_;
                                                ValaMethod* _tmp163_;
-                                               const gchar* _tmp164_;
+                                               ValaMethod* _tmp164_;
                                                const gchar* _tmp165_;
-                                               ValaMethod* _tmp166_;
-                                               gchar* _tmp167_ = NULL;
-                                               gchar* _tmp168_;
-                                               ValaMethod* _tmp169_;
-                                               ValaList* _tmp170_ = NULL;
-                                               ValaList* _tmp171_;
-                                               ValaVoidType* _tmp172_;
+                                               const gchar* _tmp166_;
+                                               ValaMethod* _tmp167_;
+                                               gchar* _tmp168_ = NULL;
+                                               gchar* _tmp169_;
+                                               ValaMethod* _tmp170_;
+                                               ValaList* _tmp171_ = NULL;
+                                               ValaList* _tmp172_;
                                                ValaVoidType* _tmp173_;
-                                               gint _tmp174_;
-                                               GString* _tmp175_;
+                                               ValaVoidType* _tmp174_;
+                                               gint _tmp175_;
                                                GString* _tmp176_;
-                                               const gchar* _tmp177_;
-                                               gint _tmp178_;
-                                               ValaMethod* _tmp179_;
-                                               const gchar* _tmp180_;
-                                               ValaMethod* _tmp181_;
-                                               gchar* _tmp182_ = NULL;
-                                               gchar* _tmp183_;
-                                               ValaMethod* _tmp184_;
-                                               ValaList* _tmp185_ = NULL;
-                                               ValaList* _tmp186_;
-                                               ValaMethod* _tmp187_;
-                                               ValaDataType* _tmp188_;
+                                               GString* _tmp177_;
+                                               const gchar* _tmp178_;
+                                               gint _tmp179_;
+                                               ValaMethod* _tmp180_;
+                                               const gchar* _tmp181_;
+                                               ValaMethod* _tmp182_;
+                                               gchar* _tmp183_ = NULL;
+                                               gchar* _tmp184_;
+                                               ValaMethod* _tmp185_;
+                                               ValaList* _tmp186_ = NULL;
+                                               ValaList* _tmp187_;
+                                               ValaMethod* _tmp188_;
                                                ValaDataType* _tmp189_;
-                                               ValaMethod* _tmp190_;
-                                               gboolean _tmp191_;
+                                               ValaDataType* _tmp190_;
+                                               ValaMethod* _tmp191_;
                                                gboolean _tmp192_;
-                                               gint _tmp193_;
-                                               GString* _tmp194_;
-                                               _tmp142_ = m;
-                                               _tmp143_ = vala_symbol_get_name ((ValaSymbol*) _tmp142_);
-                                               _tmp144_ = _tmp143_;
-                                               _tmp145_ = g_strdup (_tmp144_);
-                                               finish_name = _tmp145_;
-                                               _tmp146_ = finish_name;
-                                               _tmp147_ = g_str_has_suffix (_tmp146_, "_async");
-                                               if (_tmp147_) {
-                                                       const gchar* _tmp148_;
+                                               gboolean _tmp193_;
+                                               gint _tmp194_;
+                                               GString* _tmp195_;
+                                               _tmp143_ = m;
+                                               _tmp144_ = vala_symbol_get_name ((ValaSymbol*) _tmp143_);
+                                               _tmp145_ = _tmp144_;
+                                               _tmp146_ = g_strdup (_tmp145_);
+                                               finish_name = _tmp146_;
+                                               _tmp147_ = finish_name;
+                                               _tmp148_ = g_str_has_suffix (_tmp147_, "_async");
+                                               if (_tmp148_) {
                                                        const gchar* _tmp149_;
-                                                       gint _tmp150_;
+                                                       const gchar* _tmp150_;
                                                        gint _tmp151_;
                                                        gint _tmp152_;
                                                        gint _tmp153_;
-                                                       gchar* _tmp154_ = NULL;
-                                                       _tmp148_ = finish_name;
+                                                       gint _tmp154_;
+                                                       gchar* _tmp155_ = NULL;
                                                        _tmp149_ = finish_name;
-                                                       _tmp150_ = strlen (_tmp149_);
-                                                       _tmp151_ = _tmp150_;
-                                                       _tmp152_ = strlen ("_async");
-                                                       _tmp153_ = _tmp152_;
-                                                       _tmp154_ = string_substring (_tmp148_, (glong) 0, (glong) (_tmp151_ - _tmp153_));
+                                                       _tmp150_ = finish_name;
+                                                       _tmp151_ = strlen (_tmp150_);
+                                                       _tmp152_ = _tmp151_;
+                                                       _tmp153_ = strlen ("_async");
+                                                       _tmp154_ = _tmp153_;
+                                                       _tmp155_ = string_substring (_tmp149_, (glong) 0, (glong) (_tmp152_ - _tmp154_));
                                                        _g_free0 (finish_name);
-                                                       finish_name = _tmp154_;
+                                                       finish_name = _tmp155_;
                                                }
-                                               _tmp155_ = finish_name;
-                                               _tmp156_ = g_strconcat (_tmp155_, "_finish", NULL);
+                                               _tmp156_ = finish_name;
+                                               _tmp157_ = g_strconcat (_tmp156_, "_finish", NULL);
                                                _g_free0 (finish_name);
-                                               finish_name = _tmp156_;
+                                               finish_name = _tmp157_;
                                                vala_gir_writer_write_indent (self);
-                                               _tmp157_ = self->priv->buffer;
-                                               _tmp158_ = m;
-                                               _tmp159_ = vala_symbol_get_name ((ValaSymbol*) _tmp158_);
-                                               _tmp160_ = _tmp159_;
-                                               g_string_append_printf (_tmp157_, "<field name=\"%s\">\n", _tmp160_);
-                                               _tmp161_ = self->priv->indent;
-                                               self->priv->indent = _tmp161_ + 1;
-                                               _tmp162_ = m;
+                                               _tmp158_ = self->priv->buffer;
+                                               _tmp159_ = m;
+                                               _tmp160_ = vala_symbol_get_name ((ValaSymbol*) _tmp159_);
+                                               _tmp161_ = _tmp160_;
+                                               g_string_append_printf (_tmp158_, "<field name=\"%s\">\n", _tmp161_);
+                                               _tmp162_ = self->priv->indent;
+                                               self->priv->indent = _tmp162_ + 1;
                                                _tmp163_ = m;
-                                               _tmp164_ = vala_symbol_get_name ((ValaSymbol*) _tmp163_);
-                                               _tmp165_ = _tmp164_;
-                                               _tmp166_ = m;
-                                               _tmp167_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp166_);
-                                               _tmp168_ = _tmp167_;
-                                               _tmp169_ = m;
-                                               _tmp170_ = vala_method_get_async_begin_parameters (_tmp169_);
-                                               _tmp171_ = _tmp170_;
-                                               _tmp172_ = vala_void_type_new (NULL);
-                                               _tmp173_ = _tmp172_;
-                                               vala_gir_writer_do_write_signature (self, _tmp162_, "callback", TRUE, _tmp165_, _tmp168_, _tmp171_, (ValaDataType*) _tmp173_, FALSE, FALSE);
-                                               _vala_code_node_unref0 (_tmp173_);
-                                               _vala_iterable_unref0 (_tmp171_);
-                                               _g_free0 (_tmp168_);
-                                               _tmp174_ = self->priv->indent;
-                                               self->priv->indent = _tmp174_ - 1;
-                                               vala_gir_writer_write_indent (self);
-                                               _tmp175_ = self->priv->buffer;
-                                               g_string_append_printf (_tmp175_, "</field>\n");
+                                               _tmp164_ = m;
+                                               _tmp165_ = vala_symbol_get_name ((ValaSymbol*) _tmp164_);
+                                               _tmp166_ = _tmp165_;
+                                               _tmp167_ = m;
+                                               _tmp168_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp167_);
+                                               _tmp169_ = _tmp168_;
+                                               _tmp170_ = m;
+                                               _tmp171_ = vala_method_get_async_begin_parameters (_tmp170_);
+                                               _tmp172_ = _tmp171_;
+                                               _tmp173_ = vala_void_type_new (NULL);
+                                               _tmp174_ = _tmp173_;
+                                               vala_gir_writer_do_write_signature (self, _tmp163_, "callback", TRUE, _tmp166_, _tmp169_, _tmp172_, (ValaDataType*) _tmp174_, FALSE, FALSE);
+                                               _vala_code_node_unref0 (_tmp174_);
+                                               _vala_iterable_unref0 (_tmp172_);
+                                               _g_free0 (_tmp169_);
+                                               _tmp175_ = self->priv->indent;
+                                               self->priv->indent = _tmp175_ - 1;
                                                vala_gir_writer_write_indent (self);
                                                _tmp176_ = self->priv->buffer;
-                                               _tmp177_ = finish_name;
-                                               g_string_append_printf (_tmp176_, "<field name=\"%s\">\n", _tmp177_);
-                                               _tmp178_ = self->priv->indent;
-                                               self->priv->indent = _tmp178_ + 1;
-                                               _tmp179_ = m;
-                                               _tmp180_ = finish_name;
-                                               _tmp181_ = m;
-                                               _tmp182_ = vala_ccode_base_module_get_ccode_finish_name (_tmp181_);
-                                               _tmp183_ = _tmp182_;
-                                               _tmp184_ = m;
-                                               _tmp185_ = vala_method_get_async_end_parameters (_tmp184_);
-                                               _tmp186_ = _tmp185_;
-                                               _tmp187_ = m;
-                                               _tmp188_ = vala_method_get_return_type (_tmp187_);
-                                               _tmp189_ = _tmp188_;
-                                               _tmp190_ = m;
-                                               _tmp191_ = vala_code_node_get_tree_can_fail ((ValaCodeNode*) _tmp190_);
-                                               _tmp192_ = _tmp191_;
-                                               vala_gir_writer_do_write_signature (self, _tmp179_, "callback", TRUE, _tmp180_, _tmp183_, _tmp186_, _tmp189_, _tmp192_, FALSE);
-                                               _vala_iterable_unref0 (_tmp186_);
-                                               _g_free0 (_tmp183_);
-                                               _tmp193_ = self->priv->indent;
-                                               self->priv->indent = _tmp193_ - 1;
+                                               g_string_append_printf (_tmp176_, "</field>\n");
                                                vala_gir_writer_write_indent (self);
-                                               _tmp194_ = self->priv->buffer;
-                                               g_string_append_printf (_tmp194_, "</field>\n");
+                                               _tmp177_ = self->priv->buffer;
+                                               _tmp178_ = finish_name;
+                                               g_string_append_printf (_tmp177_, "<field name=\"%s\">\n", _tmp178_);
+                                               _tmp179_ = self->priv->indent;
+                                               self->priv->indent = _tmp179_ + 1;
+                                               _tmp180_ = m;
+                                               _tmp181_ = finish_name;
+                                               _tmp182_ = m;
+                                               _tmp183_ = vala_ccode_base_module_get_ccode_finish_name (_tmp182_);
+                                               _tmp184_ = _tmp183_;
+                                               _tmp185_ = m;
+                                               _tmp186_ = vala_method_get_async_end_parameters (_tmp185_);
+                                               _tmp187_ = _tmp186_;
+                                               _tmp188_ = m;
+                                               _tmp189_ = vala_method_get_return_type (_tmp188_);
+                                               _tmp190_ = _tmp189_;
+                                               _tmp191_ = m;
+                                               _tmp192_ = vala_code_node_get_tree_can_fail ((ValaCodeNode*) _tmp191_);
+                                               _tmp193_ = _tmp192_;
+                                               vala_gir_writer_do_write_signature (self, _tmp180_, "callback", TRUE, _tmp181_, _tmp184_, _tmp187_, _tmp190_, _tmp193_, FALSE);
+                                               _vala_iterable_unref0 (_tmp187_);
+                                               _g_free0 (_tmp184_);
+                                               _tmp194_ = self->priv->indent;
+                                               self->priv->indent = _tmp194_ - 1;
+                                               vala_gir_writer_write_indent (self);
+                                               _tmp195_ = self->priv->buffer;
+                                               g_string_append_printf (_tmp195_, "</field>\n");
                                                _g_free0 (finish_name);
                                        } else {
-                                               GString* _tmp195_;
-                                               ValaMethod* _tmp196_;
-                                               const gchar* _tmp197_;
+                                               GString* _tmp196_;
+                                               ValaMethod* _tmp197_;
                                                const gchar* _tmp198_;
-                                               gint _tmp199_;
-                                               ValaMethod* _tmp200_;
+                                               const gchar* _tmp199_;
+                                               gint _tmp200_;
                                                ValaMethod* _tmp201_;
-                                               const gchar* _tmp202_;
+                                               ValaMethod* _tmp202_;
                                                const gchar* _tmp203_;
-                                               ValaMethod* _tmp204_;
-                                               gchar* _tmp205_ = NULL;
-                                               gchar* _tmp206_;
-                                               ValaMethod* _tmp207_;
-                                               ValaList* _tmp208_ = NULL;
-                                               ValaList* _tmp209_;
-                                               ValaMethod* _tmp210_;
-                                               ValaDataType* _tmp211_;
+                                               const gchar* _tmp204_;
+                                               ValaMethod* _tmp205_;
+                                               gchar* _tmp206_ = NULL;
+                                               gchar* _tmp207_;
+                                               ValaMethod* _tmp208_;
+                                               ValaList* _tmp209_ = NULL;
+                                               ValaList* _tmp210_;
+                                               ValaMethod* _tmp211_;
                                                ValaDataType* _tmp212_;
-                                               ValaMethod* _tmp213_;
-                                               gboolean _tmp214_;
+                                               ValaDataType* _tmp213_;
+                                               ValaMethod* _tmp214_;
                                                gboolean _tmp215_;
-                                               gint _tmp216_;
-                                               GString* _tmp217_;
+                                               gboolean _tmp216_;
+                                               gint _tmp217_;
+                                               GString* _tmp218_;
                                                vala_gir_writer_write_indent (self);
-                                               _tmp195_ = self->priv->buffer;
-                                               _tmp196_ = m;
-                                               _tmp197_ = vala_symbol_get_name ((ValaSymbol*) _tmp196_);
-                                               _tmp198_ = _tmp197_;
-                                               g_string_append_printf (_tmp195_, "<field name=\"%s\">\n", _tmp198_);
-                                               _tmp199_ = self->priv->indent;
-                                               self->priv->indent = _tmp199_ + 1;
-                                               _tmp200_ = m;
+                                               _tmp196_ = self->priv->buffer;
+                                               _tmp197_ = m;
+                                               _tmp198_ = vala_symbol_get_name ((ValaSymbol*) _tmp197_);
+                                               _tmp199_ = _tmp198_;
+                                               g_string_append_printf (_tmp196_, "<field name=\"%s\">\n", _tmp199_);
+                                               _tmp200_ = self->priv->indent;
+                                               self->priv->indent = _tmp200_ + 1;
                                                _tmp201_ = m;
-                                               _tmp202_ = vala_symbol_get_name ((ValaSymbol*) _tmp201_);
-                                               _tmp203_ = _tmp202_;
-                                               _tmp204_ = m;
-                                               _tmp205_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp204_);
-                                               _tmp206_ = _tmp205_;
-                                               _tmp207_ = m;
-                                               _tmp208_ = vala_method_get_parameters (_tmp207_);
-                                               _tmp209_ = _tmp208_;
-                                               _tmp210_ = m;
-                                               _tmp211_ = vala_method_get_return_type (_tmp210_);
-                                               _tmp212_ = _tmp211_;
-                                               _tmp213_ = m;
-                                               _tmp214_ = vala_code_node_get_tree_can_fail ((ValaCodeNode*) _tmp213_);
-                                               _tmp215_ = _tmp214_;
-                                               vala_gir_writer_do_write_signature (self, _tmp200_, "callback", TRUE, _tmp203_, _tmp206_, _tmp209_, _tmp212_, _tmp215_, FALSE);
-                                               _vala_iterable_unref0 (_tmp209_);
-                                               _g_free0 (_tmp206_);
-                                               _tmp216_ = self->priv->indent;
-                                               self->priv->indent = _tmp216_ - 1;
+                                               _tmp202_ = m;
+                                               _tmp203_ = vala_symbol_get_name ((ValaSymbol*) _tmp202_);
+                                               _tmp204_ = _tmp203_;
+                                               _tmp205_ = m;
+                                               _tmp206_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp205_);
+                                               _tmp207_ = _tmp206_;
+                                               _tmp208_ = m;
+                                               _tmp209_ = vala_method_get_parameters (_tmp208_);
+                                               _tmp210_ = _tmp209_;
+                                               _tmp211_ = m;
+                                               _tmp212_ = vala_method_get_return_type (_tmp211_);
+                                               _tmp213_ = _tmp212_;
+                                               _tmp214_ = m;
+                                               _tmp215_ = vala_code_node_get_tree_can_fail ((ValaCodeNode*) _tmp214_);
+                                               _tmp216_ = _tmp215_;
+                                               vala_gir_writer_do_write_signature (self, _tmp201_, "callback", TRUE, _tmp204_, _tmp207_, _tmp210_, _tmp213_, _tmp216_, FALSE);
+                                               _vala_iterable_unref0 (_tmp210_);
+                                               _g_free0 (_tmp207_);
+                                               _tmp217_ = self->priv->indent;
+                                               self->priv->indent = _tmp217_ - 1;
                                                vala_gir_writer_write_indent (self);
-                                               _tmp217_ = self->priv->buffer;
-                                               g_string_append_printf (_tmp217_, "</field>\n");
+                                               _tmp218_ = self->priv->buffer;
+                                               g_string_append_printf (_tmp218_, "</field>\n");
                                        }
                                }
                                _vala_code_node_unref0 (m);
@@ -1912,146 +1916,146 @@ static void vala_gir_writer_real_visit_class (ValaCodeVisitor* base, ValaClass*
                        _vala_iterable_unref0 (_m_list);
                }
                {
-                       ValaClass* _tmp218_;
-                       ValaList* _tmp219_ = NULL;
+                       ValaClass* _tmp219_;
+                       ValaList* _tmp220_ = NULL;
                        ValaList* _sig_list;
-                       ValaList* _tmp220_;
-                       gint _tmp221_;
+                       ValaList* _tmp221_;
                        gint _tmp222_;
+                       gint _tmp223_;
                        gint _sig_size;
                        gint _sig_index;
-                       _tmp218_ = cl;
-                       _tmp219_ = vala_object_type_symbol_get_signals ((ValaObjectTypeSymbol*) _tmp218_);
-                       _sig_list = _tmp219_;
-                       _tmp220_ = _sig_list;
-                       _tmp221_ = vala_collection_get_size ((ValaCollection*) _tmp220_);
-                       _tmp222_ = _tmp221_;
-                       _sig_size = _tmp222_;
+                       _tmp219_ = cl;
+                       _tmp220_ = vala_object_type_symbol_get_signals ((ValaObjectTypeSymbol*) _tmp219_);
+                       _sig_list = _tmp220_;
+                       _tmp221_ = _sig_list;
+                       _tmp222_ = vala_collection_get_size ((ValaCollection*) _tmp221_);
+                       _tmp223_ = _tmp222_;
+                       _sig_size = _tmp223_;
                        _sig_index = -1;
                        while (TRUE) {
-                               gint _tmp223_;
                                gint _tmp224_;
                                gint _tmp225_;
-                               ValaList* _tmp226_;
-                               gint _tmp227_;
-                               gpointer _tmp228_ = NULL;
+                               gint _tmp226_;
+                               ValaList* _tmp227_;
+                               gint _tmp228_;
+                               gpointer _tmp229_ = NULL;
                                ValaSignal* sig;
-                               ValaSignal* _tmp229_;
-                               ValaMethod* _tmp230_;
+                               ValaSignal* _tmp230_;
                                ValaMethod* _tmp231_;
-                               _tmp223_ = _sig_index;
-                               _sig_index = _tmp223_ + 1;
+                               ValaMethod* _tmp232_;
                                _tmp224_ = _sig_index;
-                               _tmp225_ = _sig_size;
-                               if (!(_tmp224_ < _tmp225_)) {
+                               _sig_index = _tmp224_ + 1;
+                               _tmp225_ = _sig_index;
+                               _tmp226_ = _sig_size;
+                               if (!(_tmp225_ < _tmp226_)) {
                                        break;
                                }
-                               _tmp226_ = _sig_list;
-                               _tmp227_ = _sig_index;
-                               _tmp228_ = vala_list_get (_tmp226_, _tmp227_);
-                               sig = (ValaSignal*) _tmp228_;
-                               _tmp229_ = sig;
-                               _tmp230_ = vala_signal_get_default_handler (_tmp229_);
-                               _tmp231_ = _tmp230_;
-                               if (_tmp231_ != NULL) {
-                                       GString* _tmp232_;
-                                       ValaSignal* _tmp233_;
-                                       const gchar* _tmp234_;
+                               _tmp227_ = _sig_list;
+                               _tmp228_ = _sig_index;
+                               _tmp229_ = vala_list_get (_tmp227_, _tmp228_);
+                               sig = (ValaSignal*) _tmp229_;
+                               _tmp230_ = sig;
+                               _tmp231_ = vala_signal_get_default_handler (_tmp230_);
+                               _tmp232_ = _tmp231_;
+                               if (_tmp232_ != NULL) {
+                                       GString* _tmp233_;
+                                       ValaSignal* _tmp234_;
                                        const gchar* _tmp235_;
-                                       gint _tmp236_;
-                                       ValaSignal* _tmp237_;
-                                       ValaMethod* _tmp238_;
+                                       const gchar* _tmp236_;
+                                       gint _tmp237_;
+                                       ValaSignal* _tmp238_;
                                        ValaMethod* _tmp239_;
-                                       gint _tmp240_;
-                                       GString* _tmp241_;
+                                       ValaMethod* _tmp240_;
+                                       gint _tmp241_;
+                                       GString* _tmp242_;
                                        vala_gir_writer_write_indent (self);
-                                       _tmp232_ = self->priv->buffer;
-                                       _tmp233_ = sig;
-                                       _tmp234_ = vala_symbol_get_name ((ValaSymbol*) _tmp233_);
-                                       _tmp235_ = _tmp234_;
-                                       g_string_append_printf (_tmp232_, "<field name=\"%s\">\n", _tmp235_);
-                                       _tmp236_ = self->priv->indent;
-                                       self->priv->indent = _tmp236_ + 1;
-                                       _tmp237_ = sig;
-                                       _tmp238_ = vala_signal_get_default_handler (_tmp237_);
-                                       _tmp239_ = _tmp238_;
-                                       vala_gir_writer_write_signature (self, _tmp239_, "callback", FALSE, TRUE);
-                                       _tmp240_ = self->priv->indent;
-                                       self->priv->indent = _tmp240_ - 1;
+                                       _tmp233_ = self->priv->buffer;
+                                       _tmp234_ = sig;
+                                       _tmp235_ = vala_symbol_get_name ((ValaSymbol*) _tmp234_);
+                                       _tmp236_ = _tmp235_;
+                                       g_string_append_printf (_tmp233_, "<field name=\"%s\">\n", _tmp236_);
+                                       _tmp237_ = self->priv->indent;
+                                       self->priv->indent = _tmp237_ + 1;
+                                       _tmp238_ = sig;
+                                       _tmp239_ = vala_signal_get_default_handler (_tmp238_);
+                                       _tmp240_ = _tmp239_;
+                                       vala_gir_writer_write_signature (self, _tmp240_, "callback", FALSE, TRUE);
+                                       _tmp241_ = self->priv->indent;
+                                       self->priv->indent = _tmp241_ - 1;
                                        vala_gir_writer_write_indent (self);
-                                       _tmp241_ = self->priv->buffer;
-                                       g_string_append_printf (_tmp241_, "</field>\n");
+                                       _tmp242_ = self->priv->buffer;
+                                       g_string_append_printf (_tmp242_, "</field>\n");
                                }
                                _vala_code_node_unref0 (sig);
                        }
                        _vala_iterable_unref0 (_sig_list);
                }
-               _tmp242_ = self->priv->indent;
-               self->priv->indent = _tmp242_ - 1;
-               vala_gir_writer_write_indent (self);
-               _tmp243_ = self->priv->buffer;
-               g_string_append_printf (_tmp243_, "</record>\n");
+               _tmp243_ = self->priv->indent;
+               self->priv->indent = _tmp243_ - 1;
                vala_gir_writer_write_indent (self);
                _tmp244_ = self->priv->buffer;
-               _tmp245_ = cl;
-               _tmp246_ = vala_symbol_get_name ((ValaSymbol*) _tmp245_);
-               _tmp247_ = _tmp246_;
-               _tmp248_ = cl;
-               _tmp249_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp248_);
-               _tmp250_ = _tmp249_;
-               g_string_append_printf (_tmp244_, "<record name=\"%sPrivate\" c:type=\"%sPrivate\" disguised=\"1\"/>\n", _tmp247_, _tmp250_);
-               _g_free0 (_tmp250_);
+               g_string_append_printf (_tmp244_, "</record>\n");
+               vala_gir_writer_write_indent (self);
+               _tmp245_ = self->priv->buffer;
+               _tmp246_ = cl;
+               _tmp247_ = vala_symbol_get_name ((ValaSymbol*) _tmp246_);
+               _tmp248_ = _tmp247_;
+               _tmp249_ = cl;
+               _tmp250_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp249_);
+               _tmp251_ = _tmp250_;
+               g_string_append_printf (_tmp245_, "<record name=\"%sPrivate\" c:type=\"%sPrivate\" disguised=\"1\"/>\n", _tmp248_, _tmp251_);
+               _g_free0 (_tmp251_);
                _g_free0 (gtype_struct_name);
        } else {
-               GString* _tmp251_;
-               ValaClass* _tmp252_;
-               gchar* _tmp253_ = NULL;
-               gchar* _tmp254_;
-               ValaClass* _tmp255_;
-               GString* _tmp256_;
-               gint _tmp257_;
-               ValaClass* _tmp258_;
-               gchar* _tmp259_ = NULL;
-               gchar* _tmp260_;
-               ValaClass* _tmp261_;
-               ValaArrayList* _tmp262_;
-               ValaClass* _tmp263_;
+               GString* _tmp252_;
+               ValaClass* _tmp253_;
+               gchar* _tmp254_ = NULL;
+               gchar* _tmp255_;
+               ValaClass* _tmp256_;
+               GString* _tmp257_;
+               gint _tmp258_;
+               ValaClass* _tmp259_;
+               gchar* _tmp260_ = NULL;
+               gchar* _tmp261_;
+               ValaClass* _tmp262_;
+               ValaArrayList* _tmp263_;
                ValaClass* _tmp264_;
-               ValaArrayList* _tmp265_;
-               gint _tmp266_;
-               GString* _tmp267_;
+               ValaClass* _tmp265_;
+               ValaArrayList* _tmp266_;
+               gint _tmp267_;
+               GString* _tmp268_;
                vala_gir_writer_write_indent (self);
-               _tmp251_ = self->priv->buffer;
-               _tmp252_ = cl;
-               _tmp253_ = vala_gir_writer_get_gir_name (self, (ValaSymbol*) _tmp252_);
-               _tmp254_ = _tmp253_;
-               g_string_append_printf (_tmp251_, "<record name=\"%s\"", _tmp254_);
-               _g_free0 (_tmp254_);
-               _tmp255_ = cl;
-               vala_gir_writer_write_symbol_attributes (self, (ValaSymbol*) _tmp255_);
-               _tmp256_ = self->priv->buffer;
-               g_string_append_printf (_tmp256_, ">\n");
-               _tmp257_ = self->priv->indent;
-               self->priv->indent = _tmp257_ + 1;
-               _tmp258_ = cl;
-               _tmp259_ = vala_gir_writer_get_class_comment (self, _tmp258_);
-               _tmp260_ = _tmp259_;
-               vala_gir_writer_write_doc (self, _tmp260_);
-               _g_free0 (_tmp260_);
-               _tmp261_ = cl;
-               vala_gir_writer_write_annotations (self, (ValaCodeNode*) _tmp261_);
-               _tmp262_ = self->priv->hierarchy;
-               _tmp263_ = cl;
-               vala_list_insert ((ValaList*) _tmp262_, 0, (ValaSymbol*) _tmp263_);
+               _tmp252_ = self->priv->buffer;
+               _tmp253_ = cl;
+               _tmp254_ = vala_gir_writer_get_gir_name (self, (ValaSymbol*) _tmp253_);
+               _tmp255_ = _tmp254_;
+               g_string_append_printf (_tmp252_, "<record name=\"%s\"", _tmp255_);
+               _g_free0 (_tmp255_);
+               _tmp256_ = cl;
+               vala_gir_writer_write_symbol_attributes (self, (ValaSymbol*) _tmp256_);
+               _tmp257_ = self->priv->buffer;
+               g_string_append_printf (_tmp257_, ">\n");
+               _tmp258_ = self->priv->indent;
+               self->priv->indent = _tmp258_ + 1;
+               _tmp259_ = cl;
+               _tmp260_ = vala_gir_writer_get_class_comment (self, _tmp259_);
+               _tmp261_ = _tmp260_;
+               vala_gir_writer_write_doc (self, _tmp261_);
+               _g_free0 (_tmp261_);
+               _tmp262_ = cl;
+               vala_gir_writer_write_annotations (self, (ValaCodeNode*) _tmp262_);
+               _tmp263_ = self->priv->hierarchy;
                _tmp264_ = cl;
-               vala_code_node_accept_children ((ValaCodeNode*) _tmp264_, (ValaCodeVisitor*) self);
-               _tmp265_ = self->priv->hierarchy;
-               vala_list_remove_at ((ValaList*) _tmp265_, 0);
-               _tmp266_ = self->priv->indent;
-               self->priv->indent = _tmp266_ - 1;
+               vala_list_insert ((ValaList*) _tmp263_, 0, (ValaSymbol*) _tmp264_);
+               _tmp265_ = cl;
+               vala_code_node_accept_children ((ValaCodeNode*) _tmp265_, (ValaCodeVisitor*) self);
+               _tmp266_ = self->priv->hierarchy;
+               vala_list_remove_at ((ValaList*) _tmp266_, 0);
+               _tmp267_ = self->priv->indent;
+               self->priv->indent = _tmp267_ - 1;
                vala_gir_writer_write_indent (self);
-               _tmp267_ = self->priv->buffer;
-               g_string_append_printf (_tmp267_, "</record>\n");
+               _tmp268_ = self->priv->buffer;
+               g_string_append_printf (_tmp268_, "</record>\n");
        }
        vala_gir_writer_visit_deferred (self);
 }
@@ -5761,156 +5765,204 @@ static void vala_gir_writer_write_type (ValaGIRWriter* self, ValaDataType* type,
                                _tmp29_ = vala_data_type_get_data_type (_tmp28_);
                                _tmp30_ = _tmp29_;
                                if (_tmp30_ != NULL) {
-                                       GString* _tmp31_;
-                                       ValaDataType* _tmp32_;
+                                       ValaDataType* _tmp31_;
+                                       ValaTypeSymbol* _tmp32_;
                                        ValaTypeSymbol* _tmp33_;
-                                       ValaTypeSymbol* _tmp34_;
-                                       gchar* _tmp35_ = NULL;
-                                       gchar* _tmp36_;
-                                       ValaDataType* _tmp37_;
-                                       gchar* _tmp38_ = NULL;
-                                       gchar* _tmp39_;
-                                       ValaDataType* _tmp40_;
-                                       ValaList* _tmp41_ = NULL;
+                                       gchar* _tmp34_ = NULL;
+                                       gchar* type_name;
+                                       gboolean is_array;
+                                       gboolean _tmp35_ = FALSE;
+                                       const gchar* _tmp36_;
+                                       gboolean _tmp38_;
+                                       const gchar* _tmp39_ = NULL;
+                                       gboolean _tmp40_;
+                                       GString* _tmp41_;
+                                       const gchar* _tmp42_;
+                                       ValaDataType* _tmp43_;
+                                       ValaTypeSymbol* _tmp44_;
+                                       ValaTypeSymbol* _tmp45_;
+                                       gchar* _tmp46_ = NULL;
+                                       gchar* _tmp47_;
+                                       ValaDataType* _tmp48_;
+                                       gchar* _tmp49_ = NULL;
+                                       gchar* _tmp50_;
+                                       ValaDataType* _tmp51_;
+                                       ValaList* _tmp52_ = NULL;
                                        ValaList* type_arguments;
-                                       ValaList* _tmp42_;
-                                       gint _tmp43_;
-                                       gint _tmp44_;
+                                       ValaList* _tmp53_;
+                                       gint _tmp54_;
+                                       gint _tmp55_;
                                        vala_gir_writer_write_indent (self);
-                                       _tmp31_ = self->priv->buffer;
-                                       _tmp32_ = type;
-                                       _tmp33_ = vala_data_type_get_data_type (_tmp32_);
-                                       _tmp34_ = _tmp33_;
-                                       _tmp35_ = vala_gir_writer_gi_type_name (self, _tmp34_);
-                                       _tmp36_ = _tmp35_;
-                                       _tmp37_ = type;
-                                       _tmp38_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp37_);
-                                       _tmp39_ = _tmp38_;
-                                       g_string_append_printf (_tmp31_, "<type name=\"%s\" c:type=\"%s\"", _tmp36_, _tmp39_);
-                                       _g_free0 (_tmp39_);
-                                       _g_free0 (_tmp36_);
-                                       _tmp40_ = type;
-                                       _tmp41_ = vala_data_type_get_type_arguments (_tmp40_);
-                                       type_arguments = _tmp41_;
-                                       _tmp42_ = type_arguments;
-                                       _tmp43_ = vala_collection_get_size ((ValaCollection*) _tmp42_);
-                                       _tmp44_ = _tmp43_;
-                                       if (_tmp44_ == 0) {
-                                               GString* _tmp45_;
-                                               _tmp45_ = self->priv->buffer;
-                                               g_string_append_printf (_tmp45_, "/>\n");
+                                       _tmp31_ = type;
+                                       _tmp32_ = vala_data_type_get_data_type (_tmp31_);
+                                       _tmp33_ = _tmp32_;
+                                       _tmp34_ = vala_gir_writer_gi_type_name (self, _tmp33_);
+                                       type_name = _tmp34_;
+                                       is_array = FALSE;
+                                       _tmp36_ = type_name;
+                                       if (g_strcmp0 (_tmp36_, "GLib.Array") == 0) {
+                                               _tmp35_ = TRUE;
                                        } else {
-                                               GString* _tmp46_;
-                                               gint _tmp47_;
-                                               gint _tmp60_;
-                                               GString* _tmp61_;
-                                               _tmp46_ = self->priv->buffer;
-                                               g_string_append_printf (_tmp46_, ">\n");
-                                               _tmp47_ = self->priv->indent;
-                                               self->priv->indent = _tmp47_ + 1;
+                                               const gchar* _tmp37_;
+                                               _tmp37_ = type_name;
+                                               _tmp35_ = g_strcmp0 (_tmp37_, "GLib.PtrArray") == 0;
+                                       }
+                                       _tmp38_ = _tmp35_;
+                                       if (_tmp38_) {
+                                               is_array = TRUE;
+                                       }
+                                       _tmp40_ = is_array;
+                                       if (_tmp40_) {
+                                               _tmp39_ = "array";
+                                       } else {
+                                               _tmp39_ = "type";
+                                       }
+                                       _tmp41_ = self->priv->buffer;
+                                       _tmp42_ = _tmp39_;
+                                       _tmp43_ = type;
+                                       _tmp44_ = vala_data_type_get_data_type (_tmp43_);
+                                       _tmp45_ = _tmp44_;
+                                       _tmp46_ = vala_gir_writer_gi_type_name (self, _tmp45_);
+                                       _tmp47_ = _tmp46_;
+                                       _tmp48_ = type;
+                                       _tmp49_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp48_);
+                                       _tmp50_ = _tmp49_;
+                                       g_string_append_printf (_tmp41_, "<%s name=\"%s\" c:type=\"%s\"", _tmp42_, _tmp47_, _tmp50_);
+                                       _g_free0 (_tmp50_);
+                                       _g_free0 (_tmp47_);
+                                       _tmp51_ = type;
+                                       _tmp52_ = vala_data_type_get_type_arguments (_tmp51_);
+                                       type_arguments = _tmp52_;
+                                       _tmp53_ = type_arguments;
+                                       _tmp54_ = vala_collection_get_size ((ValaCollection*) _tmp53_);
+                                       _tmp55_ = _tmp54_;
+                                       if (_tmp55_ == 0) {
+                                               GString* _tmp56_;
+                                               _tmp56_ = self->priv->buffer;
+                                               g_string_append_printf (_tmp56_, "/>\n");
+                                       } else {
+                                               GString* _tmp57_;
+                                               gint _tmp58_;
+                                               gint _tmp71_;
+                                               const gchar* _tmp72_ = NULL;
+                                               gboolean _tmp73_;
+                                               GString* _tmp74_;
+                                               const gchar* _tmp75_;
+                                               _tmp57_ = self->priv->buffer;
+                                               g_string_append_printf (_tmp57_, ">\n");
+                                               _tmp58_ = self->priv->indent;
+                                               self->priv->indent = _tmp58_ + 1;
                                                {
-                                                       ValaList* _tmp48_;
-                                                       ValaList* _tmp49_;
+                                                       ValaList* _tmp59_;
+                                                       ValaList* _tmp60_;
                                                        ValaList* _type_argument_list;
-                                                       ValaList* _tmp50_;
-                                                       gint _tmp51_;
-                                                       gint _tmp52_;
+                                                       ValaList* _tmp61_;
+                                                       gint _tmp62_;
+                                                       gint _tmp63_;
                                                        gint _type_argument_size;
                                                        gint _type_argument_index;
-                                                       _tmp48_ = type_arguments;
-                                                       _tmp49_ = _vala_iterable_ref0 (_tmp48_);
-                                                       _type_argument_list = _tmp49_;
-                                                       _tmp50_ = _type_argument_list;
-                                                       _tmp51_ = vala_collection_get_size ((ValaCollection*) _tmp50_);
-                                                       _tmp52_ = _tmp51_;
-                                                       _type_argument_size = _tmp52_;
+                                                       _tmp59_ = type_arguments;
+                                                       _tmp60_ = _vala_iterable_ref0 (_tmp59_);
+                                                       _type_argument_list = _tmp60_;
+                                                       _tmp61_ = _type_argument_list;
+                                                       _tmp62_ = vala_collection_get_size ((ValaCollection*) _tmp61_);
+                                                       _tmp63_ = _tmp62_;
+                                                       _type_argument_size = _tmp63_;
                                                        _type_argument_index = -1;
                                                        while (TRUE) {
-                                                               gint _tmp53_;
-                                                               gint _tmp54_;
-                                                               gint _tmp55_;
-                                                               ValaList* _tmp56_;
-                                                               gint _tmp57_;
-                                                               gpointer _tmp58_ = NULL;
+                                                               gint _tmp64_;
+                                                               gint _tmp65_;
+                                                               gint _tmp66_;
+                                                               ValaList* _tmp67_;
+                                                               gint _tmp68_;
+                                                               gpointer _tmp69_ = NULL;
                                                                ValaDataType* type_argument;
-                                                               ValaDataType* _tmp59_;
-                                                               _tmp53_ = _type_argument_index;
-                                                               _type_argument_index = _tmp53_ + 1;
-                                                               _tmp54_ = _type_argument_index;
-                                                               _tmp55_ = _type_argument_size;
-                                                               if (!(_tmp54_ < _tmp55_)) {
+                                                               ValaDataType* _tmp70_;
+                                                               _tmp64_ = _type_argument_index;
+                                                               _type_argument_index = _tmp64_ + 1;
+                                                               _tmp65_ = _type_argument_index;
+                                                               _tmp66_ = _type_argument_size;
+                                                               if (!(_tmp65_ < _tmp66_)) {
                                                                        break;
                                                                }
-                                                               _tmp56_ = _type_argument_list;
-                                                               _tmp57_ = _type_argument_index;
-                                                               _tmp58_ = vala_list_get (_tmp56_, _tmp57_);
-                                                               type_argument = (ValaDataType*) _tmp58_;
-                                                               _tmp59_ = type_argument;
-                                                               vala_gir_writer_write_type (self, _tmp59_, -1);
+                                                               _tmp67_ = _type_argument_list;
+                                                               _tmp68_ = _type_argument_index;
+                                                               _tmp69_ = vala_list_get (_tmp67_, _tmp68_);
+                                                               type_argument = (ValaDataType*) _tmp69_;
+                                                               _tmp70_ = type_argument;
+                                                               vala_gir_writer_write_type (self, _tmp70_, -1);
                                                                _vala_code_node_unref0 (type_argument);
                                                        }
                                                        _vala_iterable_unref0 (_type_argument_list);
                                                }
-                                               _tmp60_ = self->priv->indent;
-                                               self->priv->indent = _tmp60_ - 1;
+                                               _tmp71_ = self->priv->indent;
+                                               self->priv->indent = _tmp71_ - 1;
                                                vala_gir_writer_write_indent (self);
-                                               _tmp61_ = self->priv->buffer;
-                                               g_string_append_printf (_tmp61_, "</type>\n");
+                                               _tmp73_ = is_array;
+                                               if (_tmp73_) {
+                                                       _tmp72_ = "array";
+                                               } else {
+                                                       _tmp72_ = "type";
+                                               }
+                                               _tmp74_ = self->priv->buffer;
+                                               _tmp75_ = _tmp72_;
+                                               g_string_append_printf (_tmp74_, "</%s>\n", _tmp75_);
                                        }
                                        _vala_iterable_unref0 (type_arguments);
+                                       _g_free0 (type_name);
                                } else {
-                                       ValaDataType* _tmp62_;
-                                       _tmp62_ = type;
-                                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp62_, VALA_TYPE_DELEGATE_TYPE)) {
-                                               ValaDataType* _tmp63_;
-                                               ValaDelegateType* _tmp64_;
+                                       ValaDataType* _tmp76_;
+                                       _tmp76_ = type;
+                                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp76_, VALA_TYPE_DELEGATE_TYPE)) {
+                                               ValaDataType* _tmp77_;
+                                               ValaDelegateType* _tmp78_;
                                                ValaDelegateType* deleg_type;
-                                               GString* _tmp65_;
-                                               ValaDelegateType* _tmp66_;
-                                               ValaDelegate* _tmp67_;
-                                               ValaDelegate* _tmp68_;
-                                               gchar* _tmp69_ = NULL;
-                                               gchar* _tmp70_;
-                                               ValaDataType* _tmp71_;
-                                               gchar* _tmp72_ = NULL;
-                                               gchar* _tmp73_;
-                                               _tmp63_ = type;
-                                               _tmp64_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, VALA_TYPE_DELEGATE_TYPE, ValaDelegateType));
-                                               deleg_type = _tmp64_;
+                                               GString* _tmp79_;
+                                               ValaDelegateType* _tmp80_;
+                                               ValaDelegate* _tmp81_;
+                                               ValaDelegate* _tmp82_;
+                                               gchar* _tmp83_ = NULL;
+                                               gchar* _tmp84_;
+                                               ValaDataType* _tmp85_;
+                                               gchar* _tmp86_ = NULL;
+                                               gchar* _tmp87_;
+                                               _tmp77_ = type;
+                                               _tmp78_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, VALA_TYPE_DELEGATE_TYPE, ValaDelegateType));
+                                               deleg_type = _tmp78_;
                                                vala_gir_writer_write_indent (self);
-                                               _tmp65_ = self->priv->buffer;
-                                               _tmp66_ = deleg_type;
-                                               _tmp67_ = vala_delegate_type_get_delegate_symbol (_tmp66_);
-                                               _tmp68_ = _tmp67_;
-                                               _tmp69_ = vala_gir_writer_gi_type_name (self, (ValaTypeSymbol*) _tmp68_);
-                                               _tmp70_ = _tmp69_;
-                                               _tmp71_ = type;
-                                               _tmp72_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp71_);
-                                               _tmp73_ = _tmp72_;
-                                               g_string_append_printf (_tmp65_, "<type name=\"%s\" c:type=\"%s\"/>\n", _tmp70_, _tmp73_);
-                                               _g_free0 (_tmp73_);
-                                               _g_free0 (_tmp70_);
+                                               _tmp79_ = self->priv->buffer;
+                                               _tmp80_ = deleg_type;
+                                               _tmp81_ = vala_delegate_type_get_delegate_symbol (_tmp80_);
+                                               _tmp82_ = _tmp81_;
+                                               _tmp83_ = vala_gir_writer_gi_type_name (self, (ValaTypeSymbol*) _tmp82_);
+                                               _tmp84_ = _tmp83_;
+                                               _tmp85_ = type;
+                                               _tmp86_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp85_);
+                                               _tmp87_ = _tmp86_;
+                                               g_string_append_printf (_tmp79_, "<type name=\"%s\" c:type=\"%s\"/>\n", _tmp84_, _tmp87_);
+                                               _g_free0 (_tmp87_);
+                                               _g_free0 (_tmp84_);
                                                _vala_code_node_unref0 (deleg_type);
                                        } else {
-                                               ValaDataType* _tmp74_;
-                                               _tmp74_ = type;
-                                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp74_, VALA_TYPE_GENERIC_TYPE)) {
-                                                       GString* _tmp75_;
+                                               ValaDataType* _tmp88_;
+                                               _tmp88_ = type;
+                                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp88_, VALA_TYPE_GENERIC_TYPE)) {
+                                                       GString* _tmp89_;
                                                        vala_gir_writer_write_indent (self);
-                                                       _tmp75_ = self->priv->buffer;
-                                                       g_string_append (_tmp75_, "<type name=\"gpointer\" c:type=\"gpointer\"/>\n");
+                                                       _tmp89_ = self->priv->buffer;
+                                                       g_string_append (_tmp89_, "<type name=\"gpointer\" c:type=\"gpointer\"/>\n");
                                                } else {
-                                                       GString* _tmp76_;
-                                                       ValaDataType* _tmp77_;
-                                                       gchar* _tmp78_ = NULL;
-                                                       gchar* _tmp79_;
+                                                       GString* _tmp90_;
+                                                       ValaDataType* _tmp91_;
+                                                       gchar* _tmp92_ = NULL;
+                                                       gchar* _tmp93_;
                                                        vala_gir_writer_write_indent (self);
-                                                       _tmp76_ = self->priv->buffer;
-                                                       _tmp77_ = type;
-                                                       _tmp78_ = vala_code_node_to_string ((ValaCodeNode*) _tmp77_);
-                                                       _tmp79_ = _tmp78_;
-                                                       g_string_append_printf (_tmp76_, "<type name=\"%s\"/>\n", _tmp79_);
-                                                       _g_free0 (_tmp79_);
+                                                       _tmp90_ = self->priv->buffer;
+                                                       _tmp91_ = type;
+                                                       _tmp92_ = vala_code_node_to_string ((ValaCodeNode*) _tmp91_);
+                                                       _tmp93_ = _tmp92_;
+                                                       g_string_append_printf (_tmp90_, "<type name=\"%s\"/>\n", _tmp93_);
+                                                       _g_free0 (_tmp93_);
                                                }
                                        }
                                }
index 597cdac..612fafe 100644 (file)
@@ -300,7 +300,7 @@ public class Vala.GIRWriter : CodeVisitor {
                }
 
                if (cl.is_subtype_of (gobject_type)) {
-                       string gtype_struct_name = cl.name + "Class";
+                       string gtype_struct_name = get_gir_name (cl) + "Class";
 
                        write_indent ();
                        buffer.append_printf ("<class name=\"%s\"", get_gir_name (cl));
@@ -1269,7 +1269,12 @@ public class Vala.GIRWriter : CodeVisitor {
                        buffer.append_printf ("<type name=\"gpointer\" c:type=\"%s\"/>\n", CCodeBaseModule.get_ccode_name (type));
                } else if (type.data_type != null) {
                        write_indent ();
-                       buffer.append_printf ("<type name=\"%s\" c:type=\"%s\"", gi_type_name (type.data_type), CCodeBaseModule.get_ccode_name (type));
+                       string type_name = gi_type_name (type.data_type);
+                       bool is_array = false;
+                       if ((type_name == "GLib.Array") || (type_name == "GLib.PtrArray")) {
+                               is_array = true;
+                       }
+                       buffer.append_printf ("<%s name=\"%s\" c:type=\"%s\"", is_array ? "array" : "type", gi_type_name (type.data_type), CCodeBaseModule.get_ccode_name (type));
 
                        List<DataType> type_arguments = type.get_type_arguments ();
                        if (type_arguments.size == 0) {
@@ -1284,7 +1289,7 @@ public class Vala.GIRWriter : CodeVisitor {
 
                                indent--;
                                write_indent ();
-                               buffer.append_printf ("</type>\n");
+                               buffer.append_printf ("</%s>\n", is_array ? "array" : "type");
                        }
                } else if (type is DelegateType) {
                        var deleg_type = (DelegateType) type;
index 0fd7b34..2f12221 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -51,7 +51,7 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = valac$(EXEEXT) $(am__EXEEXT_1)
 subdir = compiler
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(top_srcdir)/build-aux/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -119,6 +119,23 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -340,10 +357,12 @@ install-binPROGRAMS: $(bin_PROGRAMS)
        fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
-       while read p p1; do if test -f $$p || test -f $$p1; \
-         then echo "$$p"; echo "$$p"; else :; fi; \
+       while read p p1; do if test -f $$p \
+        || test -f $$p1 \
+         ; then echo "$$p"; echo "$$p"; else :; fi; \
        done | \
-       sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+       sed -e 'p;s,.*/,,;n;h' \
+           -e 's|.*|.|' \
            -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
        sed 'N;N;N;s,\n, ,g' | \
        $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -364,7 +383,8 @@ uninstall-binPROGRAMS:
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
        files=`for p in $$list; do echo "$$p"; done | \
          sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-             -e 's/$$/$(EXEEXT)/' `; \
+             -e 's/$$/$(EXEEXT)/' \
+       `; \
        test -n "$$list" || exit 0; \
        echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
        cd "$(DESTDIR)$(bindir)" && rm -f $$files
@@ -416,26 +436,15 @@ mostlyclean-libtool:
 clean-libtool:
        -rm -rf .libs _libs
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -447,15 +456,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -464,9 +469,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
 
-cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -626,19 +632,20 @@ uninstall-am: uninstall-binPROGRAMS
 
 .MAKE: all check install install-am install-exec-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic clean-libtool cscopelist ctags distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-binPROGRAMS install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-exec-hook install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-binPROGRAMS
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+       clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+       ctags ctags-am distclean distclean-compile distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-binPROGRAMS \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-exec-hook install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+       pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+       uninstall-binPROGRAMS
 
 
 valac.vala.stamp: $(valac_VALASOURCES)
index f4c5298..7594d09 100644 (file)
@@ -94,6 +94,8 @@ static gchar* vala_compiler_directory;
 static gchar* vala_compiler_directory = NULL;
 static gboolean vala_compiler_version;
 static gboolean vala_compiler_version = FALSE;
+static gboolean vala_compiler_api_version;
+static gboolean vala_compiler_api_version = FALSE;
 static gchar** vala_compiler_sources;
 static gchar** vala_compiler_sources = NULL;
 static gchar** vala_compiler_vapi_directories;
@@ -215,7 +217,7 @@ static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNoti
 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
 static gint _vala_array_length (gpointer array);
 
-static const GOptionEntry VALA_COMPILER_options[48] = {{"vapidir", (gchar) 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &vala_compiler_vapi_directories, "Look for package bindings in DIRECTORY", "DIRECTORY..."}, {"girdir", (gchar) 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &vala_compiler_gir_directories, "Look for .gir files in DIRECTORY", "DIRECTORY..."}, {"metadatadir", (gchar) 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &vala_compiler_metadata_directories, "Look for GIR .metadata files in DIRECTORY", "DIRECTORY..."}, {"pkg", (gchar) 0, 0, G_OPTION_ARG_STRING_ARRAY, &vala_compiler_packages, "Include binding for PACKAGE", "PACKAGE..."}, {"vapi", (gchar) 0, 0, G_OPTION_ARG_FILENAME, &vala_compiler_vapi_filename, "Output VAPI file name", "FILE"}, {"library", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_library, "Library name", "NAME"}, {"gir", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_gir, "GObject-Introspection repository file name", "NAME-VERSION.gir"}, {"basedir", 'b', 0, G_OPTION_ARG_FILENAME, &vala_compiler_basedir, "Base source directory", "DIRECTORY"}, {"directory", 'd', 0, G_OPTION_ARG_FILENAME, &vala_compiler_directory, "Output directory", "DIRECTORY"}, {"version", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_version, "Display version number", NULL}, {"ccode", 'C', 0, G_OPTION_ARG_NONE, &vala_compiler_ccode_only, "Output C code", NULL}, {"header", 'H', 0, G_OPTION_ARG_FILENAME, &vala_compiler_header_filename, "Output C header file", "FILE"}, {"use-header", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_use_header, "Use C header file", NULL}, {"includedir", (gchar) 0, 0, G_OPTION_ARG_FILENAME, &vala_compiler_includedir, "Directory used to include the C header file", "DIRECTORY"}, {"internal-header", 'h', 0, G_OPTION_ARG_FILENAME, &vala_compiler_internal_header_filename, "Output internal C header file", "FILE"}, {"internal-vapi", (gchar) 0, 0, G_OPTION_ARG_FILENAME, &vala_compiler_internal_vapi_filename, "Output vapi with internal api", "FILE"}, {"fast-vapi", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_fast_vapi_filename, "Output vapi without performing symbol resolution", NULL}, {"use-fast-vapi", (gchar) 0, 0, G_OPTION_ARG_STRING_ARRAY, &vala_compiler_fast_vapis, "Use --fast-vapi output during this compile", NULL}, {"deps", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_dependencies, "Write make-style dependency information to this file", NULL}, {"symbols", (gchar) 0, 0, G_OPTION_ARG_FILENAME, &vala_compiler_symbols_filename, "Output symbols file", "FILE"}, {"compile", 'c', 0, G_OPTION_ARG_NONE, &vala_compiler_compile_only, "Compile but do not link", NULL}, {"output", 'o', 0, G_OPTION_ARG_FILENAME, &vala_compiler_output, "Place output in file FILE", "FILE"}, {"debug", 'g', 0, G_OPTION_ARG_NONE, &vala_compiler_debug, "Produce debug information", NULL}, {"thread", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_thread, "Enable multithreading support", NULL}, {"enable-mem-profiler", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_mem_profiler, "Enable GLib memory profiler", NULL}, {"define", 'D', 0, G_OPTION_ARG_STRING_ARRAY, &vala_compiler_defines, "Define SYMBOL", "SYMBOL..."}, {"main", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_entry_point, "Use SYMBOL as entry point", "SYMBOL..."}, {"nostdpkg", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_nostdpkg, "Do not include standard packages", NULL}, {"disable-assert", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_disable_assert, "Disable assertions", NULL}, {"enable-checking", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_enable_checking, "Enable additional run-time checks", NULL}, {"enable-deprecated", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_deprecated, "Enable deprecated features", NULL}, {"enable-experimental", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_experimental, "Enable experimental features", NULL}, {"disable-warnings", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_disable_warnings, "Disable warnings", NULL}, {"fatal-warnings", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_fatal_warnings, "Treat warnings as fatal", NULL}, {"enable-experimental-non-null", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_experimental_non_null, "Enable experimental enhancements for non-null types", NULL}, {"enable-gobject-tracing", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_gobject_tracing, "Enable GObject creation tracing", NULL}, {"cc", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_cc_command, "Use COMMAND as C compiler command", "COMMAND"}, {"Xcc", 'X', 0, G_OPTION_ARG_STRING_ARRAY, &vala_compiler_cc_options, "Pass OPTION to the C compiler", "OPTION..."}, {"dump-tree", (gchar) 0, 0, G_OPTION_ARG_FILENAME, &vala_compiler_dump_tree, "Write code tree to FILE", "FILE"}, {"save-temps", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_save_temps, "Keep temporary files", NULL}, {"profile", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_profile, "Use the given profile instead of the default", "PROFILE"}, {"quiet", 'q', 0, G_OPTION_ARG_NONE, &vala_compiler_quiet_mode, "Do not print messages to the console", NULL}, {"verbose", 'v', 0, G_OPTION_ARG_NONE, &vala_compiler_verbose_mode, "Print additional messages to the console", NULL}, {"target-glib", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_target_glib, "Target version of glib for code generation", "MAJOR.MINOR"}, {"enable-version-header", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_enable_version_header, "Write vala build version in generated files", NULL}, {"disable-version-header", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_disable_version_header, "Do not write vala build version in generated files", NULL}, {"", (gchar) 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &vala_compiler_sources, NULL, "FILE..."}, {NULL}};
+static const GOptionEntry VALA_COMPILER_options[49] = {{"vapidir", (gchar) 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &vala_compiler_vapi_directories, "Look for package bindings in DIRECTORY", "DIRECTORY..."}, {"girdir", (gchar) 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &vala_compiler_gir_directories, "Look for .gir files in DIRECTORY", "DIRECTORY..."}, {"metadatadir", (gchar) 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &vala_compiler_metadata_directories, "Look for GIR .metadata files in DIRECTORY", "DIRECTORY..."}, {"pkg", (gchar) 0, 0, G_OPTION_ARG_STRING_ARRAY, &vala_compiler_packages, "Include binding for PACKAGE", "PACKAGE..."}, {"vapi", (gchar) 0, 0, G_OPTION_ARG_FILENAME, &vala_compiler_vapi_filename, "Output VAPI file name", "FILE"}, {"library", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_library, "Library name", "NAME"}, {"gir", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_gir, "GObject-Introspection repository file name", "NAME-VERSION.gir"}, {"basedir", 'b', 0, G_OPTION_ARG_FILENAME, &vala_compiler_basedir, "Base source directory", "DIRECTORY"}, {"directory", 'd', 0, G_OPTION_ARG_FILENAME, &vala_compiler_directory, "Output directory", "DIRECTORY"}, {"version", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_version, "Display version number", NULL}, {"api-version", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_api_version, "Display API version number", NULL}, {"ccode", 'C', 0, G_OPTION_ARG_NONE, &vala_compiler_ccode_only, "Output C code", NULL}, {"header", 'H', 0, G_OPTION_ARG_FILENAME, &vala_compiler_header_filename, "Output C header file", "FILE"}, {"use-header", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_use_header, "Use C header file", NULL}, {"includedir", (gchar) 0, 0, G_OPTION_ARG_FILENAME, &vala_compiler_includedir, "Directory used to include the C header file", "DIRECTORY"}, {"internal-header", 'h', 0, G_OPTION_ARG_FILENAME, &vala_compiler_internal_header_filename, "Output internal C header file", "FILE"}, {"internal-vapi", (gchar) 0, 0, G_OPTION_ARG_FILENAME, &vala_compiler_internal_vapi_filename, "Output vapi with internal api", "FILE"}, {"fast-vapi", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_fast_vapi_filename, "Output vapi without performing symbol resolution", NULL}, {"use-fast-vapi", (gchar) 0, 0, G_OPTION_ARG_STRING_ARRAY, &vala_compiler_fast_vapis, "Use --fast-vapi output during this compile", NULL}, {"deps", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_dependencies, "Write make-style dependency information to this file", NULL}, {"symbols", (gchar) 0, 0, G_OPTION_ARG_FILENAME, &vala_compiler_symbols_filename, "Output symbols file", "FILE"}, {"compile", 'c', 0, G_OPTION_ARG_NONE, &vala_compiler_compile_only, "Compile but do not link", NULL}, {"output", 'o', 0, G_OPTION_ARG_FILENAME, &vala_compiler_output, "Place output in file FILE", "FILE"}, {"debug", 'g', 0, G_OPTION_ARG_NONE, &vala_compiler_debug, "Produce debug information", NULL}, {"thread", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_thread, "Enable multithreading support", NULL}, {"enable-mem-profiler", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_mem_profiler, "Enable GLib memory profiler", NULL}, {"define", 'D', 0, G_OPTION_ARG_STRING_ARRAY, &vala_compiler_defines, "Define SYMBOL", "SYMBOL..."}, {"main", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_entry_point, "Use SYMBOL as entry point", "SYMBOL..."}, {"nostdpkg", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_nostdpkg, "Do not include standard packages", NULL}, {"disable-assert", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_disable_assert, "Disable assertions", NULL}, {"enable-checking", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_enable_checking, "Enable additional run-time checks", NULL}, {"enable-deprecated", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_deprecated, "Enable deprecated features", NULL}, {"enable-experimental", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_experimental, "Enable experimental features", NULL}, {"disable-warnings", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_disable_warnings, "Disable warnings", NULL}, {"fatal-warnings", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_fatal_warnings, "Treat warnings as fatal", NULL}, {"enable-experimental-non-null", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_experimental_non_null, "Enable experimental enhancements for non-null types", NULL}, {"enable-gobject-tracing", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_gobject_tracing, "Enable GObject creation tracing", NULL}, {"cc", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_cc_command, "Use COMMAND as C compiler command", "COMMAND"}, {"Xcc", 'X', 0, G_OPTION_ARG_STRING_ARRAY, &vala_compiler_cc_options, "Pass OPTION to the C compiler", "OPTION..."}, {"dump-tree", (gchar) 0, 0, G_OPTION_ARG_FILENAME, &vala_compiler_dump_tree, "Write code tree to FILE", "FILE"}, {"save-temps", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_save_temps, "Keep temporary files", NULL}, {"profile", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_profile, "Use the given profile instead of the default", "PROFILE"}, {"quiet", 'q', 0, G_OPTION_ARG_NONE, &vala_compiler_quiet_mode, "Do not print messages to the console", NULL}, {"verbose", 'v', 0, G_OPTION_ARG_NONE, &vala_compiler_verbose_mode, "Print additional messages to the console", NULL}, {"target-glib", (gchar) 0, 0, G_OPTION_ARG_STRING, &vala_compiler_target_glib, "Target version of glib for code generation", "MAJOR.MINOR"}, {"enable-version-header", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_enable_version_header, "Write vala build version in generated files", NULL}, {"disable-version-header", (gchar) 0, 0, G_OPTION_ARG_NONE, &vala_compiler_disable_version_header, "Do not write vala build version in generated files", NULL}, {"", (gchar) 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &vala_compiler_sources, NULL, "FILE..."}, {NULL}};
 
 static gint vala_compiler_quit (ValaCompiler* self) {
        gint result = 0;
@@ -1017,7 +1019,7 @@ static gint vala_compiler_run (ValaCompiler* self) {
                                }
                                _tmp124_ = FALSE;
                                _tmp127_ = i;
-                               if (!(_tmp127_ <= 18)) {
+                               if (!(_tmp127_ <= 20)) {
                                        break;
                                }
                                _tmp128_ = self->priv->context;
@@ -2346,14 +2348,14 @@ static gint vala_compiler_main (gchar** args, int args_length1) {
        gboolean _tmp5_;
        gboolean _tmp10_;
        gboolean _tmp23_;
-       gboolean _tmp25_ = FALSE;
-       gchar** _tmp26_;
-       gint _tmp26__length1;
-       gboolean _tmp28_;
-       ValaCompiler* _tmp30_;
+       gboolean _tmp29_ = FALSE;
+       gchar** _tmp30_;
+       gint _tmp30__length1;
+       gboolean _tmp32_;
+       ValaCompiler* _tmp34_;
        ValaCompiler* compiler;
-       ValaCompiler* _tmp31_;
-       gint _tmp32_ = 0;
+       ValaCompiler* _tmp35_;
+       gint _tmp36_ = 0;
        GError * _inner_error_ = NULL;
        setlocale (LC_ALL, "");
        _tmp1_ = args;
@@ -2455,31 +2457,46 @@ static gint vala_compiler_main (gchar** args, int args_length1) {
                fprintf (_tmp24_, "Vala %s\n", BUILD_VERSION);
                result = 0;
                return result;
+       } else {
+               gboolean _tmp25_;
+               _tmp25_ = vala_compiler_api_version;
+               if (_tmp25_) {
+                       FILE* _tmp26_;
+                       gchar* _tmp27_ = NULL;
+                       gchar* _tmp28_;
+                       _tmp26_ = stdout;
+                       _tmp27_ = string_substring (PACKAGE_SUFFIX, (glong) 1, (glong) (-1));
+                       _tmp28_ = _tmp27_;
+                       fprintf (_tmp26_, "%s\n", _tmp28_);
+                       _g_free0 (_tmp28_);
+                       result = 0;
+                       return result;
+               }
        }
-       _tmp26_ = vala_compiler_sources;
-       _tmp26__length1 = _vala_array_length (vala_compiler_sources);
-       if (_tmp26_ == NULL) {
-               gchar** _tmp27_;
-               gint _tmp27__length1;
-               _tmp27_ = vala_compiler_fast_vapis;
-               _tmp27__length1 = _vala_array_length (vala_compiler_fast_vapis);
-               _tmp25_ = _tmp27_ == NULL;
+       _tmp30_ = vala_compiler_sources;
+       _tmp30__length1 = _vala_array_length (vala_compiler_sources);
+       if (_tmp30_ == NULL) {
+               gchar** _tmp31_;
+               gint _tmp31__length1;
+               _tmp31_ = vala_compiler_fast_vapis;
+               _tmp31__length1 = _vala_array_length (vala_compiler_fast_vapis);
+               _tmp29_ = _tmp31_ == NULL;
        } else {
-               _tmp25_ = FALSE;
+               _tmp29_ = FALSE;
        }
-       _tmp28_ = _tmp25_;
-       if (_tmp28_) {
-               FILE* _tmp29_;
-               _tmp29_ = stderr;
-               fprintf (_tmp29_, "No source file specified.\n");
+       _tmp32_ = _tmp29_;
+       if (_tmp32_) {
+               FILE* _tmp33_;
+               _tmp33_ = stderr;
+               fprintf (_tmp33_, "No source file specified.\n");
                result = 1;
                return result;
        }
-       _tmp30_ = vala_compiler_new ();
-       compiler = _tmp30_;
-       _tmp31_ = compiler;
-       _tmp32_ = vala_compiler_run (_tmp31_);
-       result = _tmp32_;
+       _tmp34_ = vala_compiler_new ();
+       compiler = _tmp34_;
+       _tmp35_ = compiler;
+       _tmp36_ = vala_compiler_run (_tmp35_);
+       result = _tmp36_;
        _vala_compiler_unref0 (compiler);
        return result;
 }
index c1c9f6f..1f471ed 100644 (file)
@@ -27,6 +27,7 @@ class Vala.Compiler {
        static string basedir;
        static string directory;
        static bool version;
+       static bool api_version;
        [CCode (array_length = false, array_null_terminated = true)]
        static string[] sources;
        [CCode (array_length = false, array_null_terminated = true)]
@@ -97,6 +98,7 @@ class Vala.Compiler {
                { "basedir", 'b', 0, OptionArg.FILENAME, ref basedir, "Base source directory", "DIRECTORY" },
                { "directory", 'd', 0, OptionArg.FILENAME, ref directory, "Output directory", "DIRECTORY" },
                { "version", 0, 0, OptionArg.NONE, ref version, "Display version number", null },
+               { "api-version", 0, 0, OptionArg.NONE, ref api_version, "Display API version number", null },
                { "ccode", 'C', 0, OptionArg.NONE, ref ccode_only, "Output C code", null },
                { "header", 'H', 0, OptionArg.FILENAME, ref header_filename, "Output C header file", "FILE" },
                { "use-header", 0, 0, OptionArg.NONE, ref use_header, "Use C header file", null },
@@ -227,7 +229,7 @@ class Vala.Compiler {
                        }
                }
 
-               for (int i = 2; i <= 18; i += 2) {
+               for (int i = 2; i <= 20; i += 2) {
                        context.add_define ("VALA_0_%d".printf (i));
                }
 
@@ -528,6 +530,9 @@ class Vala.Compiler {
                if (version) {
                        stdout.printf ("Vala %s\n", Config.BUILD_VERSION);
                        return 0;
+               } else if (api_version) {
+                       stdout.printf ("%s\n", Config.PACKAGE_SUFFIX.substring (1));
+                       return 0;
                }
                
                if (sources == null && fast_vapis == null) {
index ea315d2..8238aee 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for vala 0.18.1.
+# Generated by GNU Autoconf 2.69 for vala 0.19.0.
 #
 # Report bugs to <j@bitron.ch>.
 #
@@ -589,8 +589,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='vala'
 PACKAGE_TARNAME='vala'
-PACKAGE_VERSION='0.18.1'
-PACKAGE_STRING='vala 0.18.1'
+PACKAGE_VERSION='0.19.0'
+PACKAGE_STRING='vala 0.19.0'
 PACKAGE_BUGREPORT='j@bitron.ch'
 PACKAGE_URL=''
 
@@ -635,10 +635,6 @@ ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
 HAVE_XSLTPROC_FALSE
 HAVE_XSLTPROC_TRUE
 XSLTPROC
@@ -721,6 +717,10 @@ PACKAGE_SUFFIX
 MAINT
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
 am__untar
 am__tar
 AMTAR
@@ -785,6 +785,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_silent_rules
 enable_maintainer_mode
 enable_dependency_tracking
 enable_static
@@ -797,7 +798,6 @@ enable_libtool_lock
 enable_unversioned
 enable_coverage
 enable_vapigen
-enable_silent_rules
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1357,7 +1357,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures vala 0.18.1 to adapt to many kinds of systems.
+\`configure' configures vala 0.19.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1427,7 +1427,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of vala 0.18.1:";;
+     short | recursive ) echo "Configuration of vala 0.19.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1435,6 +1435,8 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
   --disable-maintainer-mode
                           disable make rules and dependencies not useful (and
                           sometimes confusing) to the casual installer
@@ -1450,8 +1452,6 @@ Optional Features:
   --disable-unversioned   Disable unversioned binaries
   --enable-coverage       Enable coverage analysis
   --disable-vapigen       Disable VAPI generator
-  --enable-silent-rules   less verbose build output (undo: "make V=1")
-  --disable-silent-rules  verbose build output (undo: "make V=0")
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1553,7 +1553,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-vala configure 0.18.1
+vala configure 0.19.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1831,7 +1831,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by vala $as_me 0.18.1, which was
+It was created by vala $as_me 0.19.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2212,7 +2212,7 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 ac_config_headers="$ac_config_headers config.h"
 
 
-am__api_version='1.12'
+am__api_version='1.13'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2396,8 +2396,8 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
@@ -2637,6 +2637,45 @@ else
 fi
 rmdir .tst 2>/dev/null
 
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+       @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
   # is not polluted with repeated "-I."
@@ -2659,7 +2698,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='vala'
- VERSION='0.18.1'
+ VERSION='0.19.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2729,7 +2768,7 @@ fi
 
 
 
-PACKAGE_SUFFIX=-0.18
+PACKAGE_SUFFIX=-0.20
 
 echo \#buildapi-variable-no-builddir >/dev/null
 
@@ -12831,7 +12870,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by vala $as_me 0.18.1, which was
+This file was extended by vala $as_me 0.19.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12897,7 +12936,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-vala config.status 0.18.1
+vala config.status 0.19.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -13918,7 +13957,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
   case $ac_file$ac_mode in
     "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
index 553747b..6e40c89 100644 (file)
@@ -6,7 +6,7 @@ AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([1.11 dist-bzip2])
 AM_MAINTAINER_MODE([enable])
 
-PACKAGE_SUFFIX=-0.18
+PACKAGE_SUFFIX=-0.20
 
 dnl http://people.gnome.org/~walters/docs/build-api.txt
 dnl We don't support separate builddir when building from git
index d3d9f1e..d15402a 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -49,7 +49,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
        $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -75,13 +75,14 @@ am__v_at_0 = @
 am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -120,9 +121,29 @@ NROFF = nroff
 MANS = $(man_MANS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
        distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
@@ -401,7 +422,7 @@ uninstall-man1:
 # (1) if the variable is set in 'config.status', edit 'config.status'
 #     (which will cause the Makefiles to be regenerated when you run 'make');
 # (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
+$(am__recursive_targets):
        @fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -429,31 +450,13 @@ $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
        if test "$$dot_seen" = "no"; then \
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-cscopelist-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
-       done
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -469,12 +472,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -486,15 +484,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -503,9 +497,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
 
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -522,19 +517,6 @@ distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
-       @list='$(MANS)'; if test -n "$$list"; then \
-         list=`for p in $$list; do \
-           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-           if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
-         if test -n "$$list" && \
-           grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
-           grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
-           echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically 'make maintainer-clean' will remove them" >&2; \
-           exit 1; \
-         else :; fi; \
-       else :; fi
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -697,24 +679,23 @@ uninstall-am: uninstall-man
 
 uninstall-man: uninstall-man1
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
-       cscopelist-recursive ctags-recursive install-am \
-       install-data-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic clean-libtool \
-       cscopelist cscopelist-recursive ctags ctags-recursive \
-       distclean distclean-generic distclean-libtool distclean-tags \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-data-hook \
-       install-dvi install-dvi-am install-exec install-exec-am \
-       install-html install-html-am install-info install-info-am \
-       install-man install-man1 install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-man uninstall-man1
+.MAKE: $(am__recursive_targets) install-am install-data-am \
+       install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-generic clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am \
+       install-data-hook install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-man1 install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs installdirs-am \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags tags-am uninstall uninstall-am uninstall-man \
+       uninstall-man1
 
 
 @ENABLE_UNVERSIONED_TRUE@install-data-hook:
index 100e213..c74bbca 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -50,7 +50,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc/vala
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
        $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -110,6 +110,7 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(bookdir)"
 DATA = $(book_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkgdatadir = @pkgdatadir@
 ACLOCAL = @ACLOCAL@
@@ -365,11 +366,9 @@ uninstall-bookDATA:
        @list='$(book_DATA)'; test -n "$(bookdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(bookdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
 
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
 
 cscope cscopelist:
 
@@ -511,16 +510,17 @@ uninstall-am: uninstall-bookDATA
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-bookDATA install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am uninstall-bookDATA
+       cscopelist-am ctags-am distclean distclean-generic \
+       distclean-libtool distdir dvi dvi-am html html-am info info-am \
+       install install-am install-bookDATA install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-bookDATA
 
 
 index.html: $(book_sources) xhtml.xsl
index 6159db3..e31103c 100644 (file)
@@ -48,6 +48,9 @@ Output directory
 .B \--version
 Display version number
 .TP
+.B \--api-version
+Display API version number
+.TP
 .B \-C, --ccode
 Output C code
 .TP
index d4f5139..560a6b5 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -51,8 +51,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = gee
-DIST_COMMON = $(geeinclude_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(top_srcdir)/build-aux/depcomp
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/build-aux/depcomp $(geeinclude_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
        $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -148,6 +148,23 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(geeincludedir)"
 HEADERS = $(geeinclude_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -452,26 +469,15 @@ uninstall-geeincludeHEADERS:
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(geeincludedir)'; $(am__uninstall_files_from_dir)
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -483,15 +489,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -500,9 +502,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
 
-cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -662,9 +665,9 @@ uninstall-am: uninstall-geeincludeHEADERS
 
 .MAKE: all check install install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
-       distclean distclean-compile distclean-generic \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
+       ctags-am distclean distclean-compile distclean-generic \
        distclean-libtool distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-data \
        install-data-am install-dvi install-dvi-am install-exec \
@@ -674,7 +677,7 @@ uninstall-am: uninstall-geeincludeHEADERS
        install-strip installcheck installcheck-am installdirs \
        maintainer-clean maintainer-clean-generic mostlyclean \
        mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       pdf pdf-am ps ps-am tags uninstall uninstall-am \
+       pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
        uninstall-geeincludeHEADERS
 
        $(NULL)
index d70b19e..9bfc46c 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -51,9 +51,9 @@ build_triplet = @build@
 host_triplet = @host@
 pkglibexec_PROGRAMS = gen-introspect$(EXEEXT)
 subdir = gobject-introspection
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(top_srcdir)/build-aux/depcomp $(top_srcdir)/build-aux/ylwrap \
-       scannerlexer.c scannerparser.c scannerparser.h
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       scannerlexer.c scannerparser.h scannerparser.c \
+       $(top_srcdir)/build-aux/depcomp $(top_srcdir)/build-aux/ylwrap
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
        $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -146,6 +146,23 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -392,10 +409,12 @@ install-pkglibexecPROGRAMS: $(pkglibexec_PROGRAMS)
        fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
-       while read p p1; do if test -f $$p || test -f $$p1; \
-         then echo "$$p"; echo "$$p"; else :; fi; \
+       while read p p1; do if test -f $$p \
+        || test -f $$p1 \
+         ; then echo "$$p"; echo "$$p"; else :; fi; \
        done | \
-       sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+       sed -e 'p;s,.*/,,;n;h' \
+           -e 's|.*|.|' \
            -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
        sed 'N;N;N;s,\n, ,g' | \
        $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -416,7 +435,8 @@ uninstall-pkglibexecPROGRAMS:
        @list='$(pkglibexec_PROGRAMS)'; test -n "$(pkglibexecdir)" || list=; \
        files=`for p in $$list; do echo "$$p"; done | \
          sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-             -e 's/$$/$(EXEEXT)/' `; \
+             -e 's/$$/$(EXEEXT)/' \
+       `; \
        test -n "$$list" || exit 0; \
        echo " ( cd '$(DESTDIR)$(pkglibexecdir)' && rm -f" $$files ")"; \
        cd "$(DESTDIR)$(pkglibexecdir)" && rm -f $$files
@@ -484,26 +504,15 @@ mostlyclean-libtool:
 clean-libtool:
        -rm -rf .libs _libs
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -515,15 +524,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -532,9 +537,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
 
-cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -696,20 +702,20 @@ uninstall-am: uninstall-pkglibexecPROGRAMS
 
 .MAKE: all check install install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-noinstLTLIBRARIES clean-pkglibexecPROGRAMS \
-       cscopelist ctags distclean distclean-compile distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-pkglibexecPROGRAMS install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       pdf pdf-am ps ps-am tags uninstall uninstall-am \
-       uninstall-pkglibexecPROGRAMS
+       cscopelist-am ctags ctags-am distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-pkglibexecPROGRAMS install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+       uninstall-am uninstall-pkglibexecPROGRAMS
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index bafa8ce..5c1b27f 100644 (file)
@@ -8,7 +8,7 @@
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
 #define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 36
+#define YY_FLEX_SUBMINOR_VERSION 37
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
index 934f6fc..f622059 100644 (file)
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.6.5.  */
+/* A Bison parser, made by GNU Bison 2.7.  */
 
 /* Bison implementation for Yacc-like parsers in C
    
@@ -44,7 +44,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.6.5"
+#define YYBISON_VERSION "2.7"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -62,7 +62,7 @@
 
 
 /* Copy the first part of user declarations.  */
-/* Line 360 of yacc.c  */
+/* Line 371 of yacc.c  */
 #line 29 "scannerparser.y"
 
 #include <stdio.h>
@@ -223,7 +223,7 @@ cdirective_free (CDirective *directive)
 }
 
 
-/* Line 360 of yacc.c  */
+/* Line 371 of yacc.c  */
 #line 228 "scannerparser.c"
 
 # ifndef YY_NULL
@@ -244,8 +244,8 @@ cdirective_free (CDirective *directive)
 
 /* In a future release of Bison, this section will be replaced
    by #include "y.tab.h".  */
-#ifndef YY_YY_Y_TAB_H_INCLUDED
-# define YY_YY_Y_TAB_H_INCLUDED
+#ifndef YY_YY_SCANNERPARSER_H_INCLUDED
+# define YY_YY_SCANNERPARSER_H_INCLUDED
 /* Enabling traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 0
@@ -399,7 +399,7 @@ extern int yydebug;
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
 {
-/* Line 376 of yacc.c  */
+/* Line 387 of yacc.c  */
 #line 190 "scannerparser.y"
 
   char *str;
@@ -412,7 +412,7 @@ typedef union YYSTYPE
   UnaryOperator unary_operator;
 
 
-/* Line 376 of yacc.c  */
+/* Line 387 of yacc.c  */
 #line 417 "scannerparser.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
@@ -436,11 +436,11 @@ int yyparse ();
 #endif
 #endif /* ! YYPARSE_PARAM */
 
-#endif /* !YY_YY_Y_TAB_H_INCLUDED  */
+#endif /* !YY_YY_SCANNERPARSER_H_INCLUDED  */
 
 /* Copy the second part of user declarations.  */
 
-/* Line 379 of yacc.c  */
+/* Line 390 of yacc.c  */
 #line 445 "scannerparser.c"
 
 #ifdef short
@@ -1653,7 +1653,7 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, igenerator)
   switch (yytype)
     {
       default:
-       break;
+        break;
     }
 }
 
@@ -1897,7 +1897,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 {
   YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
   YYSIZE_T yysize = yysize0;
-  YYSIZE_T yysize1;
   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
   /* Internationalized format string. */
   const char *yyformat = YY_NULL;
@@ -1960,11 +1959,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                     break;
                   }
                 yyarg[yycount++] = yytname[yyx];
-                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
-                if (! (yysize <= yysize1
-                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
-                  return 2;
-                yysize = yysize1;
+                {
+                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+                  if (! (yysize <= yysize1
+                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+                    return 2;
+                  yysize = yysize1;
+                }
               }
         }
     }
@@ -1984,10 +1985,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 # undef YYCASE_
     }
 
-  yysize1 = yysize + yystrlen (yyformat);
-  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
-    return 2;
-  yysize = yysize1;
+  {
+    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+      return 2;
+    yysize = yysize1;
+  }
 
   if (*yymsg_alloc < yysize)
     {
@@ -2049,7 +2052,7 @@ yydestruct (yymsg, yytype, yyvaluep, igenerator)
     {
 
       default:
-       break;
+        break;
     }
 }
 
@@ -2334,7 +2337,7 @@ yyreduce:
   switch (yyn)
     {
         case 2:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 280 "scannerparser.y"
     {
                (yyval.symbol) = g_hash_table_lookup (const_table, (yyvsp[(1) - (1)].str));
@@ -2345,7 +2348,7 @@ yyreduce:
     break;
 
   case 3:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 287 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2361,7 +2364,7 @@ yyreduce:
     break;
 
   case 4:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 299 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2369,7 +2372,7 @@ yyreduce:
     break;
 
   case 5:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 303 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2377,7 +2380,7 @@ yyreduce:
     break;
 
   case 7:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 308 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (3)].symbol);
@@ -2385,7 +2388,7 @@ yyreduce:
     break;
 
   case 8:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 316 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2395,7 +2398,7 @@ yyreduce:
     break;
 
   case 9:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 322 "scannerparser.y"
     {
                char *strings, *string2;
@@ -2410,7 +2413,7 @@ yyreduce:
     break;
 
   case 10:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 336 "scannerparser.y"
     {
                (yyval.str) = g_strdup (yytext);
@@ -2418,7 +2421,7 @@ yyreduce:
     break;
 
   case 14:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 349 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2426,7 +2429,7 @@ yyreduce:
     break;
 
   case 15:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 353 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2434,7 +2437,7 @@ yyreduce:
     break;
 
   case 16:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 357 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2442,7 +2445,7 @@ yyreduce:
     break;
 
   case 17:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 361 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2450,7 +2453,7 @@ yyreduce:
     break;
 
   case 18:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 365 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2458,7 +2461,7 @@ yyreduce:
     break;
 
   case 19:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 369 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2466,7 +2469,7 @@ yyreduce:
     break;
 
   case 20:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 373 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2474,7 +2477,7 @@ yyreduce:
     break;
 
   case 24:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 386 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2482,7 +2485,7 @@ yyreduce:
     break;
 
   case 25:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 390 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2490,7 +2493,7 @@ yyreduce:
     break;
 
   case 26:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 394 "scannerparser.y"
     {
                switch ((yyvsp[(1) - (2)].unary_operator)) {
@@ -2517,7 +2520,7 @@ yyreduce:
     break;
 
   case 27:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 417 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2525,7 +2528,7 @@ yyreduce:
     break;
 
   case 28:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 421 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2533,7 +2536,7 @@ yyreduce:
     break;
 
   case 29:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 428 "scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_ADDRESS_OF;
@@ -2541,7 +2544,7 @@ yyreduce:
     break;
 
   case 30:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 432 "scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_POINTER_INDIRECTION;
@@ -2549,7 +2552,7 @@ yyreduce:
     break;
 
   case 31:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 436 "scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_PLUS;
@@ -2557,7 +2560,7 @@ yyreduce:
     break;
 
   case 32:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 440 "scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_MINUS;
@@ -2565,7 +2568,7 @@ yyreduce:
     break;
 
   case 33:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 444 "scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_BITWISE_COMPLEMENT;
@@ -2573,7 +2576,7 @@ yyreduce:
     break;
 
   case 34:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 448 "scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_LOGICAL_NEGATION;
@@ -2581,7 +2584,7 @@ yyreduce:
     break;
 
   case 36:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 456 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(4) - (4)].symbol);
@@ -2589,7 +2592,7 @@ yyreduce:
     break;
 
   case 38:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 464 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2599,7 +2602,7 @@ yyreduce:
     break;
 
   case 39:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 470 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2611,7 +2614,7 @@ yyreduce:
     break;
 
   case 40:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 478 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2621,7 +2624,7 @@ yyreduce:
     break;
 
   case 42:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 488 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2631,7 +2634,7 @@ yyreduce:
     break;
 
   case 43:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 494 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2641,7 +2644,7 @@ yyreduce:
     break;
 
   case 45:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 504 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2651,7 +2654,7 @@ yyreduce:
     break;
 
   case 46:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 510 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2661,7 +2664,7 @@ yyreduce:
     break;
 
   case 48:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 520 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2671,7 +2674,7 @@ yyreduce:
     break;
 
   case 49:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 526 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2681,7 +2684,7 @@ yyreduce:
     break;
 
   case 50:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 532 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2691,7 +2694,7 @@ yyreduce:
     break;
 
   case 51:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 538 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2701,7 +2704,7 @@ yyreduce:
     break;
 
   case 53:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 548 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2711,7 +2714,7 @@ yyreduce:
     break;
 
   case 54:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 554 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2721,7 +2724,7 @@ yyreduce:
     break;
 
   case 56:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 564 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2731,7 +2734,7 @@ yyreduce:
     break;
 
   case 58:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 574 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2741,7 +2744,7 @@ yyreduce:
     break;
 
   case 60:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 584 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2751,7 +2754,7 @@ yyreduce:
     break;
 
   case 62:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 594 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2761,7 +2764,7 @@ yyreduce:
     break;
 
   case 64:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 604 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_CONST);
@@ -2771,7 +2774,7 @@ yyreduce:
     break;
 
   case 66:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 614 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_get_const_boolean ((yyvsp[(1) - (5)].symbol)) ? (yyvsp[(3) - (5)].symbol) : (yyvsp[(5) - (5)].symbol);
@@ -2779,7 +2782,7 @@ yyreduce:
     break;
 
   case 68:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 622 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2787,7 +2790,7 @@ yyreduce:
     break;
 
   case 81:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 644 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -2795,7 +2798,7 @@ yyreduce:
     break;
 
   case 83:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 657 "scannerparser.y"
     {
                GList *l;
@@ -2815,7 +2818,7 @@ yyreduce:
     break;
 
   case 85:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 677 "scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
@@ -2824,7 +2827,7 @@ yyreduce:
     break;
 
   case 86:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 682 "scannerparser.y"
     {
                (yyval.ctype) = ctype_new (CTYPE_INVALID);
@@ -2833,7 +2836,7 @@ yyreduce:
     break;
 
   case 87:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 687 "scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(1) - (2)].ctype);
@@ -2842,7 +2845,7 @@ yyreduce:
     break;
 
   case 89:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 693 "scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
@@ -2851,7 +2854,7 @@ yyreduce:
     break;
 
   case 90:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 698 "scannerparser.y"
     {
                (yyval.ctype) = ctype_new (CTYPE_INVALID);
@@ -2860,7 +2863,7 @@ yyreduce:
     break;
 
   case 91:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 703 "scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
@@ -2869,7 +2872,7 @@ yyreduce:
     break;
 
   case 92:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 708 "scannerparser.y"
     {
                (yyval.ctype) = ctype_new (CTYPE_INVALID);
@@ -2878,7 +2881,7 @@ yyreduce:
     break;
 
   case 93:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 716 "scannerparser.y"
     {
                (yyval.list) = g_list_append (NULL, (yyvsp[(1) - (1)].symbol));
@@ -2886,7 +2889,7 @@ yyreduce:
     break;
 
   case 94:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 720 "scannerparser.y"
     {
                (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
@@ -2894,7 +2897,7 @@ yyreduce:
     break;
 
   case 97:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 732 "scannerparser.y"
     {
                (yyval.storage_class_specifier) = STORAGE_CLASS_TYPEDEF;
@@ -2902,7 +2905,7 @@ yyreduce:
     break;
 
   case 98:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 736 "scannerparser.y"
     {
                (yyval.storage_class_specifier) = STORAGE_CLASS_EXTERN;
@@ -2910,7 +2913,7 @@ yyreduce:
     break;
 
   case 99:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 740 "scannerparser.y"
     {
                (yyval.storage_class_specifier) = STORAGE_CLASS_STATIC;
@@ -2918,7 +2921,7 @@ yyreduce:
     break;
 
   case 100:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 744 "scannerparser.y"
     {
                (yyval.storage_class_specifier) = STORAGE_CLASS_AUTO;
@@ -2926,7 +2929,7 @@ yyreduce:
     break;
 
   case 101:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 748 "scannerparser.y"
     {
                (yyval.storage_class_specifier) = STORAGE_CLASS_REGISTER;
@@ -2934,7 +2937,7 @@ yyreduce:
     break;
 
   case 102:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 755 "scannerparser.y"
     {
                (yyval.ctype) = ctype_new (CTYPE_VOID);
@@ -2942,7 +2945,7 @@ yyreduce:
     break;
 
   case 103:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 759 "scannerparser.y"
     {
                (yyval.ctype) = cbasic_type_new ("char");
@@ -2950,7 +2953,7 @@ yyreduce:
     break;
 
   case 104:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 763 "scannerparser.y"
     {
                (yyval.ctype) = cbasic_type_new ("short");
@@ -2958,7 +2961,7 @@ yyreduce:
     break;
 
   case 105:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 767 "scannerparser.y"
     {
                (yyval.ctype) = cbasic_type_new ("int");
@@ -2966,7 +2969,7 @@ yyreduce:
     break;
 
   case 106:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 771 "scannerparser.y"
     {
                (yyval.ctype) = cbasic_type_new ("long");
@@ -2974,7 +2977,7 @@ yyreduce:
     break;
 
   case 107:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 775 "scannerparser.y"
     {
                (yyval.ctype) = cbasic_type_new ("float");
@@ -2982,7 +2985,7 @@ yyreduce:
     break;
 
   case 108:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 779 "scannerparser.y"
     {
                (yyval.ctype) = cbasic_type_new ("double");
@@ -2990,7 +2993,7 @@ yyreduce:
     break;
 
   case 109:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 783 "scannerparser.y"
     {
                (yyval.ctype) = cbasic_type_new ("signed");
@@ -2998,7 +3001,7 @@ yyreduce:
     break;
 
   case 110:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 787 "scannerparser.y"
     {
                (yyval.ctype) = cbasic_type_new ("unsigned");
@@ -3006,7 +3009,7 @@ yyreduce:
     break;
 
   case 111:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 791 "scannerparser.y"
     {
                (yyval.ctype) = cbasic_type_new ("bool");
@@ -3014,7 +3017,7 @@ yyreduce:
     break;
 
   case 114:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 797 "scannerparser.y"
     {
                (yyval.ctype) = ctypedef_new ((yyvsp[(1) - (1)].str));
@@ -3022,7 +3025,7 @@ yyreduce:
     break;
 
   case 115:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 804 "scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(1) - (5)].ctype);
@@ -3044,7 +3047,7 @@ yyreduce:
     break;
 
   case 116:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 822 "scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(1) - (4)].ctype);
@@ -3053,7 +3056,7 @@ yyreduce:
     break;
 
   case 117:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 827 "scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(1) - (2)].ctype);
@@ -3062,7 +3065,7 @@ yyreduce:
     break;
 
   case 118:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 835 "scannerparser.y"
     {
                (yyval.ctype) = cstruct_new (NULL);
@@ -3070,7 +3073,7 @@ yyreduce:
     break;
 
   case 119:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 839 "scannerparser.y"
     {
                (yyval.ctype) = cunion_new (NULL);
@@ -3078,7 +3081,7 @@ yyreduce:
     break;
 
   case 121:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 847 "scannerparser.y"
     {
                (yyval.list) = g_list_concat ((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list));
@@ -3086,7 +3089,7 @@ yyreduce:
     break;
 
   case 122:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 854 "scannerparser.y"
     {
                GList *l;
@@ -3103,7 +3106,7 @@ yyreduce:
     break;
 
   case 123:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 870 "scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(1) - (2)].ctype);
@@ -3112,7 +3115,7 @@ yyreduce:
     break;
 
   case 125:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 876 "scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
@@ -3121,7 +3124,7 @@ yyreduce:
     break;
 
   case 126:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 881 "scannerparser.y"
     {
                (yyval.ctype) = ctype_new (CTYPE_INVALID);
@@ -3130,7 +3133,7 @@ yyreduce:
     break;
 
   case 127:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 889 "scannerparser.y"
     {
                (yyval.list) = g_list_append (NULL, (yyvsp[(1) - (1)].symbol));
@@ -3138,7 +3141,7 @@ yyreduce:
     break;
 
   case 128:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 893 "scannerparser.y"
     {
                (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
@@ -3146,7 +3149,7 @@ yyreduce:
     break;
 
   case 129:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 900 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -3154,7 +3157,7 @@ yyreduce:
     break;
 
   case 131:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 905 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -3162,7 +3165,7 @@ yyreduce:
     break;
 
   case 133:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 913 "scannerparser.y"
     {
                (yyval.ctype) = cenum_new ((yyvsp[(2) - (5)].str));
@@ -3172,7 +3175,7 @@ yyreduce:
     break;
 
   case 134:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 919 "scannerparser.y"
     {
                (yyval.ctype) = cenum_new (NULL);
@@ -3182,7 +3185,7 @@ yyreduce:
     break;
 
   case 135:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 925 "scannerparser.y"
     {
                (yyval.ctype) = cenum_new ((yyvsp[(2) - (6)].str));
@@ -3192,7 +3195,7 @@ yyreduce:
     break;
 
   case 136:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 931 "scannerparser.y"
     {
                (yyval.ctype) = cenum_new (NULL);
@@ -3202,7 +3205,7 @@ yyreduce:
     break;
 
   case 137:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 937 "scannerparser.y"
     {
                (yyval.ctype) = cenum_new ((yyvsp[(2) - (2)].str));
@@ -3210,7 +3213,7 @@ yyreduce:
     break;
 
   case 138:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 944 "scannerparser.y"
     {
                (yyval.list) = g_list_append (NULL, (yyvsp[(1) - (1)].symbol));
@@ -3218,7 +3221,7 @@ yyreduce:
     break;
 
   case 139:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 948 "scannerparser.y"
     {
                (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
@@ -3226,7 +3229,7 @@ yyreduce:
     break;
 
   case 140:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 955 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_OBJECT);
@@ -3238,7 +3241,7 @@ yyreduce:
     break;
 
   case 141:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 963 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_OBJECT);
@@ -3251,7 +3254,7 @@ yyreduce:
     break;
 
   case 142:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 975 "scannerparser.y"
     {
                (yyval.type_qualifier) = TYPE_QUALIFIER_CONST;
@@ -3259,7 +3262,7 @@ yyreduce:
     break;
 
   case 143:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 979 "scannerparser.y"
     {
                (yyval.type_qualifier) = TYPE_QUALIFIER_RESTRICT;
@@ -3267,7 +3270,7 @@ yyreduce:
     break;
 
   case 144:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 983 "scannerparser.y"
     {
                (yyval.type_qualifier) = TYPE_QUALIFIER_VOLATILE;
@@ -3275,7 +3278,7 @@ yyreduce:
     break;
 
   case 145:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 990 "scannerparser.y"
     {
                (yyval.function_specifier) = FUNCTION_INLINE;
@@ -3283,7 +3286,7 @@ yyreduce:
     break;
 
   case 146:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 997 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
@@ -3292,7 +3295,7 @@ yyreduce:
     break;
 
   case 148:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1006 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -3301,7 +3304,7 @@ yyreduce:
     break;
 
   case 149:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1011 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (3)].symbol);
@@ -3309,7 +3312,7 @@ yyreduce:
     break;
 
   case 150:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1015 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(1) - (4)].symbol);
@@ -3318,7 +3321,7 @@ yyreduce:
     break;
 
   case 151:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1020 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
@@ -3327,7 +3330,7 @@ yyreduce:
     break;
 
   case 152:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1025 "scannerparser.y"
     {
                CType *func = cfunction_new ();
@@ -3341,7 +3344,7 @@ yyreduce:
     break;
 
   case 153:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1035 "scannerparser.y"
     {
                CType *func = cfunction_new ();
@@ -3352,7 +3355,7 @@ yyreduce:
     break;
 
   case 154:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1042 "scannerparser.y"
     {
                CType *func = cfunction_new ();
@@ -3362,7 +3365,7 @@ yyreduce:
     break;
 
   case 155:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1051 "scannerparser.y"
     {
                (yyval.ctype) = cpointer_new (NULL);
@@ -3371,7 +3374,7 @@ yyreduce:
     break;
 
   case 156:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1056 "scannerparser.y"
     {
                (yyval.ctype) = cpointer_new (NULL);
@@ -3379,7 +3382,7 @@ yyreduce:
     break;
 
   case 157:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1060 "scannerparser.y"
     {
                (yyval.ctype) = cpointer_new ((yyvsp[(3) - (3)].ctype));
@@ -3388,7 +3391,7 @@ yyreduce:
     break;
 
   case 158:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1065 "scannerparser.y"
     {
                (yyval.ctype) = cpointer_new ((yyvsp[(2) - (2)].ctype));
@@ -3396,7 +3399,7 @@ yyreduce:
     break;
 
   case 160:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1073 "scannerparser.y"
     {
                (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier) | (yyvsp[(2) - (2)].type_qualifier);
@@ -3404,7 +3407,7 @@ yyreduce:
     break;
 
   case 163:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1085 "scannerparser.y"
     {
                (yyval.list) = g_list_append (NULL, (yyvsp[(1) - (1)].symbol));
@@ -3412,7 +3415,7 @@ yyreduce:
     break;
 
   case 164:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1089 "scannerparser.y"
     {
                (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
@@ -3420,7 +3423,7 @@ yyreduce:
     break;
 
   case 165:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1096 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
@@ -3429,7 +3432,7 @@ yyreduce:
     break;
 
   case 166:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1101 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
@@ -3438,7 +3441,7 @@ yyreduce:
     break;
 
   case 167:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1106 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -3447,7 +3450,7 @@ yyreduce:
     break;
 
   case 168:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1114 "scannerparser.y"
     {
                CSymbol *sym = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -3457,7 +3460,7 @@ yyreduce:
     break;
 
   case 169:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1120 "scannerparser.y"
     {
                CSymbol *sym = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -3467,7 +3470,7 @@ yyreduce:
     break;
 
   case 172:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1134 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -3476,7 +3479,7 @@ yyreduce:
     break;
 
   case 174:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1140 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
@@ -3485,7 +3488,7 @@ yyreduce:
     break;
 
   case 175:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1148 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (3)].symbol);
@@ -3493,7 +3496,7 @@ yyreduce:
     break;
 
   case 176:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1152 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -3502,7 +3505,7 @@ yyreduce:
     break;
 
   case 177:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1157 "scannerparser.y"
     {
                (yyval.symbol) = csymbol_new (CSYMBOL_TYPE_INVALID);
@@ -3511,7 +3514,7 @@ yyreduce:
     break;
 
   case 178:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1162 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
@@ -3520,7 +3523,7 @@ yyreduce:
     break;
 
   case 179:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1167 "scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(1) - (4)].symbol);
@@ -3529,7 +3532,7 @@ yyreduce:
     break;
 
   case 180:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1172 "scannerparser.y"
     {
                CType *func = cfunction_new ();
@@ -3539,7 +3542,7 @@ yyreduce:
     break;
 
   case 181:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1178 "scannerparser.y"
     {
                CType *func = cfunction_new ();
@@ -3553,7 +3556,7 @@ yyreduce:
     break;
 
   case 182:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1188 "scannerparser.y"
     {
                CType *func = cfunction_new ();
@@ -3563,7 +3566,7 @@ yyreduce:
     break;
 
   case 183:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1194 "scannerparser.y"
     {
                CType *func = cfunction_new ();
@@ -3577,7 +3580,7 @@ yyreduce:
     break;
 
   case 184:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1207 "scannerparser.y"
     {
                (yyval.str) = g_strdup (yytext);
@@ -3585,7 +3588,7 @@ yyreduce:
     break;
 
   case 234:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1314 "scannerparser.y"
     {
                (yyval.str) = g_strdup (yytext + strlen ("#define "));
@@ -3593,7 +3596,7 @@ yyreduce:
     break;
 
   case 235:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1321 "scannerparser.y"
     {
                (yyval.str) = g_strdup (yytext + strlen ("#define "));
@@ -3601,7 +3604,7 @@ yyreduce:
     break;
 
   case 237:
-/* Line 1778 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 1332 "scannerparser.y"
     {
                if ((yyvsp[(2) - (2)].symbol)->const_int_set || (yyvsp[(2) - (2)].symbol)->const_string != NULL) {
@@ -3612,8 +3615,8 @@ yyreduce:
     break;
 
 
-/* Line 1778 of yacc.c  */
-#line 3617 "scannerparser.c"
+/* Line 1792 of yacc.c  */
+#line 3620 "scannerparser.c"
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -3844,7 +3847,7 @@ yyreturn:
 }
 
 
-/* Line 2041 of yacc.c  */
+/* Line 2055 of yacc.c  */
 #line 1346 "scannerparser.y"
 
 
index 15d7d40..ff1290f 100644 (file)
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.6.5.  */
+/* A Bison parser, made by GNU Bison 2.7.  */
 
 /* Bison interface for Yacc-like parsers in C
    
@@ -185,7 +185,7 @@ extern int yydebug;
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
 {
-/* Line 2042 of yacc.c  */
+/* Line 2058 of yacc.c  */
 #line 190 "scannerparser.y"
 
   char *str;
@@ -198,7 +198,7 @@ typedef union YYSTYPE
   UnaryOperator unary_operator;
 
 
-/* Line 2042 of yacc.c  */
+/* Line 2058 of yacc.c  */
 #line 203 "scannerparser.h"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
index 3d2bc4a..eedf8ce 100644 (file)
@@ -87,6 +87,8 @@ TESTS = \
        structs/bug661945.vala \
        structs/bug667890.vala \
        structs/bug669580.vala \
+       structs/bug685177.vala \
+       structs/bug690380.vala \
        delegates/delegates.vala \
        delegates/bug539166.vala \
        delegates/bug595610.vala \
index 5ca0203..c820847 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -86,6 +86,7 @@ TESTS = basic-types/integers.vala basic-types/floats.vala \
        structs/bug657378.vala structs/bug658048.vala \
        structs/bug660426.vala structs/bug661945.vala \
        structs/bug667890.vala structs/bug669580.vala \
+       structs/bug685177.vala structs/bug690380.vala \
        delegates/delegates.vala delegates/bug539166.vala \
        delegates/bug595610.vala delegates/bug595639.vala \
        delegates/bug638415.vala delegates/bug639751.vala \
@@ -127,7 +128,8 @@ TESTS = basic-types/integers.vala basic-types/floats.vala \
        dbus/filedescriptor.test dbus/dicts.test dbus/bug596862.vala \
        dbus/bug602003.test gir/bug651773.test $(am__EXEEXT_1)
 subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/build-aux/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
        $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -160,10 +162,211 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 am__tty_colors_dummy = \
   mgn= red= grn= lgn= blu= brg= std=; \
   am__color_tests=no
-am__tty_colors = $(am__tty_colors_dummy)
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);                                     \
+$(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
+srcdir=$(srcdir); export srcdir;                       \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
+if test -f "./$$f"; then dir=./;                       \
+elif test -f "$$f"; then dir=;                         \
+else dir="$(srcdir)/"; fi;                             \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
+case " $(XFAIL_TESTS) " in                             \
+  *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+       $(TEST_LOG_FLAGS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkgdatadir = @pkgdatadir@
 ACLOCAL = @ACLOCAL@
@@ -326,6 +529,7 @@ all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-am
 
 .SUFFIXES:
+.SUFFIXES: .log .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -371,15 +575,1187 @@ mostlyclean-libtool:
 
 clean-libtool:
        -rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
 
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
 
 cscope cscopelist:
 
 
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# exand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+         fi; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       else \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
+       {                                                               \
+         echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
+           $(am__rst_title);                                           \
+         create_testsuite_report --no-color;                           \
+         echo;                                                         \
+         echo ".. contents:: :depth: 2";                               \
+         echo;                                                         \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
+       mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
+       if $$success; then                                              \
+         col="$$grn";                                                  \
+        else                                                           \
+         col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";   \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
+recheck: all 
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       bases=`for i in $$bases; do echo $$i; done \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
+basic-types/integers.vala.log: basic-types/integers.vala
+       @p='basic-types/integers.vala'; \
+       b='basic-types/integers.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/floats.vala.log: basic-types/floats.vala
+       @p='basic-types/floats.vala'; \
+       b='basic-types/floats.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/strings.vala.log: basic-types/strings.vala
+       @p='basic-types/strings.vala'; \
+       b='basic-types/strings.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/arrays.vala.log: basic-types/arrays.vala
+       @p='basic-types/arrays.vala'; \
+       b='basic-types/arrays.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/pointers.vala.log: basic-types/pointers.vala
+       @p='basic-types/pointers.vala'; \
+       b='basic-types/pointers.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/sizeof.vala.log: basic-types/sizeof.vala
+       @p='basic-types/sizeof.vala'; \
+       b='basic-types/sizeof.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug591552.vala.log: basic-types/bug591552.vala
+       @p='basic-types/bug591552.vala'; \
+       b='basic-types/bug591552.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug595751.vala.log: basic-types/bug595751.vala
+       @p='basic-types/bug595751.vala'; \
+       b='basic-types/bug595751.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug596637.vala.log: basic-types/bug596637.vala
+       @p='basic-types/bug596637.vala'; \
+       b='basic-types/bug596637.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug596785.vala.log: basic-types/bug596785.vala
+       @p='basic-types/bug596785.vala'; \
+       b='basic-types/bug596785.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug632322.vala.log: basic-types/bug632322.vala
+       @p='basic-types/bug632322.vala'; \
+       b='basic-types/bug632322.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug647222.vala.log: basic-types/bug647222.vala
+       @p='basic-types/bug647222.vala'; \
+       b='basic-types/bug647222.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug648364.vala.log: basic-types/bug648364.vala
+       @p='basic-types/bug648364.vala'; \
+       b='basic-types/bug648364.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug650993.vala.log: basic-types/bug650993.vala
+       @p='basic-types/bug650993.vala'; \
+       b='basic-types/bug650993.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug652380.vala.log: basic-types/bug652380.vala
+       @p='basic-types/bug652380.vala'; \
+       b='basic-types/bug652380.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug655908.vala.log: basic-types/bug655908.vala
+       @p='basic-types/bug655908.vala'; \
+       b='basic-types/bug655908.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug659975.vala.log: basic-types/bug659975.vala
+       @p='basic-types/bug659975.vala'; \
+       b='basic-types/bug659975.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+basic-types/bug686336.vala.log: basic-types/bug686336.vala
+       @p='basic-types/bug686336.vala'; \
+       b='basic-types/bug686336.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+namespaces.vala.log: namespaces.vala
+       @p='namespaces.vala'; \
+       b='namespaces.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/lambda.vala.log: methods/lambda.vala
+       @p='methods/lambda.vala'; \
+       b='methods/lambda.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/closures.vala.log: methods/closures.vala
+       @p='methods/closures.vala'; \
+       b='methods/closures.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/symbolresolution.vala.log: methods/symbolresolution.vala
+       @p='methods/symbolresolution.vala'; \
+       b='methods/symbolresolution.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug595538.vala.log: methods/bug595538.vala
+       @p='methods/bug595538.vala'; \
+       b='methods/bug595538.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug596726.vala.log: methods/bug596726.vala
+       @p='methods/bug596726.vala'; \
+       b='methods/bug596726.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug597426.vala.log: methods/bug597426.vala
+       @p='methods/bug597426.vala'; \
+       b='methods/bug597426.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug598738.vala.log: methods/bug598738.vala
+       @p='methods/bug598738.vala'; \
+       b='methods/bug598738.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug599892.vala.log: methods/bug599892.vala
+       @p='methods/bug599892.vala'; \
+       b='methods/bug599892.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug613483.vala.log: methods/bug613483.vala
+       @p='methods/bug613483.vala'; \
+       b='methods/bug613483.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug620673.vala.log: methods/bug620673.vala
+       @p='methods/bug620673.vala'; \
+       b='methods/bug620673.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug622570.vala.log: methods/bug622570.vala
+       @p='methods/bug622570.vala'; \
+       b='methods/bug622570.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug639054.vala.log: methods/bug639054.vala
+       @p='methods/bug639054.vala'; \
+       b='methods/bug639054.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug642899.vala.log: methods/bug642899.vala
+       @p='methods/bug642899.vala'; \
+       b='methods/bug642899.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug646345.vala.log: methods/bug646345.vala
+       @p='methods/bug646345.vala'; \
+       b='methods/bug646345.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug648320.vala.log: methods/bug648320.vala
+       @p='methods/bug648320.vala'; \
+       b='methods/bug648320.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug649562.vala.log: methods/bug649562.vala
+       @p='methods/bug649562.vala'; \
+       b='methods/bug649562.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug653391.vala.log: methods/bug653391.vala
+       @p='methods/bug653391.vala'; \
+       b='methods/bug653391.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug653908.vala.log: methods/bug653908.vala
+       @p='methods/bug653908.vala'; \
+       b='methods/bug653908.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/bug663210.vala.log: methods/bug663210.vala
+       @p='methods/bug663210.vala'; \
+       b='methods/bug663210.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+methods/generics.vala.log: methods/generics.vala
+       @p='methods/generics.vala'; \
+       b='methods/generics.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+control-flow/break.vala.log: control-flow/break.vala
+       @p='control-flow/break.vala'; \
+       b='control-flow/break.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+control-flow/expressions-conditional.vala.log: control-flow/expressions-conditional.vala
+       @p='control-flow/expressions-conditional.vala'; \
+       b='control-flow/expressions-conditional.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+control-flow/for.vala.log: control-flow/for.vala
+       @p='control-flow/for.vala'; \
+       b='control-flow/for.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+control-flow/foreach.vala.log: control-flow/foreach.vala
+       @p='control-flow/foreach.vala'; \
+       b='control-flow/foreach.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+control-flow/switch.vala.log: control-flow/switch.vala
+       @p='control-flow/switch.vala'; \
+       b='control-flow/switch.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+control-flow/sideeffects.vala.log: control-flow/sideeffects.vala
+       @p='control-flow/sideeffects.vala'; \
+       b='control-flow/sideeffects.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+control-flow/bug652549.vala.log: control-flow/bug652549.vala
+       @p='control-flow/bug652549.vala'; \
+       b='control-flow/bug652549.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+control-flow/bug665904.vala.log: control-flow/bug665904.vala
+       @p='control-flow/bug665904.vala'; \
+       b='control-flow/bug665904.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+enums/enums.vala.log: enums/enums.vala
+       @p='enums/enums.vala'; \
+       b='enums/enums.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/structs.vala.log: structs/structs.vala
+       @p='structs/structs.vala'; \
+       b='structs/structs.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/gvalue.vala.log: structs/gvalue.vala
+       @p='structs/gvalue.vala'; \
+       b='structs/gvalue.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug530605.vala.log: structs/bug530605.vala
+       @p='structs/bug530605.vala'; \
+       b='structs/bug530605.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug572091.vala.log: structs/bug572091.vala
+       @p='structs/bug572091.vala'; \
+       b='structs/bug572091.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug583603.vala.log: structs/bug583603.vala
+       @p='structs/bug583603.vala'; \
+       b='structs/bug583603.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug595587.vala.log: structs/bug595587.vala
+       @p='structs/bug595587.vala'; \
+       b='structs/bug595587.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug596144.vala.log: structs/bug596144.vala
+       @p='structs/bug596144.vala'; \
+       b='structs/bug596144.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug606202.vala.log: structs/bug606202.vala
+       @p='structs/bug606202.vala'; \
+       b='structs/bug606202.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug609642.vala.log: structs/bug609642.vala
+       @p='structs/bug609642.vala'; \
+       b='structs/bug609642.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug613513.vala.log: structs/bug613513.vala
+       @p='structs/bug613513.vala'; \
+       b='structs/bug613513.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug613825.vala.log: structs/bug613825.vala
+       @p='structs/bug613825.vala'; \
+       b='structs/bug613825.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug621176.vala.log: structs/bug621176.vala
+       @p='structs/bug621176.vala'; \
+       b='structs/bug621176.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug622422.vala.log: structs/bug622422.vala
+       @p='structs/bug622422.vala'; \
+       b='structs/bug622422.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug623092.vala.log: structs/bug623092.vala
+       @p='structs/bug623092.vala'; \
+       b='structs/bug623092.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug651441.vala.log: structs/bug651441.vala
+       @p='structs/bug651441.vala'; \
+       b='structs/bug651441.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug654646.vala.log: structs/bug654646.vala
+       @p='structs/bug654646.vala'; \
+       b='structs/bug654646.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug654753.vala.log: structs/bug654753.vala
+       @p='structs/bug654753.vala'; \
+       b='structs/bug654753.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug656693.vala.log: structs/bug656693.vala
+       @p='structs/bug656693.vala'; \
+       b='structs/bug656693.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug657378.vala.log: structs/bug657378.vala
+       @p='structs/bug657378.vala'; \
+       b='structs/bug657378.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug658048.vala.log: structs/bug658048.vala
+       @p='structs/bug658048.vala'; \
+       b='structs/bug658048.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug660426.vala.log: structs/bug660426.vala
+       @p='structs/bug660426.vala'; \
+       b='structs/bug660426.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug661945.vala.log: structs/bug661945.vala
+       @p='structs/bug661945.vala'; \
+       b='structs/bug661945.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug667890.vala.log: structs/bug667890.vala
+       @p='structs/bug667890.vala'; \
+       b='structs/bug667890.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug669580.vala.log: structs/bug669580.vala
+       @p='structs/bug669580.vala'; \
+       b='structs/bug669580.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug685177.vala.log: structs/bug685177.vala
+       @p='structs/bug685177.vala'; \
+       b='structs/bug685177.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+structs/bug690380.vala.log: structs/bug690380.vala
+       @p='structs/bug690380.vala'; \
+       b='structs/bug690380.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+delegates/delegates.vala.log: delegates/delegates.vala
+       @p='delegates/delegates.vala'; \
+       b='delegates/delegates.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+delegates/bug539166.vala.log: delegates/bug539166.vala
+       @p='delegates/bug539166.vala'; \
+       b='delegates/bug539166.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+delegates/bug595610.vala.log: delegates/bug595610.vala
+       @p='delegates/bug595610.vala'; \
+       b='delegates/bug595610.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+delegates/bug595639.vala.log: delegates/bug595639.vala
+       @p='delegates/bug595639.vala'; \
+       b='delegates/bug595639.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+delegates/bug638415.vala.log: delegates/bug638415.vala
+       @p='delegates/bug638415.vala'; \
+       b='delegates/bug638415.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+delegates/bug639751.vala.log: delegates/bug639751.vala
+       @p='delegates/bug639751.vala'; \
+       b='delegates/bug639751.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/classes.vala.log: objects/classes.vala
+       @p='objects/classes.vala'; \
+       b='objects/classes.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/fields.vala.log: objects/fields.vala
+       @p='objects/fields.vala'; \
+       b='objects/fields.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/interfaces.vala.log: objects/interfaces.vala
+       @p='objects/interfaces.vala'; \
+       b='objects/interfaces.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/methods.vala.log: objects/methods.vala
+       @p='objects/methods.vala'; \
+       b='objects/methods.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/properties.vala.log: objects/properties.vala
+       @p='objects/properties.vala'; \
+       b='objects/properties.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/regex.vala.log: objects/regex.vala
+       @p='objects/regex.vala'; \
+       b='objects/regex.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/signals.vala.log: objects/signals.vala
+       @p='objects/signals.vala'; \
+       b='objects/signals.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/test-025.vala.log: objects/test-025.vala
+       @p='objects/test-025.vala'; \
+       b='objects/test-025.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/test-026.vala.log: objects/test-026.vala
+       @p='objects/test-026.vala'; \
+       b='objects/test-026.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/test-029.vala.log: objects/test-029.vala
+       @p='objects/test-029.vala'; \
+       b='objects/test-029.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/test-034.vala.log: objects/test-034.vala
+       @p='objects/test-034.vala'; \
+       b='objects/test-034.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug566909.vala.log: objects/bug566909.vala
+       @p='objects/bug566909.vala'; \
+       b='objects/bug566909.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug588203.vala.log: objects/bug588203.vala
+       @p='objects/bug588203.vala'; \
+       b='objects/bug588203.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug589928.vala.log: objects/bug589928.vala
+       @p='objects/bug589928.vala'; \
+       b='objects/bug589928.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug593260.vala.log: objects/bug593260.vala
+       @p='objects/bug593260.vala'; \
+       b='objects/bug593260.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug596621.vala.log: objects/bug596621.vala
+       @p='objects/bug596621.vala'; \
+       b='objects/bug596621.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug597155.vala.log: objects/bug597155.vala
+       @p='objects/bug597155.vala'; \
+       b='objects/bug597155.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug597161.vala.log: objects/bug597161.vala
+       @p='objects/bug597161.vala'; \
+       b='objects/bug597161.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug613486.vala.log: objects/bug613486.vala
+       @p='objects/bug613486.vala'; \
+       b='objects/bug613486.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug613840.vala.log: objects/bug613840.vala
+       @p='objects/bug613840.vala'; \
+       b='objects/bug613840.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug620675.vala.log: objects/bug620675.vala
+       @p='objects/bug620675.vala'; \
+       b='objects/bug620675.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug620706.vala.log: objects/bug620706.vala
+       @p='objects/bug620706.vala'; \
+       b='objects/bug620706.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug624594.vala.log: objects/bug624594.vala
+       @p='objects/bug624594.vala'; \
+       b='objects/bug624594.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug626038.vala.log: objects/bug626038.vala
+       @p='objects/bug626038.vala'; \
+       b='objects/bug626038.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug628639.vala.log: objects/bug628639.vala
+       @p='objects/bug628639.vala'; \
+       b='objects/bug628639.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug634782.vala.log: objects/bug634782.vala
+       @p='objects/bug634782.vala'; \
+       b='objects/bug634782.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug642809.vala.log: objects/bug642809.vala
+       @p='objects/bug642809.vala'; \
+       b='objects/bug642809.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug643711.vala.log: objects/bug643711.vala
+       @p='objects/bug643711.vala'; \
+       b='objects/bug643711.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug646362.vala.log: objects/bug646362.vala
+       @p='objects/bug646362.vala'; \
+       b='objects/bug646362.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug646792.vala.log: objects/bug646792.vala
+       @p='objects/bug646792.vala'; \
+       b='objects/bug646792.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug653138.vala.log: objects/bug653138.vala
+       @p='objects/bug653138.vala'; \
+       b='objects/bug653138.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug654702.vala.log: objects/bug654702.vala
+       @p='objects/bug654702.vala'; \
+       b='objects/bug654702.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug663134.vala.log: objects/bug663134.vala
+       @p='objects/bug663134.vala'; \
+       b='objects/bug663134.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug664529.vala.log: objects/bug664529.vala
+       @p='objects/bug664529.vala'; \
+       b='objects/bug664529.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug667668.vala.log: objects/bug667668.vala
+       @p='objects/bug667668.vala'; \
+       b='objects/bug667668.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+objects/bug683646.vala.log: objects/bug683646.vala
+       @p='objects/bug683646.vala'; \
+       b='objects/bug683646.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+errors/errors.vala.log: errors/errors.vala
+       @p='errors/errors.vala'; \
+       b='errors/errors.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+errors/bug567181.vala.log: errors/bug567181.vala
+       @p='errors/bug567181.vala'; \
+       b='errors/bug567181.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+errors/bug579101.vala.log: errors/bug579101.vala
+       @p='errors/bug579101.vala'; \
+       b='errors/bug579101.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+errors/bug596228.vala.log: errors/bug596228.vala
+       @p='errors/bug596228.vala'; \
+       b='errors/bug596228.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+errors/bug623049.vala.log: errors/bug623049.vala
+       @p='errors/bug623049.vala'; \
+       b='errors/bug623049.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+errors/bug639589.vala.log: errors/bug639589.vala
+       @p='errors/bug639589.vala'; \
+       b='errors/bug639589.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+errors/bug651145.vala.log: errors/bug651145.vala
+       @p='errors/bug651145.vala'; \
+       b='errors/bug651145.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug595735.vala.log: asynchronous/bug595735.vala
+       @p='asynchronous/bug595735.vala'; \
+       b='asynchronous/bug595735.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug595755.vala.log: asynchronous/bug595755.vala
+       @p='asynchronous/bug595755.vala'; \
+       b='asynchronous/bug595755.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug596177.vala.log: asynchronous/bug596177.vala
+       @p='asynchronous/bug596177.vala'; \
+       b='asynchronous/bug596177.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug596861.vala.log: asynchronous/bug596861.vala
+       @p='asynchronous/bug596861.vala'; \
+       b='asynchronous/bug596861.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug597294.vala.log: asynchronous/bug597294.vala
+       @p='asynchronous/bug597294.vala'; \
+       b='asynchronous/bug597294.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug598677.vala.log: asynchronous/bug598677.vala
+       @p='asynchronous/bug598677.vala'; \
+       b='asynchronous/bug598677.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug598697.vala.log: asynchronous/bug598697.vala
+       @p='asynchronous/bug598697.vala'; \
+       b='asynchronous/bug598697.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug598698.vala.log: asynchronous/bug598698.vala
+       @p='asynchronous/bug598698.vala'; \
+       b='asynchronous/bug598698.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug599568.vala.log: asynchronous/bug599568.vala
+       @p='asynchronous/bug599568.vala'; \
+       b='asynchronous/bug599568.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug600827.vala.log: asynchronous/bug600827.vala
+       @p='asynchronous/bug600827.vala'; \
+       b='asynchronous/bug600827.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug601558.vala.log: asynchronous/bug601558.vala
+       @p='asynchronous/bug601558.vala'; \
+       b='asynchronous/bug601558.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug613484.vala.log: asynchronous/bug613484.vala
+       @p='asynchronous/bug613484.vala'; \
+       b='asynchronous/bug613484.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug620740.vala.log: asynchronous/bug620740.vala
+       @p='asynchronous/bug620740.vala'; \
+       b='asynchronous/bug620740.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug639591.vala.log: asynchronous/bug639591.vala
+       @p='asynchronous/bug639591.vala'; \
+       b='asynchronous/bug639591.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug640721.vala.log: asynchronous/bug640721.vala
+       @p='asynchronous/bug640721.vala'; \
+       b='asynchronous/bug640721.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug641182.vala.log: asynchronous/bug641182.vala
+       @p='asynchronous/bug641182.vala'; \
+       b='asynchronous/bug641182.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug646945.vala.log: asynchronous/bug646945.vala
+       @p='asynchronous/bug646945.vala'; \
+       b='asynchronous/bug646945.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug652252.vala.log: asynchronous/bug652252.vala
+       @p='asynchronous/bug652252.vala'; \
+       b='asynchronous/bug652252.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug653861.vala.log: asynchronous/bug653861.vala
+       @p='asynchronous/bug653861.vala'; \
+       b='asynchronous/bug653861.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug654336.vala.log: asynchronous/bug654336.vala
+       @p='asynchronous/bug654336.vala'; \
+       b='asynchronous/bug654336.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug654337.vala.log: asynchronous/bug654337.vala
+       @p='asynchronous/bug654337.vala'; \
+       b='asynchronous/bug654337.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/bug661961.vala.log: asynchronous/bug661961.vala
+       @p='asynchronous/bug661961.vala'; \
+       b='asynchronous/bug661961.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+asynchronous/closures.vala.log: asynchronous/closures.vala
+       @p='asynchronous/closures.vala'; \
+       b='asynchronous/closures.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+dbus/bug596862.vala.log: dbus/bug596862.vala
+       @p='dbus/bug596862.vala'; \
+       b='dbus/bug596862.vala'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+       @p='$<'; \
+       $(am__set_b); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
+
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -437,6 +1813,9 @@ install-strip:
            "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
        fi
 mostlyclean-generic:
+       -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+       -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
 
@@ -518,15 +1897,16 @@ uninstall-am:
 .MAKE: all check check-am install install-am install-strip
 
 .PHONY: all all-am check check-TESTS check-am clean clean-generic \
-       clean-libtool clean-noinstPROGRAMS distclean distclean-generic \
-       distclean-libtool distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       clean-libtool clean-noinstPROGRAMS cscopelist-am ctags-am \
+       distclean distclean-generic distclean-libtool distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \
        uninstall uninstall-am
 
 
diff --git a/tests/structs/bug685177.vala b/tests/structs/bug685177.vala
new file mode 100644 (file)
index 0000000..6aa3060
--- /dev/null
@@ -0,0 +1,35 @@
+void non_nullable (Value v1, ref Value v2, out Value v3) {
+       v3 = v2;
+       v2 = v1;
+}
+
+void nullable (Value? v1, ref Value? v2, out Value? v3) {
+       v3 = v2;
+       v2 = null;
+}
+
+void main () {
+       Value v1 = 1;
+       Value v2 = 2;
+       Value v3;
+       non_nullable (v1, ref v2, out v3);
+       assert ((int)v1 == 1);
+       assert ((int)v2 == 1);
+       assert ((int)v3 == 2);
+
+       Value? v4 = 4;
+       Value? v5 = 5;
+       Value? v6 = 6;
+       non_nullable (v4, ref v5, out v6);
+       assert ((int)v4 == 4);
+       assert ((int)v5 == 4);
+       assert ((int)v6 == 5);
+
+       v4 = 4;
+       v5 = 5;
+       v6 = 6;
+       nullable (v4, ref v5, out v6);
+       assert ((int)v4 == 4);
+       assert (v5 == null);
+       assert ((int)v6 == 5);
+}
diff --git a/tests/structs/bug690380.vala b/tests/structs/bug690380.vala
new file mode 100644 (file)
index 0000000..38fcc83
--- /dev/null
@@ -0,0 +1,18 @@
+struct Foo {
+       int i;
+}
+
+struct Bar : Foo {
+}
+
+void main () {
+       var f1 = Foo () { i = 42 };
+       var f2 = Foo () { i = 42 };
+
+       assert (f1 == f2);
+
+       var b1 = Bar () { i = 42 };
+       var b2 = Bar () { i = 42 };
+
+       assert (b1 == b2);
+}
index 579f356..f27ffe3 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -51,7 +51,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = vala
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(top_srcdir)/build-aux/depcomp $(valainclude_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -200,6 +200,23 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(valaincludedir)"
 HEADERS = $(valainclude_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -777,26 +794,15 @@ uninstall-valaincludeHEADERS:
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(valaincludedir)'; $(am__uninstall_files_from_dir)
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -808,15 +814,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -825,9 +827,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
 
-cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -987,9 +990,9 @@ uninstall-am: uninstall-valaincludeHEADERS
 
 .MAKE: all check install install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
-       distclean distclean-compile distclean-generic \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
+       ctags-am distclean distclean-compile distclean-generic \
        distclean-libtool distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-data \
        install-data-am install-dvi install-dvi-am install-exec \
@@ -999,7 +1002,7 @@ uninstall-am: uninstall-valaincludeHEADERS
        install-valaincludeHEADERS installcheck installcheck-am \
        installdirs maintainer-clean maintainer-clean-generic \
        mostlyclean mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
        uninstall-am uninstall-valaincludeHEADERS
 
        $(NULL)
index 76f5434..cbf4473 100644 (file)
@@ -2043,6 +2043,7 @@ namespace Vala {
                public override void visit_data_type (Vala.DataType data_type);
                public override void visit_declaration_statement (Vala.DeclarationStatement stmt);
                public override void visit_delegate (Vala.Delegate cb);
+               public override void visit_delete_statement (Vala.DeleteStatement stmt);
                public override void visit_destructor (Vala.Destructor d);
                public override void visit_do_statement (Vala.DoStatement stmt);
                public override void visit_element_access (Vala.ElementAccess expr);
index b60a01c..ddffdbf 100644 (file)
@@ -1674,7 +1674,7 @@ void vala_code_context_write_dependencies (ValaCodeContext* self, const gchar* f
        g_return_if_fail (self != NULL);
        g_return_if_fail (filename != NULL);
        _tmp0_ = filename;
-       _tmp1_ = fopen (_tmp0_, "w");
+       _tmp1_ = g_fopen (_tmp0_, "w");
        stream = _tmp1_;
        _tmp2_ = stream;
        if (_tmp2_ == NULL) {
index 1ea0f89..e164b50 100644 (file)
@@ -1913,14 +1913,14 @@ void vala_code_writer_write_file (ValaCodeWriter* self, ValaCodeContext* context
                const gchar* _tmp7_;
                FILE* _tmp8_ = NULL;
                _tmp7_ = temp_filename;
-               _tmp8_ = fopen (_tmp7_, "w");
+               _tmp8_ = g_fopen (_tmp7_, "w");
                _fclose0 (self->priv->stream);
                self->priv->stream = _tmp8_;
        } else {
                const gchar* _tmp9_;
                FILE* _tmp10_ = NULL;
                _tmp9_ = filename;
-               _tmp10_ = fopen (_tmp9_, "w");
+               _tmp10_ = g_fopen (_tmp9_, "w");
                _fclose0 (self->priv->stream);
                self->priv->stream = _tmp10_;
        }
index 1c4ea56..e5da9cb 100644 (file)
@@ -1388,7 +1388,8 @@ typedef enum  {
        VALA_GIR_PARSER_ARGUMENT_TYPE_FINISH_NAME,
        VALA_GIR_PARSER_ARGUMENT_TYPE_SYMBOL_TYPE,
        VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX,
-       VALA_GIR_PARSER_ARGUMENT_TYPE_EXPERIMENTAL
+       VALA_GIR_PARSER_ARGUMENT_TYPE_EXPERIMENTAL,
+       VALA_GIR_PARSER_ARGUMENT_TYPE_FLOATING
 } ValaGirParserArgumentType;
 
 struct _ValaGirParserNode {
@@ -1938,6 +1939,8 @@ const gchar* vala_markup_reader_get_name (ValaMarkupReader* self);
 void vala_report_error (ValaSourceReference* source, const gchar* message);
 static ValaSourceReference* vala_gir_parser_get_current_src (ValaGirParser* self);
 static void vala_gir_parser_end_element (ValaGirParser* self, const gchar* name);
+void vala_report_warning (ValaSourceReference* source, const gchar* message);
+static void vala_gir_parser_skip_element (ValaGirParser* self);
 ValaSourceReference* vala_source_reference_new (ValaSourceFile* _file, ValaSourceLocation* begin, ValaSourceLocation* end);
 ValaSourceReference* vala_source_reference_construct (GType object_type, ValaSourceFile* _file, ValaSourceLocation* begin, ValaSourceLocation* end);
 static void vala_gir_parser_add_symbol_to_container (ValaSymbol* container, ValaSymbol* sym);
@@ -2010,7 +2013,6 @@ static gchar* vala_gir_parser_parse_package (ValaGirParser* self);
 gboolean vala_code_context_has_package (ValaCodeContext* self, const gchar* pkg);
 void vala_code_context_add_package (ValaCodeContext* self, const gchar* pkg);
 static void vala_gir_parser_parse_c_include (ValaGirParser* self);
-static void vala_gir_parser_skip_element (ValaGirParser* self);
 gboolean vala_code_context_add_external_package (ValaCodeContext* self, const gchar* pkg);
 static void _vala_array_add1 (gchar*** array, int* length, int* size, gchar* value);
 static ValaGirParserNode* vala_gir_parser_resolve_node (ValaGirParser* self, ValaGirParserNode* parent_scope, ValaUnresolvedSymbol* unresolved_sym, gboolean create_namespace);
@@ -2138,6 +2140,7 @@ void vala_method_set_is_abstract (ValaMethod* self, gboolean value);
 void vala_method_set_is_virtual (ValaMethod* self, gboolean value);
 GType vala_member_binding_get_type (void) G_GNUC_CONST;
 void vala_method_set_binding (ValaMethod* self, ValaMemberBinding value);
+void vala_method_set_returns_floating_reference (ValaMethod* self, gboolean value);
 void vala_code_node_add_error_type (ValaCodeNode* self, ValaDataType* error_type);
 ValaErrorType* vala_error_type_new (ValaErrorDomain* error_domain, ValaErrorCode* error_code, ValaSourceReference* source_reference);
 ValaErrorType* vala_error_type_construct (GType object_type, ValaErrorDomain* error_domain, ValaErrorCode* error_code, ValaSourceReference* source_reference);
@@ -2162,7 +2165,6 @@ static void vala_gir_parser_value_set_argument (GValue* value, gpointer v_object
 static void vala_gir_parser_value_take_argument (GValue* value, gpointer v_object) G_GNUC_UNUSED;
 static gpointer vala_gir_parser_value_get_argument (const GValue* value) G_GNUC_UNUSED;
 static GType vala_gir_parser_argument_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
-void vala_report_warning (ValaSourceReference* source, const gchar* message);
 void vala_unresolved_symbol_set_inner (ValaUnresolvedSymbol* self, ValaUnresolvedSymbol* value);
 ValaSymbol* vala_symbol_get_parent_symbol (ValaSymbol* self);
 ValaTypeSymbol* vala_data_type_get_data_type (ValaDataType* self);
@@ -2184,6 +2186,8 @@ ValaDataType* vala_delegate_get_return_type (ValaDelegate* self);
 ValaDataType* vala_signal_get_return_type (ValaSignal* self);
 ValaParameterDirection vala_parameter_get_direction (ValaParameter* self);
 ValaDataType* vala_data_type_copy (ValaDataType* self);
+ValaDataType* vala_struct_get_base_type (ValaStruct* self);
+ValaStruct* vala_struct_get_base_struct (ValaStruct* self);
 void vala_method_add_parameter (ValaMethod* self, ValaParameter* param);
 void vala_delegate_add_parameter (ValaDelegate* self, ValaParameter* param);
 void vala_signal_add_parameter (ValaSignal* self, ValaParameter* param);
@@ -2451,7 +2455,7 @@ static ValaGirParserArgumentType* vala_gir_parser_argument_type_from_string (con
 static GType vala_gir_parser_argument_type_get_type (void) {
        static volatile gsize vala_gir_parser_argument_type_type_id__volatile = 0;
        if (g_once_init_enter (&vala_gir_parser_argument_type_type_id__volatile)) {
-               static const GEnumValue values[] = {{VALA_GIR_PARSER_ARGUMENT_TYPE_SKIP, "VALA_GIR_PARSER_ARGUMENT_TYPE_SKIP", "skip"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_HIDDEN, "VALA_GIR_PARSER_ARGUMENT_TYPE_HIDDEN", "hidden"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_TYPE, "VALA_GIR_PARSER_ARGUMENT_TYPE_TYPE", "type"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_TYPE_ARGUMENTS, "VALA_GIR_PARSER_ARGUMENT_TYPE_TYPE_ARGUMENTS", "type-arguments"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_CHEADER_FILENAME, "VALA_GIR_PARSER_ARGUMENT_TYPE_CHEADER_FILENAME", "cheader-filename"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_NAME, "VALA_GIR_PARSER_ARGUMENT_TYPE_NAME", "name"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_OWNED, "VALA_GIR_PARSER_ARGUMENT_TYPE_OWNED", "owned"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_UNOWNED, "VALA_GIR_PARSER_ARGUMENT_TYPE_UNOWNED", "unowned"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_PARENT, "VALA_GIR_PARSER_ARGUMENT_TYPE_PARENT", "parent"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_NULLABLE, "VALA_GIR_PARSER_ARGUMENT_TYPE_NULLABLE", "nullable"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_DEPRECATED, "VALA_GIR_PARSER_ARGUMENT_TYPE_DEPRECATED", "deprecated"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_REPLACEMENT, "VALA_GIR_PARSER_ARGUMENT_TYPE_REPLACEMENT", "replacement"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_DEPRECATED_SINCE, "VALA_GIR_PARSER_ARGUMENT_TYPE_DEPRECATED_SINCE", "deprecated-since"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY, "VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY", "array"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_IDX, "VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_IDX", "array-length-idx"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_DEFAULT, "VALA_GIR_PARSER_ARGUMENT_TYPE_DEFAULT", "default"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_OUT, "VALA_GIR_PARSER_ARGUMENT_TYPE_OUT", "out"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_REF, "VALA_GIR_PARSER_ARGUMENT_TYPE_REF", "ref"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_VFUNC_NAME, "VALA_GIR_PARSER_ARGUMENT_TYPE_VFUNC_NAME", "vfunc-name"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_VIRTUAL, "VALA_GIR_PARSER_ARGUMENT_TYPE_VIRTUAL", "virtual"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_ABSTRACT, "VALA_GIR_PARSER_ARGUMENT_TYPE_ABSTRACT", "abstract"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_SCOPE, "VALA_GIR_PARSER_ARGUMENT_TYPE_SCOPE", "scope"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_STRUCT, "VALA_GIR_PARSER_ARGUMENT_TYPE_STRUCT", "struct"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS, "VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS", "throws"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_PRINTF_FORMAT, "VALA_GIR_PARSER_ARGUMENT_TYPE_PRINTF_FORMAT", "printf-format"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_FIELD, "VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_FIELD", "array-length-field"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_SENTINEL, "VALA_GIR_PARSER_ARGUMENT_TYPE_SENTINEL", "sentinel"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_CLOSURE, "VALA_GIR_PARSER_ARGUMENT_TYPE_CLOSURE", "closure"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_CPREFIX, "VALA_GIR_PARSER_ARGUMENT_TYPE_CPREFIX", "cprefix"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_LOWER_CASE_CPREFIX, "VALA_GIR_PARSER_ARGUMENT_TYPE_LOWER_CASE_CPREFIX", "lower-case-cprefix"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_ERRORDOMAIN, "VALA_GIR_PARSER_ARGUMENT_TYPE_ERRORDOMAIN", "errordomain"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_DESTROYS_INSTANCE, "VALA_GIR_PARSER_ARGUMENT_TYPE_DESTROYS_INSTANCE", "destroys-instance"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_BASE_TYPE, "VALA_GIR_PARSER_ARGUMENT_TYPE_BASE_TYPE", "base-type"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_FINISH_NAME, "VALA_GIR_PARSER_ARGUMENT_TYPE_FINISH_NAME", "finish-name"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_SYMBOL_TYPE, "VALA_GIR_PARSER_ARGUMENT_TYPE_SYMBOL_TYPE", "symbol-type"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX, "VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX", "instance-idx"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_EXPERIMENTAL, "VALA_GIR_PARSER_ARGUMENT_TYPE_EXPERIMENTAL", "experimental"}, {0, NULL, NULL}};
+               static const GEnumValue values[] = {{VALA_GIR_PARSER_ARGUMENT_TYPE_SKIP, "VALA_GIR_PARSER_ARGUMENT_TYPE_SKIP", "skip"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_HIDDEN, "VALA_GIR_PARSER_ARGUMENT_TYPE_HIDDEN", "hidden"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_TYPE, "VALA_GIR_PARSER_ARGUMENT_TYPE_TYPE", "type"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_TYPE_ARGUMENTS, "VALA_GIR_PARSER_ARGUMENT_TYPE_TYPE_ARGUMENTS", "type-arguments"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_CHEADER_FILENAME, "VALA_GIR_PARSER_ARGUMENT_TYPE_CHEADER_FILENAME", "cheader-filename"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_NAME, "VALA_GIR_PARSER_ARGUMENT_TYPE_NAME", "name"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_OWNED, "VALA_GIR_PARSER_ARGUMENT_TYPE_OWNED", "owned"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_UNOWNED, "VALA_GIR_PARSER_ARGUMENT_TYPE_UNOWNED", "unowned"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_PARENT, "VALA_GIR_PARSER_ARGUMENT_TYPE_PARENT", "parent"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_NULLABLE, "VALA_GIR_PARSER_ARGUMENT_TYPE_NULLABLE", "nullable"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_DEPRECATED, "VALA_GIR_PARSER_ARGUMENT_TYPE_DEPRECATED", "deprecated"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_REPLACEMENT, "VALA_GIR_PARSER_ARGUMENT_TYPE_REPLACEMENT", "replacement"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_DEPRECATED_SINCE, "VALA_GIR_PARSER_ARGUMENT_TYPE_DEPRECATED_SINCE", "deprecated-since"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY, "VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY", "array"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_IDX, "VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_IDX", "array-length-idx"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_DEFAULT, "VALA_GIR_PARSER_ARGUMENT_TYPE_DEFAULT", "default"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_OUT, "VALA_GIR_PARSER_ARGUMENT_TYPE_OUT", "out"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_REF, "VALA_GIR_PARSER_ARGUMENT_TYPE_REF", "ref"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_VFUNC_NAME, "VALA_GIR_PARSER_ARGUMENT_TYPE_VFUNC_NAME", "vfunc-name"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_VIRTUAL, "VALA_GIR_PARSER_ARGUMENT_TYPE_VIRTUAL", "virtual"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_ABSTRACT, "VALA_GIR_PARSER_ARGUMENT_TYPE_ABSTRACT", "abstract"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_SCOPE, "VALA_GIR_PARSER_ARGUMENT_TYPE_SCOPE", "scope"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_STRUCT, "VALA_GIR_PARSER_ARGUMENT_TYPE_STRUCT", "struct"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS, "VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS", "throws"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_PRINTF_FORMAT, "VALA_GIR_PARSER_ARGUMENT_TYPE_PRINTF_FORMAT", "printf-format"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_FIELD, "VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_FIELD", "array-length-field"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_SENTINEL, "VALA_GIR_PARSER_ARGUMENT_TYPE_SENTINEL", "sentinel"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_CLOSURE, "VALA_GIR_PARSER_ARGUMENT_TYPE_CLOSURE", "closure"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_CPREFIX, "VALA_GIR_PARSER_ARGUMENT_TYPE_CPREFIX", "cprefix"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_LOWER_CASE_CPREFIX, "VALA_GIR_PARSER_ARGUMENT_TYPE_LOWER_CASE_CPREFIX", "lower-case-cprefix"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_ERRORDOMAIN, "VALA_GIR_PARSER_ARGUMENT_TYPE_ERRORDOMAIN", "errordomain"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_DESTROYS_INSTANCE, "VALA_GIR_PARSER_ARGUMENT_TYPE_DESTROYS_INSTANCE", "destroys-instance"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_BASE_TYPE, "VALA_GIR_PARSER_ARGUMENT_TYPE_BASE_TYPE", "base-type"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_FINISH_NAME, "VALA_GIR_PARSER_ARGUMENT_TYPE_FINISH_NAME", "finish-name"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_SYMBOL_TYPE, "VALA_GIR_PARSER_ARGUMENT_TYPE_SYMBOL_TYPE", "symbol-type"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX, "VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX", "instance-idx"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_EXPERIMENTAL, "VALA_GIR_PARSER_ARGUMENT_TYPE_EXPERIMENTAL", "experimental"}, {VALA_GIR_PARSER_ARGUMENT_TYPE_FLOATING, "VALA_GIR_PARSER_ARGUMENT_TYPE_FLOATING", "floating"}, {0, NULL, NULL}};
                GType vala_gir_parser_argument_type_type_id;
                vala_gir_parser_argument_type_type_id = g_enum_register_static ("ValaGirParserArgumentType", values);
                g_once_init_leave (&vala_gir_parser_argument_type_type_id__volatile, vala_gir_parser_argument_type_type_id);
@@ -2987,40 +2991,44 @@ static void vala_gir_parser_start_element (ValaGirParser* self, const gchar* nam
 
 
 static void vala_gir_parser_end_element (ValaGirParser* self, const gchar* name) {
-       gboolean _tmp0_ = FALSE;
-       ValaMarkupTokenType _tmp1_;
-       gboolean _tmp6_;
        g_return_if_fail (self != NULL);
        g_return_if_fail (name != NULL);
-       _tmp1_ = self->priv->current_token;
-       if (_tmp1_ != VALA_MARKUP_TOKEN_TYPE_END_ELEMENT) {
-               _tmp0_ = TRUE;
-       } else {
-               ValaMarkupReader* _tmp2_;
-               const gchar* _tmp3_;
-               const gchar* _tmp4_;
-               const gchar* _tmp5_;
-               _tmp2_ = self->priv->reader;
-               _tmp3_ = vala_markup_reader_get_name (_tmp2_);
-               _tmp4_ = _tmp3_;
-               _tmp5_ = name;
-               _tmp0_ = g_strcmp0 (_tmp4_, _tmp5_) != 0;
-       }
-       _tmp6_ = _tmp0_;
-       if (_tmp6_) {
+       while (TRUE) {
+               gboolean _tmp0_ = FALSE;
+               ValaMarkupTokenType _tmp1_;
+               gboolean _tmp6_;
                ValaSourceReference* _tmp7_ = NULL;
                ValaSourceReference* _tmp8_;
                const gchar* _tmp9_;
                gchar* _tmp10_ = NULL;
                gchar* _tmp11_;
+               _tmp1_ = self->priv->current_token;
+               if (_tmp1_ != VALA_MARKUP_TOKEN_TYPE_END_ELEMENT) {
+                       _tmp0_ = TRUE;
+               } else {
+                       ValaMarkupReader* _tmp2_;
+                       const gchar* _tmp3_;
+                       const gchar* _tmp4_;
+                       const gchar* _tmp5_;
+                       _tmp2_ = self->priv->reader;
+                       _tmp3_ = vala_markup_reader_get_name (_tmp2_);
+                       _tmp4_ = _tmp3_;
+                       _tmp5_ = name;
+                       _tmp0_ = g_strcmp0 (_tmp4_, _tmp5_) != 0;
+               }
+               _tmp6_ = _tmp0_;
+               if (!_tmp6_) {
+                       break;
+               }
                _tmp7_ = vala_gir_parser_get_current_src (self);
                _tmp8_ = _tmp7_;
                _tmp9_ = name;
                _tmp10_ = g_strdup_printf ("expected end element of `%s'", _tmp9_);
                _tmp11_ = _tmp10_;
-               vala_report_error (_tmp8_, _tmp11_);
+               vala_report_warning (_tmp8_, _tmp11_);
                _g_free0 (_tmp11_);
                _vala_source_reference_unref0 (_tmp8_);
+               vala_gir_parser_skip_element (self);
        }
        vala_gir_parser_next (self);
 }
@@ -4533,7 +4541,7 @@ static ValaDataType* vala_gir_parser_parse_type_from_string (ValaGirParser* self
                        e = _inner_error_;
                        _inner_error_ = NULL;
                        _tmp3_ = e->message;
-                       g_error ("valagirparser.vala:1509: Unable to compile regex: %s", _tmp3_);
+                       g_error ("valagirparser.vala:1510: Unable to compile regex: %s", _tmp3_);
                        _g_error_free0 (e);
                }
                __finally4:
@@ -9429,43 +9437,43 @@ static void vala_gir_parser_parse_function (ValaGirParser* self, const gchar* el
        gboolean _tmp142_ = FALSE;
        ValaSymbol* _tmp143_;
        gboolean _tmp145_;
-       ValaGirParserMetadata* _tmp167_;
-       ValaExpression* _tmp168_ = NULL;
-       ValaExpression* _tmp169_;
-       gboolean _tmp170_;
-       ValaSymbol* _tmp192_;
-       gboolean _tmp204_ = FALSE;
-       ValaDataType* _tmp205_;
-       gboolean _tmp208_;
-       ValaGirParserNode* _tmp215_;
-       gint _tmp216_;
-       ValaGirParserNode* _tmp217_;
-       ValaSymbol* _tmp218_;
-       ValaSymbol* _tmp219_;
-       ValaGirParserMetadata* _tmp220_;
-       gboolean _tmp221_ = FALSE;
-       GEqualFunc _tmp226_;
-       ValaArrayList* _tmp227_;
+       ValaGirParserMetadata* _tmp172_;
+       ValaExpression* _tmp173_ = NULL;
+       ValaExpression* _tmp174_;
+       gboolean _tmp175_;
+       ValaSymbol* _tmp197_;
+       gboolean _tmp209_ = FALSE;
+       ValaDataType* _tmp210_;
+       gboolean _tmp213_;
+       ValaGirParserNode* _tmp220_;
+       gint _tmp221_;
+       ValaGirParserNode* _tmp222_;
+       ValaSymbol* _tmp223_;
+       ValaSymbol* _tmp224_;
+       ValaGirParserMetadata* _tmp225_;
+       gboolean _tmp226_ = FALSE;
+       GEqualFunc _tmp231_;
+       ValaArrayList* _tmp232_;
        ValaArrayList* parameters;
-       ValaGirParserNode* _tmp228_;
-       GEqualFunc _tmp229_;
-       ValaArrayList* _tmp230_;
-       ValaGirParserNode* _tmp231_;
-       GEqualFunc _tmp232_;
-       ValaArrayList* _tmp233_;
-       ValaGirParserNode* _tmp234_;
-       GEqualFunc _tmp235_;
-       ValaArrayList* _tmp236_;
-       gboolean _tmp237_ = FALSE;
-       ValaMarkupTokenType _tmp238_;
-       gboolean _tmp242_;
-       ValaGirParserNode* _tmp311_;
-       ValaArrayList* _tmp312_;
-       ValaList* _tmp313_;
-       gboolean _tmp344_ = FALSE;
-       const gchar* _tmp345_;
-       gboolean _tmp347_;
-       const gchar* _tmp358_;
+       ValaGirParserNode* _tmp233_;
+       GEqualFunc _tmp234_;
+       ValaArrayList* _tmp235_;
+       ValaGirParserNode* _tmp236_;
+       GEqualFunc _tmp237_;
+       ValaArrayList* _tmp238_;
+       ValaGirParserNode* _tmp239_;
+       GEqualFunc _tmp240_;
+       ValaArrayList* _tmp241_;
+       gboolean _tmp242_ = FALSE;
+       ValaMarkupTokenType _tmp243_;
+       gboolean _tmp247_;
+       ValaGirParserNode* _tmp319_;
+       ValaArrayList* _tmp320_;
+       ValaList* _tmp321_;
+       gboolean _tmp352_ = FALSE;
+       const gchar* _tmp353_;
+       gboolean _tmp355_;
+       const gchar* _tmp366_;
        g_return_if_fail (self != NULL);
        g_return_if_fail (element_name != NULL);
        _tmp0_ = element_name;
@@ -9878,6 +9886,8 @@ static void vala_gir_parser_parse_function (ValaGirParser* self, const gchar* el
                gboolean _tmp149_ = FALSE;
                ValaGirParserMetadata* _tmp160_;
                gboolean _tmp161_ = FALSE;
+               ValaGirParserMetadata* _tmp167_;
+               gboolean _tmp168_ = FALSE;
                _tmp146_ = s;
                _tmp147_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp146_, VALA_TYPE_METHOD, ValaMethod));
                method = _tmp147_;
@@ -9929,413 +9939,434 @@ static void vala_gir_parser_parse_function (ValaGirParser* self, const gchar* el
                        _tmp166_ = method;
                        vala_method_set_is_virtual (_tmp166_, TRUE);
                }
+               _tmp167_ = self->priv->metadata;
+               _tmp168_ = vala_gir_parser_metadata_has_argument (_tmp167_, VALA_GIR_PARSER_ARGUMENT_TYPE_FLOATING);
+               if (_tmp168_) {
+                       ValaMethod* _tmp169_;
+                       ValaGirParserMetadata* _tmp170_;
+                       gboolean _tmp171_ = FALSE;
+                       _tmp169_ = method;
+                       _tmp170_ = self->priv->metadata;
+                       _tmp171_ = vala_gir_parser_metadata_get_bool (_tmp170_, VALA_GIR_PARSER_ARGUMENT_TYPE_FLOATING, FALSE);
+                       vala_method_set_returns_floating_reference (_tmp169_, _tmp171_);
+               }
                _vala_code_node_unref0 (method);
        }
-       _tmp167_ = self->priv->metadata;
-       _tmp168_ = vala_gir_parser_metadata_get_expression (_tmp167_, VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS);
-       _tmp169_ = _tmp168_;
-       _tmp170_ = !G_TYPE_CHECK_INSTANCE_TYPE (_tmp169_, VALA_TYPE_NULL_LITERAL);
-       _vala_code_node_unref0 (_tmp169_);
-       if (_tmp170_) {
-               ValaGirParserMetadata* _tmp171_;
-               gboolean _tmp172_ = FALSE;
-               _tmp171_ = self->priv->metadata;
-               _tmp172_ = vala_gir_parser_metadata_has_argument (_tmp171_, VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS);
-               if (_tmp172_) {
-                       ValaGirParserMetadata* _tmp173_;
-                       gchar* _tmp174_ = NULL;
-                       gchar* _tmp175_;
-                       gchar** _tmp176_;
-                       gchar** _tmp177_ = NULL;
-                       gchar** _tmp178_;
-                       gint _tmp178__length1;
+       _tmp172_ = self->priv->metadata;
+       _tmp173_ = vala_gir_parser_metadata_get_expression (_tmp172_, VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS);
+       _tmp174_ = _tmp173_;
+       _tmp175_ = !G_TYPE_CHECK_INSTANCE_TYPE (_tmp174_, VALA_TYPE_NULL_LITERAL);
+       _vala_code_node_unref0 (_tmp174_);
+       if (_tmp175_) {
+               ValaGirParserMetadata* _tmp176_;
+               gboolean _tmp177_ = FALSE;
+               _tmp176_ = self->priv->metadata;
+               _tmp177_ = vala_gir_parser_metadata_has_argument (_tmp176_, VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS);
+               if (_tmp177_) {
+                       ValaGirParserMetadata* _tmp178_;
+                       gchar* _tmp179_ = NULL;
+                       gchar* _tmp180_;
+                       gchar** _tmp181_;
+                       gchar** _tmp182_ = NULL;
+                       gchar** _tmp183_;
+                       gint _tmp183__length1;
                        gchar** error_types;
                        gint error_types_length1;
                        gint _error_types_size_;
-                       gchar** _tmp179_;
-                       gint _tmp179__length1;
-                       _tmp173_ = self->priv->metadata;
-                       _tmp174_ = vala_gir_parser_metadata_get_string (_tmp173_, VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS);
-                       _tmp175_ = _tmp174_;
-                       _tmp177_ = _tmp176_ = g_strsplit (_tmp175_, ",", 0);
-                       _tmp178_ = _tmp177_;
-                       _tmp178__length1 = _vala_array_length (_tmp176_);
-                       _g_free0 (_tmp175_);
-                       error_types = _tmp178_;
-                       error_types_length1 = _tmp178__length1;
+                       gchar** _tmp184_;
+                       gint _tmp184__length1;
+                       _tmp178_ = self->priv->metadata;
+                       _tmp179_ = vala_gir_parser_metadata_get_string (_tmp178_, VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS);
+                       _tmp180_ = _tmp179_;
+                       _tmp182_ = _tmp181_ = g_strsplit (_tmp180_, ",", 0);
+                       _tmp183_ = _tmp182_;
+                       _tmp183__length1 = _vala_array_length (_tmp181_);
+                       _g_free0 (_tmp180_);
+                       error_types = _tmp183_;
+                       error_types_length1 = _tmp183__length1;
                        _error_types_size_ = error_types_length1;
-                       _tmp179_ = error_types;
-                       _tmp179__length1 = error_types_length1;
+                       _tmp184_ = error_types;
+                       _tmp184__length1 = error_types_length1;
                        {
                                gchar** error_type_collection = NULL;
                                gint error_type_collection_length1 = 0;
                                gint _error_type_collection_size_ = 0;
                                gint error_type_it = 0;
-                               error_type_collection = _tmp179_;
-                               error_type_collection_length1 = _tmp179__length1;
-                               for (error_type_it = 0; error_type_it < _tmp179__length1; error_type_it = error_type_it + 1) {
-                                       gchar* _tmp180_;
+                               error_type_collection = _tmp184_;
+                               error_type_collection_length1 = _tmp184__length1;
+                               for (error_type_it = 0; error_type_it < _tmp184__length1; error_type_it = error_type_it + 1) {
+                                       gchar* _tmp185_;
                                        gchar* error_type = NULL;
-                                       _tmp180_ = g_strdup (error_type_collection[error_type_it]);
-                                       error_type = _tmp180_;
+                                       _tmp185_ = g_strdup (error_type_collection[error_type_it]);
+                                       error_type = _tmp185_;
                                        {
-                                               ValaSymbol* _tmp181_;
-                                               const gchar* _tmp182_;
-                                               ValaGirParserMetadata* _tmp183_;
-                                               ValaSourceReference* _tmp184_ = NULL;
-                                               ValaSourceReference* _tmp185_;
-                                               ValaDataType* _tmp186_ = NULL;
-                                               ValaDataType* _tmp187_;
-                                               _tmp181_ = s;
-                                               _tmp182_ = error_type;
-                                               _tmp183_ = self->priv->metadata;
-                                               _tmp184_ = vala_gir_parser_metadata_get_source_reference (_tmp183_, VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS);
-                                               _tmp185_ = _tmp184_;
-                                               _tmp186_ = vala_gir_parser_parse_type_from_string (self, _tmp182_, TRUE, _tmp185_);
-                                               _tmp187_ = _tmp186_;
-                                               vala_code_node_add_error_type ((ValaCodeNode*) _tmp181_, _tmp187_);
-                                               _vala_code_node_unref0 (_tmp187_);
-                                               _vala_source_reference_unref0 (_tmp185_);
+                                               ValaSymbol* _tmp186_;
+                                               const gchar* _tmp187_;
+                                               ValaGirParserMetadata* _tmp188_;
+                                               ValaSourceReference* _tmp189_ = NULL;
+                                               ValaSourceReference* _tmp190_;
+                                               ValaDataType* _tmp191_ = NULL;
+                                               ValaDataType* _tmp192_;
+                                               _tmp186_ = s;
+                                               _tmp187_ = error_type;
+                                               _tmp188_ = self->priv->metadata;
+                                               _tmp189_ = vala_gir_parser_metadata_get_source_reference (_tmp188_, VALA_GIR_PARSER_ARGUMENT_TYPE_THROWS);
+                                               _tmp190_ = _tmp189_;
+                                               _tmp191_ = vala_gir_parser_parse_type_from_string (self, _tmp187_, TRUE, _tmp190_);
+                                               _tmp192_ = _tmp191_;
+                                               vala_code_node_add_error_type ((ValaCodeNode*) _tmp186_, _tmp192_);
+                                               _vala_code_node_unref0 (_tmp192_);
+                                               _vala_source_reference_unref0 (_tmp190_);
                                                _g_free0 (error_type);
                                        }
                                }
                        }
                        error_types = (_vala_array_free (error_types, error_types_length1, (GDestroyNotify) g_free), NULL);
                } else {
-                       const gchar* _tmp188_;
-                       _tmp188_ = throws_string;
-                       if (g_strcmp0 (_tmp188_, "1") == 0) {
-                               ValaSymbol* _tmp189_;
-                               ValaErrorType* _tmp190_;
-                               ValaErrorType* _tmp191_;
-                               _tmp189_ = s;
-                               _tmp190_ = vala_error_type_new (NULL, NULL, NULL);
-                               _tmp191_ = _tmp190_;
-                               vala_code_node_add_error_type ((ValaCodeNode*) _tmp189_, (ValaDataType*) _tmp191_);
-                               _vala_code_node_unref0 (_tmp191_);
+                       const gchar* _tmp193_;
+                       _tmp193_ = throws_string;
+                       if (g_strcmp0 (_tmp193_, "1") == 0) {
+                               ValaSymbol* _tmp194_;
+                               ValaErrorType* _tmp195_;
+                               ValaErrorType* _tmp196_;
+                               _tmp194_ = s;
+                               _tmp195_ = vala_error_type_new (NULL, NULL, NULL);
+                               _tmp196_ = _tmp195_;
+                               vala_code_node_add_error_type ((ValaCodeNode*) _tmp194_, (ValaDataType*) _tmp196_);
+                               _vala_code_node_unref0 (_tmp196_);
                        }
                }
        }
-       _tmp192_ = s;
-       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp192_, VALA_TYPE_METHOD)) {
-               ValaSymbol* _tmp193_;
-               ValaMethod* _tmp194_;
+       _tmp197_ = s;
+       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp197_, VALA_TYPE_METHOD)) {
+               ValaSymbol* _tmp198_;
+               ValaMethod* _tmp199_;
                ValaMethod* m;
-               ValaMethod* _tmp195_;
-               ValaGirParserMetadata* _tmp196_;
-               gboolean _tmp197_ = FALSE;
-               ValaGirParserMetadata* _tmp198_;
-               gboolean _tmp199_ = FALSE;
-               _tmp193_ = s;
-               _tmp194_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp193_, VALA_TYPE_METHOD, ValaMethod));
-               m = _tmp194_;
-               _tmp195_ = m;
-               _tmp196_ = self->priv->metadata;
-               _tmp197_ = vala_gir_parser_metadata_get_bool (_tmp196_, VALA_GIR_PARSER_ARGUMENT_TYPE_PRINTF_FORMAT, FALSE);
-               vala_code_node_set_attribute ((ValaCodeNode*) _tmp195_, "PrintfFormat", _tmp197_, NULL);
-               _tmp198_ = self->priv->metadata;
-               _tmp199_ = vala_gir_parser_metadata_has_argument (_tmp198_, VALA_GIR_PARSER_ARGUMENT_TYPE_SENTINEL);
-               if (_tmp199_) {
-                       ValaMethod* _tmp200_;
-                       ValaGirParserMetadata* _tmp201_;
-                       gchar* _tmp202_ = NULL;
-                       gchar* _tmp203_;
-                       _tmp200_ = m;
-                       _tmp201_ = self->priv->metadata;
-                       _tmp202_ = vala_gir_parser_metadata_get_string (_tmp201_, VALA_GIR_PARSER_ARGUMENT_TYPE_SENTINEL);
-                       _tmp203_ = _tmp202_;
-                       vala_code_node_set_attribute_string ((ValaCodeNode*) _tmp200_, "CCode", "sentinel", _tmp203_, NULL);
-                       _g_free0 (_tmp203_);
+               ValaMethod* _tmp200_;
+               ValaGirParserMetadata* _tmp201_;
+               gboolean _tmp202_ = FALSE;
+               ValaGirParserMetadata* _tmp203_;
+               gboolean _tmp204_ = FALSE;
+               _tmp198_ = s;
+               _tmp199_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp198_, VALA_TYPE_METHOD, ValaMethod));
+               m = _tmp199_;
+               _tmp200_ = m;
+               _tmp201_ = self->priv->metadata;
+               _tmp202_ = vala_gir_parser_metadata_get_bool (_tmp201_, VALA_GIR_PARSER_ARGUMENT_TYPE_PRINTF_FORMAT, FALSE);
+               vala_code_node_set_attribute ((ValaCodeNode*) _tmp200_, "PrintfFormat", _tmp202_, NULL);
+               _tmp203_ = self->priv->metadata;
+               _tmp204_ = vala_gir_parser_metadata_has_argument (_tmp203_, VALA_GIR_PARSER_ARGUMENT_TYPE_SENTINEL);
+               if (_tmp204_) {
+                       ValaMethod* _tmp205_;
+                       ValaGirParserMetadata* _tmp206_;
+                       gchar* _tmp207_ = NULL;
+                       gchar* _tmp208_;
+                       _tmp205_ = m;
+                       _tmp206_ = self->priv->metadata;
+                       _tmp207_ = vala_gir_parser_metadata_get_string (_tmp206_, VALA_GIR_PARSER_ARGUMENT_TYPE_SENTINEL);
+                       _tmp208_ = _tmp207_;
+                       vala_code_node_set_attribute_string ((ValaCodeNode*) _tmp205_, "CCode", "sentinel", _tmp208_, NULL);
+                       _g_free0 (_tmp208_);
                }
                _vala_code_node_unref0 (m);
        }
-       _tmp205_ = return_type;
-       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp205_, VALA_TYPE_ARRAY_TYPE)) {
-               ValaGirParserMetadata* _tmp206_;
-               gboolean _tmp207_ = FALSE;
-               _tmp206_ = self->priv->metadata;
-               _tmp207_ = vala_gir_parser_metadata_has_argument (_tmp206_, VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_IDX);
-               _tmp204_ = _tmp207_;
+       _tmp210_ = return_type;
+       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp210_, VALA_TYPE_ARRAY_TYPE)) {
+               ValaGirParserMetadata* _tmp211_;
+               gboolean _tmp212_ = FALSE;
+               _tmp211_ = self->priv->metadata;
+               _tmp212_ = vala_gir_parser_metadata_has_argument (_tmp211_, VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_IDX);
+               _tmp209_ = _tmp212_;
        } else {
-               _tmp204_ = FALSE;
-       }
-       _tmp208_ = _tmp204_;
-       if (_tmp208_) {
-               ValaGirParserMetadata* _tmp209_;
-               gint _tmp210_ = 0;
-               _tmp209_ = self->priv->metadata;
-               _tmp210_ = vala_gir_parser_metadata_get_integer (_tmp209_, VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_IDX);
-               return_array_length_idx = _tmp210_;
+               _tmp209_ = FALSE;
+       }
+       _tmp213_ = _tmp209_;
+       if (_tmp213_) {
+               ValaGirParserMetadata* _tmp214_;
+               gint _tmp215_ = 0;
+               _tmp214_ = self->priv->metadata;
+               _tmp215_ = vala_gir_parser_metadata_get_integer (_tmp214_, VALA_GIR_PARSER_ARGUMENT_TYPE_ARRAY_LENGTH_IDX);
+               return_array_length_idx = _tmp215_;
        } else {
-               gboolean _tmp211_;
-               gboolean _tmp213_;
-               _tmp211_ = return_no_array_length;
-               if (_tmp211_) {
-                       ValaSymbol* _tmp212_;
-                       _tmp212_ = s;
-                       vala_code_node_set_attribute_bool ((ValaCodeNode*) _tmp212_, "CCode", "array_length", FALSE, NULL);
+               gboolean _tmp216_;
+               gboolean _tmp218_;
+               _tmp216_ = return_no_array_length;
+               if (_tmp216_) {
+                       ValaSymbol* _tmp217_;
+                       _tmp217_ = s;
+                       vala_code_node_set_attribute_bool ((ValaCodeNode*) _tmp217_, "CCode", "array_length", FALSE, NULL);
                }
-               _tmp213_ = return_array_null_terminated;
-               if (_tmp213_) {
-                       ValaSymbol* _tmp214_;
-                       _tmp214_ = s;
-                       vala_code_node_set_attribute_bool ((ValaCodeNode*) _tmp214_, "CCode", "array_null_terminated", TRUE, NULL);
+               _tmp218_ = return_array_null_terminated;
+               if (_tmp218_) {
+                       ValaSymbol* _tmp219_;
+                       _tmp219_ = s;
+                       vala_code_node_set_attribute_bool ((ValaCodeNode*) _tmp219_, "CCode", "array_null_terminated", TRUE, NULL);
                }
        }
-       _tmp215_ = self->priv->current;
-       _tmp216_ = return_array_length_idx;
-       _tmp215_->return_array_length_idx = _tmp216_;
-       _tmp217_ = self->priv->current;
-       _tmp218_ = s;
-       _tmp219_ = _vala_code_node_ref0 (_tmp218_);
-       _vala_code_node_unref0 (_tmp217_->symbol);
-       _tmp217_->symbol = _tmp219_;
-       _tmp220_ = self->priv->metadata;
-       _tmp221_ = vala_gir_parser_metadata_has_argument (_tmp220_, VALA_GIR_PARSER_ARGUMENT_TYPE_FINISH_NAME);
-       if (_tmp221_) {
-               ValaSymbol* _tmp222_;
-               ValaGirParserMetadata* _tmp223_;
-               gchar* _tmp224_ = NULL;
-               gchar* _tmp225_;
-               _tmp222_ = s;
-               _tmp223_ = self->priv->metadata;
-               _tmp224_ = vala_gir_parser_metadata_get_string (_tmp223_, VALA_GIR_PARSER_ARGUMENT_TYPE_FINISH_NAME);
-               _tmp225_ = _tmp224_;
-               vala_code_node_set_attribute_string ((ValaCodeNode*) _tmp222_, "CCode", "finish_name", _tmp225_, NULL);
-               _g_free0 (_tmp225_);
-       }
-       _tmp226_ = g_direct_equal;
-       _tmp227_ = vala_array_list_new (VALA_GIR_PARSER_TYPE_PARAMETER_INFO, (GBoxedCopyFunc) vala_gir_parser_parameter_info_ref, vala_gir_parser_parameter_info_unref, _tmp226_);
-       parameters = _tmp227_;
-       _tmp228_ = self->priv->current;
-       _tmp229_ = g_direct_equal;
-       _tmp230_ = vala_array_list_new (G_TYPE_INT, NULL, NULL, _tmp229_);
-       _vala_iterable_unref0 (_tmp228_->array_length_parameters);
-       _tmp228_->array_length_parameters = _tmp230_;
-       _tmp231_ = self->priv->current;
-       _tmp232_ = g_direct_equal;
-       _tmp233_ = vala_array_list_new (G_TYPE_INT, NULL, NULL, _tmp232_);
-       _vala_iterable_unref0 (_tmp231_->closure_parameters);
-       _tmp231_->closure_parameters = _tmp233_;
-       _tmp234_ = self->priv->current;
-       _tmp235_ = g_direct_equal;
-       _tmp236_ = vala_array_list_new (G_TYPE_INT, NULL, NULL, _tmp235_);
-       _vala_iterable_unref0 (_tmp234_->destroy_parameters);
-       _tmp234_->destroy_parameters = _tmp236_;
-       _tmp238_ = self->priv->current_token;
-       if (_tmp238_ == VALA_MARKUP_TOKEN_TYPE_START_ELEMENT) {
-               ValaMarkupReader* _tmp239_;
-               const gchar* _tmp240_;
-               const gchar* _tmp241_;
-               _tmp239_ = self->priv->reader;
-               _tmp240_ = vala_markup_reader_get_name (_tmp239_);
-               _tmp241_ = _tmp240_;
-               _tmp237_ = g_strcmp0 (_tmp241_, "parameters") == 0;
+       _tmp220_ = self->priv->current;
+       _tmp221_ = return_array_length_idx;
+       _tmp220_->return_array_length_idx = _tmp221_;
+       _tmp222_ = self->priv->current;
+       _tmp223_ = s;
+       _tmp224_ = _vala_code_node_ref0 (_tmp223_);
+       _vala_code_node_unref0 (_tmp222_->symbol);
+       _tmp222_->symbol = _tmp224_;
+       _tmp225_ = self->priv->metadata;
+       _tmp226_ = vala_gir_parser_metadata_has_argument (_tmp225_, VALA_GIR_PARSER_ARGUMENT_TYPE_FINISH_NAME);
+       if (_tmp226_) {
+               ValaSymbol* _tmp227_;
+               ValaGirParserMetadata* _tmp228_;
+               gchar* _tmp229_ = NULL;
+               gchar* _tmp230_;
+               _tmp227_ = s;
+               _tmp228_ = self->priv->metadata;
+               _tmp229_ = vala_gir_parser_metadata_get_string (_tmp228_, VALA_GIR_PARSER_ARGUMENT_TYPE_FINISH_NAME);
+               _tmp230_ = _tmp229_;
+               vala_code_node_set_attribute_string ((ValaCodeNode*) _tmp227_, "CCode", "finish_name", _tmp230_, NULL);
+               _g_free0 (_tmp230_);
+       }
+       _tmp231_ = g_direct_equal;
+       _tmp232_ = vala_array_list_new (VALA_GIR_PARSER_TYPE_PARAMETER_INFO, (GBoxedCopyFunc) vala_gir_parser_parameter_info_ref, vala_gir_parser_parameter_info_unref, _tmp231_);
+       parameters = _tmp232_;
+       _tmp233_ = self->priv->current;
+       _tmp234_ = g_direct_equal;
+       _tmp235_ = vala_array_list_new (G_TYPE_INT, NULL, NULL, _tmp234_);
+       _vala_iterable_unref0 (_tmp233_->array_length_parameters);
+       _tmp233_->array_length_parameters = _tmp235_;
+       _tmp236_ = self->priv->current;
+       _tmp237_ = g_direct_equal;
+       _tmp238_ = vala_array_list_new (G_TYPE_INT, NULL, NULL, _tmp237_);
+       _vala_iterable_unref0 (_tmp236_->closure_parameters);
+       _tmp236_->closure_parameters = _tmp238_;
+       _tmp239_ = self->priv->current;
+       _tmp240_ = g_direct_equal;
+       _tmp241_ = vala_array_list_new (G_TYPE_INT, NULL, NULL, _tmp240_);
+       _vala_iterable_unref0 (_tmp239_->destroy_parameters);
+       _tmp239_->destroy_parameters = _tmp241_;
+       _tmp243_ = self->priv->current_token;
+       if (_tmp243_ == VALA_MARKUP_TOKEN_TYPE_START_ELEMENT) {
+               ValaMarkupReader* _tmp244_;
+               const gchar* _tmp245_;
+               const gchar* _tmp246_;
+               _tmp244_ = self->priv->reader;
+               _tmp245_ = vala_markup_reader_get_name (_tmp244_);
+               _tmp246_ = _tmp245_;
+               _tmp242_ = g_strcmp0 (_tmp246_, "parameters") == 0;
        } else {
-               _tmp237_ = FALSE;
+               _tmp242_ = FALSE;
        }
-       _tmp242_ = _tmp237_;
-       if (_tmp242_) {
+       _tmp247_ = _tmp242_;
+       if (_tmp247_) {
                vala_gir_parser_start_element (self, "parameters");
                vala_gir_parser_next (self);
                while (TRUE) {
-                       ValaMarkupTokenType _tmp243_;
-                       gboolean _tmp244_ = FALSE;
+                       ValaMarkupTokenType _tmp248_;
+                       ValaMarkupReader* _tmp249_;
+                       const gchar* _tmp250_;
+                       const gchar* _tmp251_;
+                       gboolean _tmp252_ = FALSE;
                        gint array_length_idx = 0;
                        gint closure_idx = 0;
                        gint destroy_idx = 0;
                        gchar* scope = NULL;
                        gchar* default_param_name;
                        ValaComment* param_comment = NULL;
-                       ValaArrayList* _tmp245_;
-                       gint _tmp246_;
-                       gint _tmp247_;
-                       gchar* _tmp248_ = NULL;
-                       const gchar* _tmp249_;
-                       gint _tmp250_ = 0;
-                       gint _tmp251_ = 0;
-                       gint _tmp252_ = 0;
-                       gchar* _tmp253_ = NULL;
-                       ValaComment* _tmp254_ = NULL;
-                       ValaParameter* _tmp255_ = NULL;
+                       ValaArrayList* _tmp253_;
+                       gint _tmp254_;
+                       gint _tmp255_;
+                       gchar* _tmp256_ = NULL;
+                       const gchar* _tmp257_;
+                       gint _tmp258_ = 0;
+                       gint _tmp259_ = 0;
+                       gint _tmp260_ = 0;
+                       gchar* _tmp261_ = NULL;
+                       ValaComment* _tmp262_ = NULL;
+                       ValaParameter* _tmp263_ = NULL;
                        ValaParameter* param;
-                       gint _tmp256_;
-                       gint _tmp260_;
                        gint _tmp264_;
-                       ValaComment* _tmp268_;
-                       ValaParameter* _tmp286_;
-                       gint _tmp287_;
-                       gint _tmp288_;
-                       gint _tmp289_;
-                       ValaGirParserParameterInfo* _tmp290_;
+                       gint _tmp268_;
+                       gint _tmp272_;
+                       ValaComment* _tmp276_;
+                       ValaParameter* _tmp294_;
+                       gint _tmp295_;
+                       gint _tmp296_;
+                       gint _tmp297_;
+                       ValaGirParserParameterInfo* _tmp298_;
                        ValaGirParserParameterInfo* info;
-                       gboolean _tmp291_ = FALSE;
-                       ValaSymbol* _tmp292_;
-                       gboolean _tmp294_;
-                       ValaArrayList* _tmp309_;
-                       ValaGirParserParameterInfo* _tmp310_;
-                       _tmp243_ = self->priv->current_token;
-                       if (!(_tmp243_ == VALA_MARKUP_TOKEN_TYPE_START_ELEMENT)) {
+                       gboolean _tmp299_ = FALSE;
+                       ValaSymbol* _tmp300_;
+                       gboolean _tmp302_;
+                       ValaArrayList* _tmp317_;
+                       ValaGirParserParameterInfo* _tmp318_;
+                       _tmp248_ = self->priv->current_token;
+                       if (!(_tmp248_ == VALA_MARKUP_TOKEN_TYPE_START_ELEMENT)) {
                                break;
                        }
-                       _tmp244_ = vala_gir_parser_push_metadata (self);
-                       if (!_tmp244_) {
+                       _tmp249_ = self->priv->reader;
+                       _tmp250_ = vala_markup_reader_get_name (_tmp249_);
+                       _tmp251_ = _tmp250_;
+                       if (g_strcmp0 (_tmp251_, "instance-parameter") == 0) {
+                               vala_gir_parser_skip_element (self);
+                               continue;
+                       }
+                       _tmp252_ = vala_gir_parser_push_metadata (self);
+                       if (!_tmp252_) {
                                vala_gir_parser_skip_element (self);
                                continue;
                        }
                        default_param_name = NULL;
-                       _tmp245_ = parameters;
-                       _tmp246_ = vala_collection_get_size ((ValaCollection*) _tmp245_);
-                       _tmp247_ = _tmp246_;
-                       _tmp248_ = g_strdup_printf ("arg%d", _tmp247_);
+                       _tmp253_ = parameters;
+                       _tmp254_ = vala_collection_get_size ((ValaCollection*) _tmp253_);
+                       _tmp255_ = _tmp254_;
+                       _tmp256_ = g_strdup_printf ("arg%d", _tmp255_);
                        _g_free0 (default_param_name);
-                       default_param_name = _tmp248_;
-                       _tmp249_ = default_param_name;
-                       _tmp255_ = vala_gir_parser_parse_parameter (self, &_tmp250_, &_tmp251_, &_tmp252_, &_tmp253_, &_tmp254_, _tmp249_);
-                       array_length_idx = _tmp250_;
-                       closure_idx = _tmp251_;
-                       destroy_idx = _tmp252_;
+                       default_param_name = _tmp256_;
+                       _tmp257_ = default_param_name;
+                       _tmp263_ = vala_gir_parser_parse_parameter (self, &_tmp258_, &_tmp259_, &_tmp260_, &_tmp261_, &_tmp262_, _tmp257_);
+                       array_length_idx = _tmp258_;
+                       closure_idx = _tmp259_;
+                       destroy_idx = _tmp260_;
                        _g_free0 (scope);
-                       scope = _tmp253_;
+                       scope = _tmp261_;
                        _vala_comment_unref0 (param_comment);
-                       param_comment = _tmp254_;
-                       param = _tmp255_;
-                       _tmp256_ = array_length_idx;
-                       if (_tmp256_ != (-1)) {
-                               ValaGirParserNode* _tmp257_;
-                               ValaArrayList* _tmp258_;
-                               gint _tmp259_;
-                               _tmp257_ = self->priv->current;
-                               _tmp258_ = _tmp257_->array_length_parameters;
-                               _tmp259_ = array_length_idx;
-                               vala_collection_add ((ValaCollection*) _tmp258_, (gpointer) ((gintptr) _tmp259_));
-                       }
-                       _tmp260_ = closure_idx;
-                       if (_tmp260_ != (-1)) {
-                               ValaGirParserNode* _tmp261_;
-                               ValaArrayList* _tmp262_;
-                               gint _tmp263_;
-                               _tmp261_ = self->priv->current;
-                               _tmp262_ = _tmp261_->closure_parameters;
-                               _tmp263_ = closure_idx;
-                               vala_collection_add ((ValaCollection*) _tmp262_, (gpointer) ((gintptr) _tmp263_));
-                       }
-                       _tmp264_ = destroy_idx;
+                       param_comment = _tmp262_;
+                       param = _tmp263_;
+                       _tmp264_ = array_length_idx;
                        if (_tmp264_ != (-1)) {
                                ValaGirParserNode* _tmp265_;
                                ValaArrayList* _tmp266_;
                                gint _tmp267_;
                                _tmp265_ = self->priv->current;
-                               _tmp266_ = _tmp265_->destroy_parameters;
-                               _tmp267_ = destroy_idx;
+                               _tmp266_ = _tmp265_->array_length_parameters;
+                               _tmp267_ = array_length_idx;
                                vala_collection_add ((ValaCollection*) _tmp266_, (gpointer) ((gintptr) _tmp267_));
                        }
-                       _tmp268_ = param_comment;
-                       if (_tmp268_ != NULL) {
-                               ValaGirComment* _tmp269_;
-                               const gchar* _tmp276_ = NULL;
-                               ValaParameter* _tmp277_;
-                               gboolean _tmp278_;
-                               gboolean _tmp279_;
-                               ValaGirComment* _tmp283_;
-                               const gchar* _tmp284_;
-                               ValaComment* _tmp285_;
-                               _tmp269_ = comment;
-                               if (_tmp269_ == NULL) {
-                                       ValaSymbol* _tmp270_;
-                                       ValaSourceReference* _tmp271_;
-                                       ValaSourceReference* _tmp272_;
-                                       ValaGirComment* _tmp273_;
-                                       ValaSymbol* _tmp274_;
-                                       ValaGirComment* _tmp275_;
-                                       _tmp270_ = s;
-                                       _tmp271_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp270_);
-                                       _tmp272_ = _tmp271_;
-                                       _tmp273_ = vala_gir_comment_new (NULL, _tmp272_);
+                       _tmp268_ = closure_idx;
+                       if (_tmp268_ != (-1)) {
+                               ValaGirParserNode* _tmp269_;
+                               ValaArrayList* _tmp270_;
+                               gint _tmp271_;
+                               _tmp269_ = self->priv->current;
+                               _tmp270_ = _tmp269_->closure_parameters;
+                               _tmp271_ = closure_idx;
+                               vala_collection_add ((ValaCollection*) _tmp270_, (gpointer) ((gintptr) _tmp271_));
+                       }
+                       _tmp272_ = destroy_idx;
+                       if (_tmp272_ != (-1)) {
+                               ValaGirParserNode* _tmp273_;
+                               ValaArrayList* _tmp274_;
+                               gint _tmp275_;
+                               _tmp273_ = self->priv->current;
+                               _tmp274_ = _tmp273_->destroy_parameters;
+                               _tmp275_ = destroy_idx;
+                               vala_collection_add ((ValaCollection*) _tmp274_, (gpointer) ((gintptr) _tmp275_));
+                       }
+                       _tmp276_ = param_comment;
+                       if (_tmp276_ != NULL) {
+                               ValaGirComment* _tmp277_;
+                               const gchar* _tmp284_ = NULL;
+                               ValaParameter* _tmp285_;
+                               gboolean _tmp286_;
+                               gboolean _tmp287_;
+                               ValaGirComment* _tmp291_;
+                               const gchar* _tmp292_;
+                               ValaComment* _tmp293_;
+                               _tmp277_ = comment;
+                               if (_tmp277_ == NULL) {
+                                       ValaSymbol* _tmp278_;
+                                       ValaSourceReference* _tmp279_;
+                                       ValaSourceReference* _tmp280_;
+                                       ValaGirComment* _tmp281_;
+                                       ValaSymbol* _tmp282_;
+                                       ValaGirComment* _tmp283_;
+                                       _tmp278_ = s;
+                                       _tmp279_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp278_);
+                                       _tmp280_ = _tmp279_;
+                                       _tmp281_ = vala_gir_comment_new (NULL, _tmp280_);
                                        _vala_comment_unref0 (comment);
-                                       comment = _tmp273_;
-                                       _tmp274_ = s;
-                                       _tmp275_ = comment;
-                                       vala_symbol_set_comment (_tmp274_, (ValaComment*) _tmp275_);
+                                       comment = _tmp281_;
+                                       _tmp282_ = s;
+                                       _tmp283_ = comment;
+                                       vala_symbol_set_comment (_tmp282_, (ValaComment*) _tmp283_);
                                }
-                               _tmp277_ = param;
-                               _tmp278_ = vala_parameter_get_ellipsis (_tmp277_);
-                               _tmp279_ = _tmp278_;
-                               if (_tmp279_) {
-                                       _tmp276_ = "...";
+                               _tmp285_ = param;
+                               _tmp286_ = vala_parameter_get_ellipsis (_tmp285_);
+                               _tmp287_ = _tmp286_;
+                               if (_tmp287_) {
+                                       _tmp284_ = "...";
                                } else {
-                                       ValaParameter* _tmp280_;
-                                       const gchar* _tmp281_;
-                                       const gchar* _tmp282_;
-                                       _tmp280_ = param;
-                                       _tmp281_ = vala_symbol_get_name ((ValaSymbol*) _tmp280_);
-                                       _tmp282_ = _tmp281_;
-                                       _tmp276_ = _tmp282_;
+                                       ValaParameter* _tmp288_;
+                                       const gchar* _tmp289_;
+                                       const gchar* _tmp290_;
+                                       _tmp288_ = param;
+                                       _tmp289_ = vala_symbol_get_name ((ValaSymbol*) _tmp288_);
+                                       _tmp290_ = _tmp289_;
+                                       _tmp284_ = _tmp290_;
                                }
-                               _tmp283_ = comment;
-                               _tmp284_ = _tmp276_;
-                               _tmp285_ = param_comment;
-                               vala_gir_comment_add_content_for_parameter (_tmp283_, _tmp284_, _tmp285_);
+                               _tmp291_ = comment;
+                               _tmp292_ = _tmp284_;
+                               _tmp293_ = param_comment;
+                               vala_gir_comment_add_content_for_parameter (_tmp291_, _tmp292_, _tmp293_);
                        }
-                       _tmp286_ = param;
-                       _tmp287_ = array_length_idx;
-                       _tmp288_ = closure_idx;
-                       _tmp289_ = destroy_idx;
-                       _tmp290_ = vala_gir_parser_parameter_info_new (_tmp286_, _tmp287_, _tmp288_, _tmp289_);
-                       info = _tmp290_;
-                       _tmp292_ = s;
-                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp292_, VALA_TYPE_METHOD)) {
-                               const gchar* _tmp293_;
-                               _tmp293_ = scope;
-                               _tmp291_ = g_strcmp0 (_tmp293_, "async") == 0;
+                       _tmp294_ = param;
+                       _tmp295_ = array_length_idx;
+                       _tmp296_ = closure_idx;
+                       _tmp297_ = destroy_idx;
+                       _tmp298_ = vala_gir_parser_parameter_info_new (_tmp294_, _tmp295_, _tmp296_, _tmp297_);
+                       info = _tmp298_;
+                       _tmp300_ = s;
+                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp300_, VALA_TYPE_METHOD)) {
+                               const gchar* _tmp301_;
+                               _tmp301_ = scope;
+                               _tmp299_ = g_strcmp0 (_tmp301_, "async") == 0;
                        } else {
-                               _tmp291_ = FALSE;
+                               _tmp299_ = FALSE;
                        }
-                       _tmp294_ = _tmp291_;
-                       if (_tmp294_) {
-                               ValaParameter* _tmp295_;
-                               ValaDataType* _tmp296_;
-                               ValaDataType* _tmp297_;
-                               ValaUnresolvedType* _tmp298_;
+                       _tmp302_ = _tmp299_;
+                       if (_tmp302_) {
+                               ValaParameter* _tmp303_;
+                               ValaDataType* _tmp304_;
+                               ValaDataType* _tmp305_;
+                               ValaUnresolvedType* _tmp306_;
                                ValaUnresolvedType* unresolved_type;
-                               gboolean _tmp299_ = FALSE;
-                               ValaUnresolvedType* _tmp300_;
-                               gboolean _tmp306_;
-                               _tmp295_ = param;
-                               _tmp296_ = vala_variable_get_variable_type ((ValaVariable*) _tmp295_);
-                               _tmp297_ = _tmp296_;
-                               _tmp298_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp297_, VALA_TYPE_UNRESOLVED_TYPE) ? ((ValaUnresolvedType*) _tmp297_) : NULL);
-                               unresolved_type = _tmp298_;
-                               _tmp300_ = unresolved_type;
-                               if (_tmp300_ != NULL) {
-                                       ValaUnresolvedType* _tmp301_;
-                                       ValaUnresolvedSymbol* _tmp302_;
-                                       ValaUnresolvedSymbol* _tmp303_;
-                                       const gchar* _tmp304_;
-                                       const gchar* _tmp305_;
-                                       _tmp301_ = unresolved_type;
-                                       _tmp302_ = vala_unresolved_type_get_unresolved_symbol (_tmp301_);
-                                       _tmp303_ = _tmp302_;
-                                       _tmp304_ = vala_symbol_get_name ((ValaSymbol*) _tmp303_);
-                                       _tmp305_ = _tmp304_;
-                                       _tmp299_ = g_strcmp0 (_tmp305_, "AsyncReadyCallback") == 0;
+                               gboolean _tmp307_ = FALSE;
+                               ValaUnresolvedType* _tmp308_;
+                               gboolean _tmp314_;
+                               _tmp303_ = param;
+                               _tmp304_ = vala_variable_get_variable_type ((ValaVariable*) _tmp303_);
+                               _tmp305_ = _tmp304_;
+                               _tmp306_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp305_, VALA_TYPE_UNRESOLVED_TYPE) ? ((ValaUnresolvedType*) _tmp305_) : NULL);
+                               unresolved_type = _tmp306_;
+                               _tmp308_ = unresolved_type;
+                               if (_tmp308_ != NULL) {
+                                       ValaUnresolvedType* _tmp309_;
+                                       ValaUnresolvedSymbol* _tmp310_;
+                                       ValaUnresolvedSymbol* _tmp311_;
+                                       const gchar* _tmp312_;
+                                       const gchar* _tmp313_;
+                                       _tmp309_ = unresolved_type;
+                                       _tmp310_ = vala_unresolved_type_get_unresolved_symbol (_tmp309_);
+                                       _tmp311_ = _tmp310_;
+                                       _tmp312_ = vala_symbol_get_name ((ValaSymbol*) _tmp311_);
+                                       _tmp313_ = _tmp312_;
+                                       _tmp307_ = g_strcmp0 (_tmp313_, "AsyncReadyCallback") == 0;
                                } else {
-                                       _tmp299_ = FALSE;
+                                       _tmp307_ = FALSE;
                                }
-                               _tmp306_ = _tmp299_;
-                               if (_tmp306_) {
-                                       ValaSymbol* _tmp307_;
-                                       ValaGirParserParameterInfo* _tmp308_;
-                                       _tmp307_ = s;
-                                       vala_method_set_coroutine (G_TYPE_CHECK_INSTANCE_CAST (_tmp307_, VALA_TYPE_METHOD, ValaMethod), TRUE);
-                                       _tmp308_ = info;
-                                       _tmp308_->keep = FALSE;
+                               _tmp314_ = _tmp307_;
+                               if (_tmp314_) {
+                                       ValaSymbol* _tmp315_;
+                                       ValaGirParserParameterInfo* _tmp316_;
+                                       _tmp315_ = s;
+                                       vala_method_set_coroutine (G_TYPE_CHECK_INSTANCE_CAST (_tmp315_, VALA_TYPE_METHOD, ValaMethod), TRUE);
+                                       _tmp316_ = info;
+                                       _tmp316_->keep = FALSE;
                                }
                                _vala_code_node_unref0 (unresolved_type);
                        }
-                       _tmp309_ = parameters;
-                       _tmp310_ = info;
-                       vala_collection_add ((ValaCollection*) _tmp309_, _tmp310_);
+                       _tmp317_ = parameters;
+                       _tmp318_ = info;
+                       vala_collection_add ((ValaCollection*) _tmp317_, _tmp318_);
                        vala_gir_parser_pop_metadata (self);
                        _vala_gir_parser_parameter_info_unref0 (info);
                        _vala_code_node_unref0 (param);
@@ -10345,95 +10376,95 @@ static void vala_gir_parser_parse_function (ValaGirParser* self, const gchar* el
                }
                vala_gir_parser_end_element (self, "parameters");
        }
-       _tmp311_ = self->priv->current;
-       _tmp312_ = parameters;
-       _tmp313_ = _vala_iterable_ref0 ((ValaList*) _tmp312_);
-       _vala_iterable_unref0 (_tmp311_->parameters);
-       _tmp311_->parameters = _tmp313_;
+       _tmp319_ = self->priv->current;
+       _tmp320_ = parameters;
+       _tmp321_ = _vala_iterable_ref0 ((ValaList*) _tmp320_);
+       _vala_iterable_unref0 (_tmp319_->parameters);
+       _tmp319_->parameters = _tmp321_;
        {
-               ValaArrayList* _tmp314_;
-               gint _tmp315_;
-               gint _tmp316_;
+               ValaArrayList* _tmp322_;
+               gint _tmp323_;
+               gint _tmp324_;
                gint param_n;
-               _tmp314_ = parameters;
-               _tmp315_ = vala_collection_get_size ((ValaCollection*) _tmp314_);
-               _tmp316_ = _tmp315_;
-               param_n = _tmp316_ - 1;
+               _tmp322_ = parameters;
+               _tmp323_ = vala_collection_get_size ((ValaCollection*) _tmp322_);
+               _tmp324_ = _tmp323_;
+               param_n = _tmp324_ - 1;
                {
-                       gboolean _tmp317_;
-                       _tmp317_ = TRUE;
+                       gboolean _tmp325_;
+                       _tmp325_ = TRUE;
                        while (TRUE) {
-                               gboolean _tmp318_;
-                               gint _tmp320_;
-                               ValaArrayList* _tmp321_;
-                               gint _tmp322_;
-                               gpointer _tmp323_ = NULL;
+                               gboolean _tmp326_;
+                               gint _tmp328_;
+                               ValaArrayList* _tmp329_;
+                               gint _tmp330_;
+                               gpointer _tmp331_ = NULL;
                                ValaGirParserParameterInfo* pi;
-                               gboolean _tmp324_ = FALSE;
-                               ValaGirParserParameterInfo* _tmp325_;
-                               ValaParameter* _tmp326_;
-                               gboolean _tmp327_;
-                               gboolean _tmp328_;
-                               gboolean _tmp333_;
-                               _tmp318_ = _tmp317_;
-                               if (!_tmp318_) {
-                                       gint _tmp319_;
-                                       _tmp319_ = param_n;
-                                       param_n = _tmp319_ - 1;
+                               gboolean _tmp332_ = FALSE;
+                               ValaGirParserParameterInfo* _tmp333_;
+                               ValaParameter* _tmp334_;
+                               gboolean _tmp335_;
+                               gboolean _tmp336_;
+                               gboolean _tmp341_;
+                               _tmp326_ = _tmp325_;
+                               if (!_tmp326_) {
+                                       gint _tmp327_;
+                                       _tmp327_ = param_n;
+                                       param_n = _tmp327_ - 1;
                                }
-                               _tmp317_ = FALSE;
-                               _tmp320_ = param_n;
-                               if (!(_tmp320_ >= 0)) {
+                               _tmp325_ = FALSE;
+                               _tmp328_ = param_n;
+                               if (!(_tmp328_ >= 0)) {
                                        break;
                                }
-                               _tmp321_ = parameters;
-                               _tmp322_ = param_n;
-                               _tmp323_ = vala_list_get ((ValaList*) _tmp321_, _tmp322_);
-                               pi = (ValaGirParserParameterInfo*) _tmp323_;
-                               _tmp325_ = pi;
-                               _tmp326_ = _tmp325_->param;
-                               _tmp327_ = vala_parameter_get_ellipsis (_tmp326_);
-                               _tmp328_ = _tmp327_;
-                               if (!_tmp328_) {
-                                       ValaGirParserParameterInfo* _tmp329_;
-                                       ValaParameter* _tmp330_;
-                                       ValaExpression* _tmp331_;
-                                       ValaExpression* _tmp332_;
-                                       _tmp329_ = pi;
-                                       _tmp330_ = _tmp329_->param;
-                                       _tmp331_ = vala_variable_get_initializer ((ValaVariable*) _tmp330_);
-                                       _tmp332_ = _tmp331_;
-                                       _tmp324_ = _tmp332_ == NULL;
+                               _tmp329_ = parameters;
+                               _tmp330_ = param_n;
+                               _tmp331_ = vala_list_get ((ValaList*) _tmp329_, _tmp330_);
+                               pi = (ValaGirParserParameterInfo*) _tmp331_;
+                               _tmp333_ = pi;
+                               _tmp334_ = _tmp333_->param;
+                               _tmp335_ = vala_parameter_get_ellipsis (_tmp334_);
+                               _tmp336_ = _tmp335_;
+                               if (!_tmp336_) {
+                                       ValaGirParserParameterInfo* _tmp337_;
+                                       ValaParameter* _tmp338_;
+                                       ValaExpression* _tmp339_;
+                                       ValaExpression* _tmp340_;
+                                       _tmp337_ = pi;
+                                       _tmp338_ = _tmp337_->param;
+                                       _tmp339_ = vala_variable_get_initializer ((ValaVariable*) _tmp338_);
+                                       _tmp340_ = _tmp339_;
+                                       _tmp332_ = _tmp340_ == NULL;
                                } else {
-                                       _tmp324_ = FALSE;
+                                       _tmp332_ = FALSE;
                                }
-                               _tmp333_ = _tmp324_;
-                               if (_tmp333_) {
-                                       ValaGirParserParameterInfo* _tmp334_;
-                                       ValaParameter* _tmp335_;
-                                       ValaDataType* _tmp336_;
-                                       ValaDataType* _tmp337_;
-                                       gchar* _tmp338_ = NULL;
+                               _tmp341_ = _tmp332_;
+                               if (_tmp341_) {
+                                       ValaGirParserParameterInfo* _tmp342_;
+                                       ValaParameter* _tmp343_;
+                                       ValaDataType* _tmp344_;
+                                       ValaDataType* _tmp345_;
+                                       gchar* _tmp346_ = NULL;
                                        gchar* type_string;
-                                       const gchar* _tmp339_;
-                                       _tmp334_ = pi;
-                                       _tmp335_ = _tmp334_->param;
-                                       _tmp336_ = vala_variable_get_variable_type ((ValaVariable*) _tmp335_);
-                                       _tmp337_ = _tmp336_;
-                                       _tmp338_ = vala_code_node_to_string ((ValaCodeNode*) _tmp337_);
-                                       type_string = _tmp338_;
-                                       _tmp339_ = type_string;
-                                       if (g_strcmp0 (_tmp339_, "Gio.Cancellable?") == 0) {
-                                               ValaGirParserParameterInfo* _tmp340_;
-                                               ValaParameter* _tmp341_;
-                                               ValaNullLiteral* _tmp342_;
-                                               ValaNullLiteral* _tmp343_;
-                                               _tmp340_ = pi;
-                                               _tmp341_ = _tmp340_->param;
-                                               _tmp342_ = vala_null_literal_new (NULL);
-                                               _tmp343_ = _tmp342_;
-                                               vala_variable_set_initializer ((ValaVariable*) _tmp341_, (ValaExpression*) _tmp343_);
-                                               _vala_code_node_unref0 (_tmp343_);
+                                       const gchar* _tmp347_;
+                                       _tmp342_ = pi;
+                                       _tmp343_ = _tmp342_->param;
+                                       _tmp344_ = vala_variable_get_variable_type ((ValaVariable*) _tmp343_);
+                                       _tmp345_ = _tmp344_;
+                                       _tmp346_ = vala_code_node_to_string ((ValaCodeNode*) _tmp345_);
+                                       type_string = _tmp346_;
+                                       _tmp347_ = type_string;
+                                       if (g_strcmp0 (_tmp347_, "Gio.Cancellable?") == 0) {
+                                               ValaGirParserParameterInfo* _tmp348_;
+                                               ValaParameter* _tmp349_;
+                                               ValaNullLiteral* _tmp350_;
+                                               ValaNullLiteral* _tmp351_;
+                                               _tmp348_ = pi;
+                                               _tmp349_ = _tmp348_->param;
+                                               _tmp350_ = vala_null_literal_new (NULL);
+                                               _tmp351_ = _tmp350_;
+                                               vala_variable_set_initializer ((ValaVariable*) _tmp349_, (ValaExpression*) _tmp351_);
+                                               _vala_code_node_unref0 (_tmp351_);
                                        } else {
                                                _g_free0 (type_string);
                                                _vala_gir_parser_parameter_info_unref0 (pi);
@@ -10445,49 +10476,49 @@ static void vala_gir_parser_parse_function (ValaGirParser* self, const gchar* el
                        }
                }
        }
-       _tmp345_ = element_name;
-       if (g_strcmp0 (_tmp345_, "function") == 0) {
-               const gchar* _tmp346_;
-               _tmp346_ = symbol_type;
-               _tmp344_ = g_strcmp0 (_tmp346_, "method") == 0;
+       _tmp353_ = element_name;
+       if (g_strcmp0 (_tmp353_, "function") == 0) {
+               const gchar* _tmp354_;
+               _tmp354_ = symbol_type;
+               _tmp352_ = g_strcmp0 (_tmp354_, "method") == 0;
        } else {
-               _tmp344_ = FALSE;
-       }
-       _tmp347_ = _tmp344_;
-       if (_tmp347_) {
-               ValaGirParserMetadata* _tmp348_;
-               gboolean _tmp349_ = FALSE;
-               _tmp348_ = self->priv->metadata;
-               _tmp349_ = vala_gir_parser_metadata_has_argument (_tmp348_, VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX);
-               if (_tmp349_) {
-                       ValaGirParserMetadata* _tmp350_;
-                       gint _tmp351_ = 0;
+               _tmp352_ = FALSE;
+       }
+       _tmp355_ = _tmp352_;
+       if (_tmp355_) {
+               ValaGirParserMetadata* _tmp356_;
+               gboolean _tmp357_ = FALSE;
+               _tmp356_ = self->priv->metadata;
+               _tmp357_ = vala_gir_parser_metadata_has_argument (_tmp356_, VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX);
+               if (_tmp357_) {
+                       ValaGirParserMetadata* _tmp358_;
+                       gint _tmp359_ = 0;
                        gint instance_pos;
-                       ValaSymbol* _tmp352_;
-                       gint _tmp353_;
-                       ValaArrayList* _tmp354_;
-                       gint _tmp355_;
-                       _tmp350_ = self->priv->metadata;
-                       _tmp351_ = vala_gir_parser_metadata_get_integer (_tmp350_, VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX);
-                       instance_pos = _tmp351_;
-                       _tmp352_ = s;
-                       _tmp353_ = instance_pos;
-                       vala_code_node_set_attribute_double ((ValaCodeNode*) _tmp352_, "CCode", "instance_pos", _tmp353_ + 0.5, NULL);
-                       _tmp354_ = parameters;
-                       _tmp355_ = instance_pos;
-                       vala_list_remove_at ((ValaList*) _tmp354_, _tmp355_);
+                       ValaSymbol* _tmp360_;
+                       gint _tmp361_;
+                       ValaArrayList* _tmp362_;
+                       gint _tmp363_;
+                       _tmp358_ = self->priv->metadata;
+                       _tmp359_ = vala_gir_parser_metadata_get_integer (_tmp358_, VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX);
+                       instance_pos = _tmp359_;
+                       _tmp360_ = s;
+                       _tmp361_ = instance_pos;
+                       vala_code_node_set_attribute_double ((ValaCodeNode*) _tmp360_, "CCode", "instance_pos", _tmp361_ + 0.5, NULL);
+                       _tmp362_ = parameters;
+                       _tmp363_ = instance_pos;
+                       vala_list_remove_at ((ValaList*) _tmp362_, _tmp363_);
                } else {
-                       ValaSourceReference* _tmp356_ = NULL;
-                       ValaSourceReference* _tmp357_;
-                       _tmp356_ = vala_gir_parser_get_current_src (self);
-                       _tmp357_ = _tmp356_;
-                       vala_report_error (_tmp357_, "instance_idx required when converting function to method");
-                       _vala_source_reference_unref0 (_tmp357_);
+                       ValaSourceReference* _tmp364_ = NULL;
+                       ValaSourceReference* _tmp365_;
+                       _tmp364_ = vala_gir_parser_get_current_src (self);
+                       _tmp365_ = _tmp364_;
+                       vala_report_error (_tmp365_, "instance_idx required when converting function to method");
+                       _vala_source_reference_unref0 (_tmp365_);
                }
        }
        vala_gir_parser_pop_node (self);
-       _tmp358_ = element_name;
-       vala_gir_parser_end_element (self, _tmp358_);
+       _tmp366_ = element_name;
+       vala_gir_parser_end_element (self, _tmp366_);
        _vala_iterable_unref0 (parameters);
        _vala_code_node_unref0 (s);
        _g_free0 (return_ctype);
@@ -11862,16 +11893,16 @@ static void vala_gir_parser_process_callable (ValaGirParser* self, ValaGirParser
        gboolean _tmp21_ = FALSE;
        ValaDataType* _tmp22_;
        gboolean _tmp25_;
-       ValaList* _tmp106_;
-       gint _tmp107_;
-       gint _tmp108_;
+       ValaList* _tmp141_;
+       gint _tmp142_;
+       gint _tmp143_;
        gint i;
        gint j;
        gint last;
-       gboolean _tmp307_ = FALSE;
-       ValaDataType* _tmp308_;
-       gboolean _tmp311_;
-       ValaSymbol* _tmp318_;
+       gboolean _tmp342_ = FALSE;
+       ValaDataType* _tmp343_;
+       gboolean _tmp346_;
+       ValaSymbol* _tmp353_;
        g_return_if_fail (self != NULL);
        g_return_if_fail (node != NULL);
        _tmp0_ = node;
@@ -12160,59 +12191,165 @@ static void vala_gir_parser_process_callable (ValaGirParser* self, ValaGirParser
                                }
                                _vala_gir_parser_parameter_info_unref0 (last_param);
                        }
+               } else {
+                       gboolean _tmp106_ = FALSE;
+                       ValaDataType* _tmp107_;
+                       gboolean _tmp111_;
+                       _tmp107_ = return_type;
+                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp107_, VALA_TYPE_UNRESOLVED_TYPE)) {
+                               ValaDataType* _tmp108_;
+                               gboolean _tmp109_;
+                               gboolean _tmp110_;
+                               _tmp108_ = return_type;
+                               _tmp109_ = vala_data_type_get_nullable (_tmp108_);
+                               _tmp110_ = _tmp109_;
+                               _tmp106_ = !_tmp110_;
+                       } else {
+                               _tmp106_ = FALSE;
+                       }
+                       _tmp111_ = _tmp106_;
+                       if (_tmp111_) {
+                               ValaGirParserNode* _tmp112_;
+                               ValaGirParserNode* _tmp113_;
+                               ValaDataType* _tmp114_;
+                               ValaUnresolvedSymbol* _tmp115_;
+                               ValaUnresolvedSymbol* _tmp116_;
+                               ValaSymbol* _tmp117_ = NULL;
+                               ValaStruct* st;
+                               ValaStruct* _tmp118_;
+                               _tmp112_ = node;
+                               _tmp113_ = _tmp112_->parent;
+                               _tmp114_ = return_type;
+                               _tmp115_ = vala_unresolved_type_get_unresolved_symbol (G_TYPE_CHECK_INSTANCE_CAST (_tmp114_, VALA_TYPE_UNRESOLVED_TYPE, ValaUnresolvedType));
+                               _tmp116_ = _tmp115_;
+                               _tmp117_ = vala_gir_parser_resolve_symbol (self, _tmp113_, _tmp116_);
+                               st = G_TYPE_CHECK_INSTANCE_TYPE (_tmp117_, VALA_TYPE_STRUCT) ? ((ValaStruct*) _tmp117_) : NULL;
+                               _tmp118_ = st;
+                               if (_tmp118_ != NULL) {
+                                       gboolean is_simple_type;
+                                       ValaStruct* _tmp119_;
+                                       ValaStruct* _tmp120_;
+                                       ValaStruct* base_st;
+                                       gboolean _tmp139_;
+                                       is_simple_type = FALSE;
+                                       _tmp119_ = st;
+                                       _tmp120_ = _vala_code_node_ref0 (_tmp119_);
+                                       base_st = _tmp120_;
+                                       while (TRUE) {
+                                               ValaStruct* _tmp121_;
+                                               ValaStruct* _tmp122_;
+                                               gboolean _tmp123_ = FALSE;
+                                               ValaStruct* _tmp124_;
+                                               ValaDataType* _tmp125_;
+                                               ValaDataType* _tmp126_;
+                                               _tmp121_ = base_st;
+                                               if (!(_tmp121_ != NULL)) {
+                                                       break;
+                                               }
+                                               _tmp122_ = base_st;
+                                               _tmp123_ = vala_struct_is_simple_type (_tmp122_);
+                                               if (_tmp123_) {
+                                                       is_simple_type = TRUE;
+                                                       break;
+                                               }
+                                               _tmp124_ = base_st;
+                                               _tmp125_ = vala_struct_get_base_type (_tmp124_);
+                                               _tmp126_ = _tmp125_;
+                                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp126_, VALA_TYPE_UNRESOLVED_TYPE)) {
+                                                       ValaGirParserNode* _tmp127_;
+                                                       ValaGirParserNode* _tmp128_;
+                                                       ValaStruct* _tmp129_;
+                                                       ValaDataType* _tmp130_;
+                                                       ValaDataType* _tmp131_;
+                                                       ValaUnresolvedSymbol* _tmp132_;
+                                                       ValaUnresolvedSymbol* _tmp133_;
+                                                       ValaSymbol* _tmp134_ = NULL;
+                                                       _tmp127_ = node;
+                                                       _tmp128_ = _tmp127_->parent;
+                                                       _tmp129_ = base_st;
+                                                       _tmp130_ = vala_struct_get_base_type (_tmp129_);
+                                                       _tmp131_ = _tmp130_;
+                                                       _tmp132_ = vala_unresolved_type_get_unresolved_symbol (G_TYPE_CHECK_INSTANCE_CAST (_tmp131_, VALA_TYPE_UNRESOLVED_TYPE, ValaUnresolvedType));
+                                                       _tmp133_ = _tmp132_;
+                                                       _tmp134_ = vala_gir_parser_resolve_symbol (self, _tmp128_, _tmp133_);
+                                                       _vala_code_node_unref0 (base_st);
+                                                       base_st = G_TYPE_CHECK_INSTANCE_TYPE (_tmp134_, VALA_TYPE_STRUCT) ? ((ValaStruct*) _tmp134_) : NULL;
+                                               } else {
+                                                       ValaStruct* _tmp135_;
+                                                       ValaStruct* _tmp136_;
+                                                       ValaStruct* _tmp137_;
+                                                       ValaStruct* _tmp138_;
+                                                       _tmp135_ = base_st;
+                                                       _tmp136_ = vala_struct_get_base_struct (_tmp135_);
+                                                       _tmp137_ = _tmp136_;
+                                                       _tmp138_ = _vala_code_node_ref0 (_tmp137_);
+                                                       _vala_code_node_unref0 (base_st);
+                                                       base_st = _tmp138_;
+                                               }
+                                       }
+                                       _tmp139_ = is_simple_type;
+                                       if (!_tmp139_) {
+                                               ValaDataType* _tmp140_;
+                                               _tmp140_ = return_type;
+                                               vala_data_type_set_nullable (_tmp140_, TRUE);
+                                       }
+                                       _vala_code_node_unref0 (base_st);
+                               }
+                               _vala_code_node_unref0 (st);
+                       }
                }
        }
-       _tmp106_ = parameters;
-       _tmp107_ = vala_collection_get_size ((ValaCollection*) _tmp106_);
-       _tmp108_ = _tmp107_;
-       if (_tmp108_ > 1) {
-               ValaList* _tmp109_;
-               ValaList* _tmp110_;
-               gint _tmp111_;
-               gint _tmp112_;
-               gpointer _tmp113_ = NULL;
+       _tmp141_ = parameters;
+       _tmp142_ = vala_collection_get_size ((ValaCollection*) _tmp141_);
+       _tmp143_ = _tmp142_;
+       if (_tmp143_ > 1) {
+               ValaList* _tmp144_;
+               ValaList* _tmp145_;
+               gint _tmp146_;
+               gint _tmp147_;
+               gpointer _tmp148_ = NULL;
                ValaGirParserParameterInfo* last_param;
-               ValaGirParserParameterInfo* _tmp114_;
-               ValaParameter* _tmp115_;
-               gboolean _tmp116_;
-               gboolean _tmp117_;
-               _tmp109_ = parameters;
-               _tmp110_ = parameters;
-               _tmp111_ = vala_collection_get_size ((ValaCollection*) _tmp110_);
-               _tmp112_ = _tmp111_;
-               _tmp113_ = vala_list_get (_tmp109_, _tmp112_ - 1);
-               last_param = (ValaGirParserParameterInfo*) _tmp113_;
-               _tmp114_ = last_param;
-               _tmp115_ = _tmp114_->param;
-               _tmp116_ = vala_parameter_get_ellipsis (_tmp115_);
-               _tmp117_ = _tmp116_;
-               if (_tmp117_) {
-                       ValaList* _tmp118_;
-                       ValaList* _tmp119_;
-                       gint _tmp120_;
-                       gint _tmp121_;
-                       gpointer _tmp122_ = NULL;
+               ValaGirParserParameterInfo* _tmp149_;
+               ValaParameter* _tmp150_;
+               gboolean _tmp151_;
+               gboolean _tmp152_;
+               _tmp144_ = parameters;
+               _tmp145_ = parameters;
+               _tmp146_ = vala_collection_get_size ((ValaCollection*) _tmp145_);
+               _tmp147_ = _tmp146_;
+               _tmp148_ = vala_list_get (_tmp144_, _tmp147_ - 1);
+               last_param = (ValaGirParserParameterInfo*) _tmp148_;
+               _tmp149_ = last_param;
+               _tmp150_ = _tmp149_->param;
+               _tmp151_ = vala_parameter_get_ellipsis (_tmp150_);
+               _tmp152_ = _tmp151_;
+               if (_tmp152_) {
+                       ValaList* _tmp153_;
+                       ValaList* _tmp154_;
+                       gint _tmp155_;
+                       gint _tmp156_;
+                       gpointer _tmp157_ = NULL;
                        ValaGirParserParameterInfo* first_vararg_param;
-                       ValaGirParserParameterInfo* _tmp123_;
-                       ValaParameter* _tmp124_;
-                       const gchar* _tmp125_;
-                       const gchar* _tmp126_;
-                       gboolean _tmp127_ = FALSE;
-                       _tmp118_ = parameters;
-                       _tmp119_ = parameters;
-                       _tmp120_ = vala_collection_get_size ((ValaCollection*) _tmp119_);
-                       _tmp121_ = _tmp120_;
-                       _tmp122_ = vala_list_get (_tmp118_, _tmp121_ - 2);
-                       first_vararg_param = (ValaGirParserParameterInfo*) _tmp122_;
-                       _tmp123_ = first_vararg_param;
-                       _tmp124_ = _tmp123_->param;
-                       _tmp125_ = vala_symbol_get_name ((ValaSymbol*) _tmp124_);
-                       _tmp126_ = _tmp125_;
-                       _tmp127_ = g_str_has_prefix (_tmp126_, "first_");
-                       if (_tmp127_) {
-                               ValaGirParserParameterInfo* _tmp128_;
-                               _tmp128_ = first_vararg_param;
-                               _tmp128_->keep = FALSE;
+                       ValaGirParserParameterInfo* _tmp158_;
+                       ValaParameter* _tmp159_;
+                       const gchar* _tmp160_;
+                       const gchar* _tmp161_;
+                       gboolean _tmp162_ = FALSE;
+                       _tmp153_ = parameters;
+                       _tmp154_ = parameters;
+                       _tmp155_ = vala_collection_get_size ((ValaCollection*) _tmp154_);
+                       _tmp156_ = _tmp155_;
+                       _tmp157_ = vala_list_get (_tmp153_, _tmp156_ - 2);
+                       first_vararg_param = (ValaGirParserParameterInfo*) _tmp157_;
+                       _tmp158_ = first_vararg_param;
+                       _tmp159_ = _tmp158_->param;
+                       _tmp160_ = vala_symbol_get_name ((ValaSymbol*) _tmp159_);
+                       _tmp161_ = _tmp160_;
+                       _tmp162_ = g_str_has_prefix (_tmp161_, "first_");
+                       if (_tmp162_) {
+                               ValaGirParserParameterInfo* _tmp163_;
+                               _tmp163_ = first_vararg_param;
+                               _tmp163_->keep = FALSE;
                        }
                        _vala_gir_parser_parameter_info_unref0 (first_vararg_param);
                }
@@ -12222,501 +12359,501 @@ static void vala_gir_parser_process_callable (ValaGirParser* self, ValaGirParser
        j = 1;
        last = -1;
        {
-               ValaList* _tmp129_;
-               ValaList* _tmp130_;
+               ValaList* _tmp164_;
+               ValaList* _tmp165_;
                ValaList* _info_list;
-               ValaList* _tmp131_;
-               gint _tmp132_;
-               gint _tmp133_;
+               ValaList* _tmp166_;
+               gint _tmp167_;
+               gint _tmp168_;
                gint _info_size;
                gint _info_index;
-               _tmp129_ = parameters;
-               _tmp130_ = _vala_iterable_ref0 (_tmp129_);
-               _info_list = _tmp130_;
-               _tmp131_ = _info_list;
-               _tmp132_ = vala_collection_get_size ((ValaCollection*) _tmp131_);
-               _tmp133_ = _tmp132_;
-               _info_size = _tmp133_;
+               _tmp164_ = parameters;
+               _tmp165_ = _vala_iterable_ref0 (_tmp164_);
+               _info_list = _tmp165_;
+               _tmp166_ = _info_list;
+               _tmp167_ = vala_collection_get_size ((ValaCollection*) _tmp166_);
+               _tmp168_ = _tmp167_;
+               _info_size = _tmp168_;
                _info_index = -1;
                while (TRUE) {
-                       gint _tmp134_;
-                       gint _tmp135_;
-                       gint _tmp136_;
-                       ValaList* _tmp137_;
-                       gint _tmp138_;
-                       gpointer _tmp139_ = NULL;
+                       gint _tmp169_;
+                       gint _tmp170_;
+                       gint _tmp171_;
+                       ValaList* _tmp172_;
+                       gint _tmp173_;
+                       gpointer _tmp174_ = NULL;
                        ValaGirParserParameterInfo* info;
-                       gboolean _tmp140_ = FALSE;
-                       ValaSymbol* _tmp141_;
-                       gboolean _tmp145_;
-                       gint _tmp205_;
-                       _tmp134_ = _info_index;
-                       _info_index = _tmp134_ + 1;
-                       _tmp135_ = _info_index;
-                       _tmp136_ = _info_size;
-                       if (!(_tmp135_ < _tmp136_)) {
+                       gboolean _tmp175_ = FALSE;
+                       ValaSymbol* _tmp176_;
+                       gboolean _tmp180_;
+                       gint _tmp240_;
+                       _tmp169_ = _info_index;
+                       _info_index = _tmp169_ + 1;
+                       _tmp170_ = _info_index;
+                       _tmp171_ = _info_size;
+                       if (!(_tmp170_ < _tmp171_)) {
                                break;
                        }
-                       _tmp137_ = _info_list;
-                       _tmp138_ = _info_index;
-                       _tmp139_ = vala_list_get (_tmp137_, _tmp138_);
-                       info = (ValaGirParserParameterInfo*) _tmp139_;
-                       _tmp141_ = s;
-                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp141_, VALA_TYPE_DELEGATE)) {
-                               ValaGirParserParameterInfo* _tmp142_;
-                               gint _tmp143_;
-                               gint _tmp144_;
-                               _tmp142_ = info;
-                               _tmp143_ = _tmp142_->closure_idx;
-                               _tmp144_ = i;
-                               _tmp140_ = _tmp143_ == _tmp144_;
+                       _tmp172_ = _info_list;
+                       _tmp173_ = _info_index;
+                       _tmp174_ = vala_list_get (_tmp172_, _tmp173_);
+                       info = (ValaGirParserParameterInfo*) _tmp174_;
+                       _tmp176_ = s;
+                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp176_, VALA_TYPE_DELEGATE)) {
+                               ValaGirParserParameterInfo* _tmp177_;
+                               gint _tmp178_;
+                               gint _tmp179_;
+                               _tmp177_ = info;
+                               _tmp178_ = _tmp177_->closure_idx;
+                               _tmp179_ = i;
+                               _tmp175_ = _tmp178_ == _tmp179_;
                        } else {
-                               _tmp140_ = FALSE;
+                               _tmp175_ = FALSE;
                        }
-                       _tmp145_ = _tmp140_;
-                       if (_tmp145_) {
-                               ValaSymbol* _tmp146_;
-                               ValaDelegate* _tmp147_;
+                       _tmp180_ = _tmp175_;
+                       if (_tmp180_) {
+                               ValaSymbol* _tmp181_;
+                               ValaDelegate* _tmp182_;
                                ValaDelegate* d;
-                               ValaDelegate* _tmp148_;
-                               ValaDelegate* _tmp149_;
-                               gint _tmp150_;
-                               ValaGirParserParameterInfo* _tmp151_;
-                               _tmp146_ = s;
-                               _tmp147_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp146_, VALA_TYPE_DELEGATE, ValaDelegate));
-                               d = _tmp147_;
-                               _tmp148_ = d;
-                               vala_delegate_set_has_target (_tmp148_, TRUE);
-                               _tmp149_ = d;
-                               _tmp150_ = j;
-                               vala_code_node_set_attribute_double ((ValaCodeNode*) _tmp149_, "CCode", "instance_pos", _tmp150_ - 0.1, NULL);
-                               _tmp151_ = info;
-                               _tmp151_->keep = FALSE;
+                               ValaDelegate* _tmp183_;
+                               ValaDelegate* _tmp184_;
+                               gint _tmp185_;
+                               ValaGirParserParameterInfo* _tmp186_;
+                               _tmp181_ = s;
+                               _tmp182_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp181_, VALA_TYPE_DELEGATE, ValaDelegate));
+                               d = _tmp182_;
+                               _tmp183_ = d;
+                               vala_delegate_set_has_target (_tmp183_, TRUE);
+                               _tmp184_ = d;
+                               _tmp185_ = j;
+                               vala_code_node_set_attribute_double ((ValaCodeNode*) _tmp184_, "CCode", "instance_pos", _tmp185_ - 0.1, NULL);
+                               _tmp186_ = info;
+                               _tmp186_->keep = FALSE;
                                _vala_code_node_unref0 (d);
                        } else {
-                               gboolean _tmp152_ = FALSE;
-                               gboolean _tmp153_ = FALSE;
-                               gboolean _tmp154_ = FALSE;
-                               ValaGirParserParameterInfo* _tmp155_;
-                               gboolean _tmp156_;
-                               gboolean _tmp161_;
-                               gboolean _tmp166_;
-                               gboolean _tmp171_;
-                               _tmp155_ = info;
-                               _tmp156_ = _tmp155_->keep;
-                               if (_tmp156_) {
-                                       ValaGirParserNode* _tmp157_;
-                                       ValaArrayList* _tmp158_;
-                                       gint _tmp159_;
-                                       gboolean _tmp160_ = FALSE;
-                                       _tmp157_ = node;
-                                       _tmp158_ = _tmp157_->array_length_parameters;
-                                       _tmp159_ = i;
-                                       _tmp160_ = vala_collection_contains ((ValaCollection*) _tmp158_, (gpointer) ((gintptr) _tmp159_));
-                                       _tmp154_ = !_tmp160_;
+                               gboolean _tmp187_ = FALSE;
+                               gboolean _tmp188_ = FALSE;
+                               gboolean _tmp189_ = FALSE;
+                               ValaGirParserParameterInfo* _tmp190_;
+                               gboolean _tmp191_;
+                               gboolean _tmp196_;
+                               gboolean _tmp201_;
+                               gboolean _tmp206_;
+                               _tmp190_ = info;
+                               _tmp191_ = _tmp190_->keep;
+                               if (_tmp191_) {
+                                       ValaGirParserNode* _tmp192_;
+                                       ValaArrayList* _tmp193_;
+                                       gint _tmp194_;
+                                       gboolean _tmp195_ = FALSE;
+                                       _tmp192_ = node;
+                                       _tmp193_ = _tmp192_->array_length_parameters;
+                                       _tmp194_ = i;
+                                       _tmp195_ = vala_collection_contains ((ValaCollection*) _tmp193_, (gpointer) ((gintptr) _tmp194_));
+                                       _tmp189_ = !_tmp195_;
                                } else {
-                                       _tmp154_ = FALSE;
+                                       _tmp189_ = FALSE;
                                }
-                               _tmp161_ = _tmp154_;
-                               if (_tmp161_) {
-                                       ValaGirParserNode* _tmp162_;
-                                       ValaArrayList* _tmp163_;
-                                       gint _tmp164_;
-                                       gboolean _tmp165_ = FALSE;
-                                       _tmp162_ = node;
-                                       _tmp163_ = _tmp162_->closure_parameters;
-                                       _tmp164_ = i;
-                                       _tmp165_ = vala_collection_contains ((ValaCollection*) _tmp163_, (gpointer) ((gintptr) _tmp164_));
-                                       _tmp153_ = !_tmp165_;
+                               _tmp196_ = _tmp189_;
+                               if (_tmp196_) {
+                                       ValaGirParserNode* _tmp197_;
+                                       ValaArrayList* _tmp198_;
+                                       gint _tmp199_;
+                                       gboolean _tmp200_ = FALSE;
+                                       _tmp197_ = node;
+                                       _tmp198_ = _tmp197_->closure_parameters;
+                                       _tmp199_ = i;
+                                       _tmp200_ = vala_collection_contains ((ValaCollection*) _tmp198_, (gpointer) ((gintptr) _tmp199_));
+                                       _tmp188_ = !_tmp200_;
                                } else {
-                                       _tmp153_ = FALSE;
+                                       _tmp188_ = FALSE;
                                }
-                               _tmp166_ = _tmp153_;
-                               if (_tmp166_) {
-                                       ValaGirParserNode* _tmp167_;
-                                       ValaArrayList* _tmp168_;
-                                       gint _tmp169_;
-                                       gboolean _tmp170_ = FALSE;
-                                       _tmp167_ = node;
-                                       _tmp168_ = _tmp167_->destroy_parameters;
-                                       _tmp169_ = i;
-                                       _tmp170_ = vala_collection_contains ((ValaCollection*) _tmp168_, (gpointer) ((gintptr) _tmp169_));
-                                       _tmp152_ = !_tmp170_;
+                               _tmp201_ = _tmp188_;
+                               if (_tmp201_) {
+                                       ValaGirParserNode* _tmp202_;
+                                       ValaArrayList* _tmp203_;
+                                       gint _tmp204_;
+                                       gboolean _tmp205_ = FALSE;
+                                       _tmp202_ = node;
+                                       _tmp203_ = _tmp202_->destroy_parameters;
+                                       _tmp204_ = i;
+                                       _tmp205_ = vala_collection_contains ((ValaCollection*) _tmp203_, (gpointer) ((gintptr) _tmp204_));
+                                       _tmp187_ = !_tmp205_;
                                } else {
-                                       _tmp152_ = FALSE;
+                                       _tmp187_ = FALSE;
                                }
-                               _tmp171_ = _tmp152_;
-                               if (_tmp171_) {
-                                       ValaGirParserParameterInfo* _tmp172_;
-                                       gint _tmp173_;
-                                       ValaGirParserParameterInfo* _tmp174_;
+                               _tmp206_ = _tmp187_;
+                               if (_tmp206_) {
+                                       ValaGirParserParameterInfo* _tmp207_;
+                                       gint _tmp208_;
+                                       ValaGirParserParameterInfo* _tmp209_;
                                        gfloat last_idx;
-                                       gint _tmp175_;
-                                       gint _tmp198_;
-                                       gint _tmp199_;
-                                       _tmp172_ = info;
-                                       _tmp173_ = j;
-                                       _tmp172_->vala_idx = (gfloat) _tmp173_;
-                                       _tmp174_ = info;
-                                       _tmp174_->keep = TRUE;
+                                       gint _tmp210_;
+                                       gint _tmp233_;
+                                       gint _tmp234_;
+                                       _tmp207_ = info;
+                                       _tmp208_ = j;
+                                       _tmp207_->vala_idx = (gfloat) _tmp208_;
+                                       _tmp209_ = info;
+                                       _tmp209_->keep = TRUE;
                                        last_idx = 0.0F;
-                                       _tmp175_ = last;
-                                       if (_tmp175_ != (-1)) {
-                                               ValaList* _tmp176_;
-                                               gint _tmp177_;
-                                               gpointer _tmp178_ = NULL;
-                                               ValaGirParserParameterInfo* _tmp179_;
-                                               gfloat _tmp180_;
-                                               _tmp176_ = parameters;
-                                               _tmp177_ = last;
-                                               _tmp178_ = vala_list_get (_tmp176_, _tmp177_);
-                                               _tmp179_ = (ValaGirParserParameterInfo*) _tmp178_;
-                                               _tmp180_ = _tmp179_->vala_idx;
-                                               last_idx = _tmp180_;
-                                               _vala_gir_parser_parameter_info_unref0 (_tmp179_);
+                                       _tmp210_ = last;
+                                       if (_tmp210_ != (-1)) {
+                                               ValaList* _tmp211_;
+                                               gint _tmp212_;
+                                               gpointer _tmp213_ = NULL;
+                                               ValaGirParserParameterInfo* _tmp214_;
+                                               gfloat _tmp215_;
+                                               _tmp211_ = parameters;
+                                               _tmp212_ = last;
+                                               _tmp213_ = vala_list_get (_tmp211_, _tmp212_);
+                                               _tmp214_ = (ValaGirParserParameterInfo*) _tmp213_;
+                                               _tmp215_ = _tmp214_->vala_idx;
+                                               last_idx = _tmp215_;
+                                               _vala_gir_parser_parameter_info_unref0 (_tmp214_);
                                        }
                                        {
-                                               gint _tmp181_;
+                                               gint _tmp216_;
                                                gint k;
-                                               _tmp181_ = last;
-                                               k = _tmp181_ + 1;
+                                               _tmp216_ = last;
+                                               k = _tmp216_ + 1;
                                                {
-                                                       gboolean _tmp182_;
-                                                       _tmp182_ = TRUE;
+                                                       gboolean _tmp217_;
+                                                       _tmp217_ = TRUE;
                                                        while (TRUE) {
-                                                               gboolean _tmp183_;
-                                                               gint _tmp185_;
-                                                               gint _tmp186_;
-                                                               ValaList* _tmp187_;
-                                                               gint _tmp188_;
-                                                               gpointer _tmp189_ = NULL;
-                                                               ValaGirParserParameterInfo* _tmp190_;
-                                                               gfloat _tmp191_;
-                                                               gint _tmp192_;
-                                                               gfloat _tmp193_;
-                                                               gint _tmp194_;
-                                                               gint _tmp195_;
-                                                               gint _tmp196_;
-                                                               gint _tmp197_;
-                                                               _tmp183_ = _tmp182_;
-                                                               if (!_tmp183_) {
-                                                                       gint _tmp184_;
-                                                                       _tmp184_ = k;
-                                                                       k = _tmp184_ + 1;
+                                                               gboolean _tmp218_;
+                                                               gint _tmp220_;
+                                                               gint _tmp221_;
+                                                               ValaList* _tmp222_;
+                                                               gint _tmp223_;
+                                                               gpointer _tmp224_ = NULL;
+                                                               ValaGirParserParameterInfo* _tmp225_;
+                                                               gfloat _tmp226_;
+                                                               gint _tmp227_;
+                                                               gfloat _tmp228_;
+                                                               gint _tmp229_;
+                                                               gint _tmp230_;
+                                                               gint _tmp231_;
+                                                               gint _tmp232_;
+                                                               _tmp218_ = _tmp217_;
+                                                               if (!_tmp218_) {
+                                                                       gint _tmp219_;
+                                                                       _tmp219_ = k;
+                                                                       k = _tmp219_ + 1;
                                                                }
-                                                               _tmp182_ = FALSE;
-                                                               _tmp185_ = k;
-                                                               _tmp186_ = i;
-                                                               if (!(_tmp185_ < _tmp186_)) {
+                                                               _tmp217_ = FALSE;
+                                                               _tmp220_ = k;
+                                                               _tmp221_ = i;
+                                                               if (!(_tmp220_ < _tmp221_)) {
                                                                        break;
                                                                }
-                                                               _tmp187_ = parameters;
-                                                               _tmp188_ = k;
-                                                               _tmp189_ = vala_list_get (_tmp187_, _tmp188_);
-                                                               _tmp190_ = (ValaGirParserParameterInfo*) _tmp189_;
-                                                               _tmp191_ = last_idx;
-                                                               _tmp192_ = j;
-                                                               _tmp193_ = last_idx;
-                                                               _tmp194_ = i;
-                                                               _tmp195_ = last;
-                                                               _tmp196_ = k;
-                                                               _tmp197_ = last;
-                                                               _tmp190_->vala_idx = _tmp191_ + (((_tmp192_ - _tmp193_) / (_tmp194_ - _tmp195_)) * (_tmp196_ - _tmp197_));
-                                                               _vala_gir_parser_parameter_info_unref0 (_tmp190_);
+                                                               _tmp222_ = parameters;
+                                                               _tmp223_ = k;
+                                                               _tmp224_ = vala_list_get (_tmp222_, _tmp223_);
+                                                               _tmp225_ = (ValaGirParserParameterInfo*) _tmp224_;
+                                                               _tmp226_ = last_idx;
+                                                               _tmp227_ = j;
+                                                               _tmp228_ = last_idx;
+                                                               _tmp229_ = i;
+                                                               _tmp230_ = last;
+                                                               _tmp231_ = k;
+                                                               _tmp232_ = last;
+                                                               _tmp225_->vala_idx = _tmp226_ + (((_tmp227_ - _tmp228_) / (_tmp229_ - _tmp230_)) * (_tmp231_ - _tmp232_));
+                                                               _vala_gir_parser_parameter_info_unref0 (_tmp225_);
                                                        }
                                                }
                                        }
-                                       _tmp198_ = i;
-                                       last = _tmp198_;
-                                       _tmp199_ = j;
-                                       j = _tmp199_ + 1;
+                                       _tmp233_ = i;
+                                       last = _tmp233_;
+                                       _tmp234_ = j;
+                                       j = _tmp234_ + 1;
                                } else {
-                                       ValaGirParserParameterInfo* _tmp200_;
-                                       ValaGirParserParameterInfo* _tmp201_;
-                                       gint _tmp202_;
-                                       gint _tmp203_;
-                                       gint _tmp204_;
-                                       _tmp200_ = info;
-                                       _tmp200_->keep = FALSE;
-                                       _tmp201_ = info;
-                                       _tmp202_ = j;
-                                       _tmp203_ = i;
-                                       _tmp204_ = last;
-                                       _tmp201_->vala_idx = (_tmp202_ - 1) + ((_tmp203_ - _tmp204_) * 0.1F);
+                                       ValaGirParserParameterInfo* _tmp235_;
+                                       ValaGirParserParameterInfo* _tmp236_;
+                                       gint _tmp237_;
+                                       gint _tmp238_;
+                                       gint _tmp239_;
+                                       _tmp235_ = info;
+                                       _tmp235_->keep = FALSE;
+                                       _tmp236_ = info;
+                                       _tmp237_ = j;
+                                       _tmp238_ = i;
+                                       _tmp239_ = last;
+                                       _tmp236_->vala_idx = (_tmp237_ - 1) + ((_tmp238_ - _tmp239_) * 0.1F);
                                }
                        }
-                       _tmp205_ = i;
-                       i = _tmp205_ + 1;
+                       _tmp240_ = i;
+                       i = _tmp240_ + 1;
                        _vala_gir_parser_parameter_info_unref0 (info);
                }
                _vala_iterable_unref0 (_info_list);
        }
        {
-               ValaList* _tmp206_;
-               ValaList* _tmp207_;
+               ValaList* _tmp241_;
+               ValaList* _tmp242_;
                ValaList* _info_list;
-               ValaList* _tmp208_;
-               gint _tmp209_;
-               gint _tmp210_;
+               ValaList* _tmp243_;
+               gint _tmp244_;
+               gint _tmp245_;
                gint _info_size;
                gint _info_index;
-               _tmp206_ = parameters;
-               _tmp207_ = _vala_iterable_ref0 (_tmp206_);
-               _info_list = _tmp207_;
-               _tmp208_ = _info_list;
-               _tmp209_ = vala_collection_get_size ((ValaCollection*) _tmp208_);
-               _tmp210_ = _tmp209_;
-               _info_size = _tmp210_;
+               _tmp241_ = parameters;
+               _tmp242_ = _vala_iterable_ref0 (_tmp241_);
+               _info_list = _tmp242_;
+               _tmp243_ = _info_list;
+               _tmp244_ = vala_collection_get_size ((ValaCollection*) _tmp243_);
+               _tmp245_ = _tmp244_;
+               _info_size = _tmp245_;
                _info_index = -1;
                while (TRUE) {
-                       gint _tmp211_;
-                       gint _tmp212_;
-                       gint _tmp213_;
-                       ValaList* _tmp214_;
-                       gint _tmp215_;
-                       gpointer _tmp216_ = NULL;
+                       gint _tmp246_;
+                       gint _tmp247_;
+                       gint _tmp248_;
+                       ValaList* _tmp249_;
+                       gint _tmp250_;
+                       gpointer _tmp251_ = NULL;
                        ValaGirParserParameterInfo* info;
-                       ValaGirParserParameterInfo* _tmp217_;
-                       gboolean _tmp218_;
-                       _tmp211_ = _info_index;
-                       _info_index = _tmp211_ + 1;
-                       _tmp212_ = _info_index;
-                       _tmp213_ = _info_size;
-                       if (!(_tmp212_ < _tmp213_)) {
+                       ValaGirParserParameterInfo* _tmp252_;
+                       gboolean _tmp253_;
+                       _tmp246_ = _info_index;
+                       _info_index = _tmp246_ + 1;
+                       _tmp247_ = _info_index;
+                       _tmp248_ = _info_size;
+                       if (!(_tmp247_ < _tmp248_)) {
                                break;
                        }
-                       _tmp214_ = _info_list;
-                       _tmp215_ = _info_index;
-                       _tmp216_ = vala_list_get (_tmp214_, _tmp215_);
-                       info = (ValaGirParserParameterInfo*) _tmp216_;
-                       _tmp217_ = info;
-                       _tmp218_ = _tmp217_->keep;
-                       if (_tmp218_) {
-                               ValaSymbol* _tmp219_;
-                               ValaGirParserParameterInfo* _tmp231_;
-                               gint _tmp232_;
-                               ValaGirParserParameterInfo* _tmp247_;
-                               gint _tmp248_;
-                               ValaGirParserParameterInfo* _tmp277_;
-                               gint _tmp278_;
-                               _tmp219_ = s;
-                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp219_, VALA_TYPE_METHOD)) {
-                                       ValaSymbol* _tmp220_;
-                                       ValaGirParserParameterInfo* _tmp221_;
-                                       ValaParameter* _tmp222_;
-                                       _tmp220_ = s;
-                                       _tmp221_ = info;
-                                       _tmp222_ = _tmp221_->param;
-                                       vala_method_add_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp220_, VALA_TYPE_METHOD, ValaMethod), _tmp222_);
+                       _tmp249_ = _info_list;
+                       _tmp250_ = _info_index;
+                       _tmp251_ = vala_list_get (_tmp249_, _tmp250_);
+                       info = (ValaGirParserParameterInfo*) _tmp251_;
+                       _tmp252_ = info;
+                       _tmp253_ = _tmp252_->keep;
+                       if (_tmp253_) {
+                               ValaSymbol* _tmp254_;
+                               ValaGirParserParameterInfo* _tmp266_;
+                               gint _tmp267_;
+                               ValaGirParserParameterInfo* _tmp282_;
+                               gint _tmp283_;
+                               ValaGirParserParameterInfo* _tmp312_;
+                               gint _tmp313_;
+                               _tmp254_ = s;
+                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp254_, VALA_TYPE_METHOD)) {
+                                       ValaSymbol* _tmp255_;
+                                       ValaGirParserParameterInfo* _tmp256_;
+                                       ValaParameter* _tmp257_;
+                                       _tmp255_ = s;
+                                       _tmp256_ = info;
+                                       _tmp257_ = _tmp256_->param;
+                                       vala_method_add_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp255_, VALA_TYPE_METHOD, ValaMethod), _tmp257_);
                                } else {
-                                       ValaSymbol* _tmp223_;
-                                       _tmp223_ = s;
-                                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp223_, VALA_TYPE_DELEGATE)) {
-                                               ValaSymbol* _tmp224_;
-                                               ValaGirParserParameterInfo* _tmp225_;
-                                               ValaParameter* _tmp226_;
-                                               _tmp224_ = s;
-                                               _tmp225_ = info;
-                                               _tmp226_ = _tmp225_->param;
-                                               vala_delegate_add_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp224_, VALA_TYPE_DELEGATE, ValaDelegate), _tmp226_);
+                                       ValaSymbol* _tmp258_;
+                                       _tmp258_ = s;
+                                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp258_, VALA_TYPE_DELEGATE)) {
+                                               ValaSymbol* _tmp259_;
+                                               ValaGirParserParameterInfo* _tmp260_;
+                                               ValaParameter* _tmp261_;
+                                               _tmp259_ = s;
+                                               _tmp260_ = info;
+                                               _tmp261_ = _tmp260_->param;
+                                               vala_delegate_add_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp259_, VALA_TYPE_DELEGATE, ValaDelegate), _tmp261_);
                                        } else {
-                                               ValaSymbol* _tmp227_;
-                                               _tmp227_ = s;
-                                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp227_, VALA_TYPE_SIGNAL)) {
-                                                       ValaSymbol* _tmp228_;
-                                                       ValaGirParserParameterInfo* _tmp229_;
-                                                       ValaParameter* _tmp230_;
-                                                       _tmp228_ = s;
-                                                       _tmp229_ = info;
-                                                       _tmp230_ = _tmp229_->param;
-                                                       vala_signal_add_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp228_, VALA_TYPE_SIGNAL, ValaSignal), _tmp230_);
+                                               ValaSymbol* _tmp262_;
+                                               _tmp262_ = s;
+                                               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp262_, VALA_TYPE_SIGNAL)) {
+                                                       ValaSymbol* _tmp263_;
+                                                       ValaGirParserParameterInfo* _tmp264_;
+                                                       ValaParameter* _tmp265_;
+                                                       _tmp263_ = s;
+                                                       _tmp264_ = info;
+                                                       _tmp265_ = _tmp264_->param;
+                                                       vala_signal_add_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp263_, VALA_TYPE_SIGNAL, ValaSignal), _tmp265_);
                                                }
                                        }
                                }
-                               _tmp231_ = info;
-                               _tmp232_ = _tmp231_->array_length_idx;
-                               if (_tmp232_ != (-1)) {
-                                       ValaGirParserParameterInfo* _tmp233_;
-                                       gint _tmp234_;
-                                       ValaList* _tmp235_;
-                                       gint _tmp236_;
-                                       gint _tmp237_;
-                                       ValaGirParserParameterInfo* _tmp240_;
-                                       ValaParameter* _tmp241_;
-                                       ValaList* _tmp242_;
-                                       ValaGirParserParameterInfo* _tmp243_;
-                                       gint _tmp244_;
-                                       gpointer _tmp245_ = NULL;
-                                       ValaGirParserParameterInfo* _tmp246_;
-                                       _tmp233_ = info;
-                                       _tmp234_ = _tmp233_->array_length_idx;
-                                       _tmp235_ = parameters;
-                                       _tmp236_ = vala_collection_get_size ((ValaCollection*) _tmp235_);
-                                       _tmp237_ = _tmp236_;
-                                       if (_tmp234_ >= _tmp237_) {
-                                               ValaSourceReference* _tmp238_ = NULL;
-                                               ValaSourceReference* _tmp239_;
-                                               _tmp238_ = vala_gir_parser_get_current_src (self);
-                                               _tmp239_ = _tmp238_;
-                                               vala_report_error (_tmp239_, "invalid array_length index");
-                                               _vala_source_reference_unref0 (_tmp239_);
+                               _tmp266_ = info;
+                               _tmp267_ = _tmp266_->array_length_idx;
+                               if (_tmp267_ != (-1)) {
+                                       ValaGirParserParameterInfo* _tmp268_;
+                                       gint _tmp269_;
+                                       ValaList* _tmp270_;
+                                       gint _tmp271_;
+                                       gint _tmp272_;
+                                       ValaGirParserParameterInfo* _tmp275_;
+                                       ValaParameter* _tmp276_;
+                                       ValaList* _tmp277_;
+                                       ValaGirParserParameterInfo* _tmp278_;
+                                       gint _tmp279_;
+                                       gpointer _tmp280_ = NULL;
+                                       ValaGirParserParameterInfo* _tmp281_;
+                                       _tmp268_ = info;
+                                       _tmp269_ = _tmp268_->array_length_idx;
+                                       _tmp270_ = parameters;
+                                       _tmp271_ = vala_collection_get_size ((ValaCollection*) _tmp270_);
+                                       _tmp272_ = _tmp271_;
+                                       if (_tmp269_ >= _tmp272_) {
+                                               ValaSourceReference* _tmp273_ = NULL;
+                                               ValaSourceReference* _tmp274_;
+                                               _tmp273_ = vala_gir_parser_get_current_src (self);
+                                               _tmp274_ = _tmp273_;
+                                               vala_report_error (_tmp274_, "invalid array_length index");
+                                               _vala_source_reference_unref0 (_tmp274_);
                                                _vala_gir_parser_parameter_info_unref0 (info);
                                                continue;
                                        }
-                                       _tmp240_ = info;
-                                       _tmp241_ = _tmp240_->param;
-                                       _tmp242_ = parameters;
-                                       _tmp243_ = info;
-                                       _tmp244_ = _tmp243_->array_length_idx;
-                                       _tmp245_ = vala_list_get (_tmp242_, _tmp244_);
-                                       _tmp246_ = (ValaGirParserParameterInfo*) _tmp245_;
-                                       vala_gir_parser_set_array_ccode (self, (ValaSymbol*) _tmp241_, _tmp246_);
-                                       _vala_gir_parser_parameter_info_unref0 (_tmp246_);
+                                       _tmp275_ = info;
+                                       _tmp276_ = _tmp275_->param;
+                                       _tmp277_ = parameters;
+                                       _tmp278_ = info;
+                                       _tmp279_ = _tmp278_->array_length_idx;
+                                       _tmp280_ = vala_list_get (_tmp277_, _tmp279_);
+                                       _tmp281_ = (ValaGirParserParameterInfo*) _tmp280_;
+                                       vala_gir_parser_set_array_ccode (self, (ValaSymbol*) _tmp276_, _tmp281_);
+                                       _vala_gir_parser_parameter_info_unref0 (_tmp281_);
                                }
-                               _tmp247_ = info;
-                               _tmp248_ = _tmp247_->closure_idx;
-                               if (_tmp248_ != (-1)) {
-                                       ValaGirParserParameterInfo* _tmp249_;
-                                       gint _tmp250_;
-                                       ValaList* _tmp251_;
-                                       gint _tmp252_;
-                                       gint _tmp253_;
-                                       ValaList* _tmp256_;
-                                       ValaGirParserParameterInfo* _tmp257_;
-                                       gint _tmp258_;
-                                       gpointer _tmp259_ = NULL;
-                                       ValaGirParserParameterInfo* _tmp260_;
-                                       gfloat _tmp261_;
-                                       gchar* _tmp262_ = NULL;
-                                       gchar* _tmp263_;
-                                       ValaGirParserParameterInfo* _tmp264_;
-                                       gfloat _tmp265_;
-                                       gchar* _tmp266_ = NULL;
-                                       gchar* _tmp267_;
-                                       gboolean _tmp268_;
-                                       _tmp249_ = info;
-                                       _tmp250_ = _tmp249_->closure_idx;
-                                       _tmp251_ = parameters;
-                                       _tmp252_ = vala_collection_get_size ((ValaCollection*) _tmp251_);
-                                       _tmp253_ = _tmp252_;
-                                       if (_tmp250_ >= _tmp253_) {
-                                               ValaSourceReference* _tmp254_ = NULL;
-                                               ValaSourceReference* _tmp255_;
-                                               _tmp254_ = vala_gir_parser_get_current_src (self);
-                                               _tmp255_ = _tmp254_;
-                                               vala_report_error (_tmp255_, "invalid closure index");
-                                               _vala_source_reference_unref0 (_tmp255_);
+                               _tmp282_ = info;
+                               _tmp283_ = _tmp282_->closure_idx;
+                               if (_tmp283_ != (-1)) {
+                                       ValaGirParserParameterInfo* _tmp284_;
+                                       gint _tmp285_;
+                                       ValaList* _tmp286_;
+                                       gint _tmp287_;
+                                       gint _tmp288_;
+                                       ValaList* _tmp291_;
+                                       ValaGirParserParameterInfo* _tmp292_;
+                                       gint _tmp293_;
+                                       gpointer _tmp294_ = NULL;
+                                       ValaGirParserParameterInfo* _tmp295_;
+                                       gfloat _tmp296_;
+                                       gchar* _tmp297_ = NULL;
+                                       gchar* _tmp298_;
+                                       ValaGirParserParameterInfo* _tmp299_;
+                                       gfloat _tmp300_;
+                                       gchar* _tmp301_ = NULL;
+                                       gchar* _tmp302_;
+                                       gboolean _tmp303_;
+                                       _tmp284_ = info;
+                                       _tmp285_ = _tmp284_->closure_idx;
+                                       _tmp286_ = parameters;
+                                       _tmp287_ = vala_collection_get_size ((ValaCollection*) _tmp286_);
+                                       _tmp288_ = _tmp287_;
+                                       if (_tmp285_ >= _tmp288_) {
+                                               ValaSourceReference* _tmp289_ = NULL;
+                                               ValaSourceReference* _tmp290_;
+                                               _tmp289_ = vala_gir_parser_get_current_src (self);
+                                               _tmp290_ = _tmp289_;
+                                               vala_report_error (_tmp290_, "invalid closure index");
+                                               _vala_source_reference_unref0 (_tmp290_);
                                                _vala_gir_parser_parameter_info_unref0 (info);
                                                continue;
                                        }
-                                       _tmp256_ = parameters;
-                                       _tmp257_ = info;
-                                       _tmp258_ = _tmp257_->closure_idx;
-                                       _tmp259_ = vala_list_get (_tmp256_, _tmp258_);
-                                       _tmp260_ = (ValaGirParserParameterInfo*) _tmp259_;
-                                       _tmp261_ = _tmp260_->vala_idx;
-                                       _tmp262_ = g_strdup_printf ("%g", (gdouble) _tmp261_);
-                                       _tmp263_ = _tmp262_;
-                                       _tmp264_ = info;
-                                       _tmp265_ = _tmp264_->vala_idx;
-                                       _tmp266_ = g_strdup_printf ("%g", _tmp265_ + 0.1);
-                                       _tmp267_ = _tmp266_;
-                                       _tmp268_ = g_strcmp0 (_tmp263_, _tmp267_) != 0;
-                                       _g_free0 (_tmp267_);
-                                       _g_free0 (_tmp263_);
-                                       _vala_gir_parser_parameter_info_unref0 (_tmp260_);
-                                       if (_tmp268_) {
-                                               ValaGirParserParameterInfo* _tmp269_;
-                                               ValaParameter* _tmp270_;
-                                               ValaList* _tmp271_;
-                                               ValaGirParserParameterInfo* _tmp272_;
-                                               gint _tmp273_;
-                                               gpointer _tmp274_ = NULL;
-                                               ValaGirParserParameterInfo* _tmp275_;
-                                               gfloat _tmp276_;
-                                               _tmp269_ = info;
-                                               _tmp270_ = _tmp269_->param;
-                                               _tmp271_ = parameters;
-                                               _tmp272_ = info;
-                                               _tmp273_ = _tmp272_->closure_idx;
-                                               _tmp274_ = vala_list_get (_tmp271_, _tmp273_);
-                                               _tmp275_ = (ValaGirParserParameterInfo*) _tmp274_;
-                                               _tmp276_ = _tmp275_->vala_idx;
-                                               vala_code_node_set_attribute_double ((ValaCodeNode*) _tmp270_, "CCode", "delegate_target_pos", (gdouble) _tmp276_, NULL);
-                                               _vala_gir_parser_parameter_info_unref0 (_tmp275_);
+                                       _tmp291_ = parameters;
+                                       _tmp292_ = info;
+                                       _tmp293_ = _tmp292_->closure_idx;
+                                       _tmp294_ = vala_list_get (_tmp291_, _tmp293_);
+                                       _tmp295_ = (ValaGirParserParameterInfo*) _tmp294_;
+                                       _tmp296_ = _tmp295_->vala_idx;
+                                       _tmp297_ = g_strdup_printf ("%g", (gdouble) _tmp296_);
+                                       _tmp298_ = _tmp297_;
+                                       _tmp299_ = info;
+                                       _tmp300_ = _tmp299_->vala_idx;
+                                       _tmp301_ = g_strdup_printf ("%g", _tmp300_ + 0.1);
+                                       _tmp302_ = _tmp301_;
+                                       _tmp303_ = g_strcmp0 (_tmp298_, _tmp302_) != 0;
+                                       _g_free0 (_tmp302_);
+                                       _g_free0 (_tmp298_);
+                                       _vala_gir_parser_parameter_info_unref0 (_tmp295_);
+                                       if (_tmp303_) {
+                                               ValaGirParserParameterInfo* _tmp304_;
+                                               ValaParameter* _tmp305_;
+                                               ValaList* _tmp306_;
+                                               ValaGirParserParameterInfo* _tmp307_;
+                                               gint _tmp308_;
+                                               gpointer _tmp309_ = NULL;
+                                               ValaGirParserParameterInfo* _tmp310_;
+                                               gfloat _tmp311_;
+                                               _tmp304_ = info;
+                                               _tmp305_ = _tmp304_->param;
+                                               _tmp306_ = parameters;
+                                               _tmp307_ = info;
+                                               _tmp308_ = _tmp307_->closure_idx;
+                                               _tmp309_ = vala_list_get (_tmp306_, _tmp308_);
+                                               _tmp310_ = (ValaGirParserParameterInfo*) _tmp309_;
+                                               _tmp311_ = _tmp310_->vala_idx;
+                                               vala_code_node_set_attribute_double ((ValaCodeNode*) _tmp305_, "CCode", "delegate_target_pos", (gdouble) _tmp311_, NULL);
+                                               _vala_gir_parser_parameter_info_unref0 (_tmp310_);
                                        }
                                }
-                               _tmp277_ = info;
-                               _tmp278_ = _tmp277_->destroy_idx;
-                               if (_tmp278_ != (-1)) {
-                                       ValaGirParserParameterInfo* _tmp279_;
-                                       gint _tmp280_;
-                                       ValaList* _tmp281_;
-                                       gint _tmp282_;
-                                       gint _tmp283_;
-                                       ValaList* _tmp286_;
-                                       ValaGirParserParameterInfo* _tmp287_;
-                                       gint _tmp288_;
-                                       gpointer _tmp289_ = NULL;
-                                       ValaGirParserParameterInfo* _tmp290_;
-                                       gfloat _tmp291_;
-                                       gchar* _tmp292_ = NULL;
-                                       gchar* _tmp293_;
-                                       ValaGirParserParameterInfo* _tmp294_;
-                                       gfloat _tmp295_;
-                                       gchar* _tmp296_ = NULL;
-                                       gchar* _tmp297_;
-                                       gboolean _tmp298_;
-                                       _tmp279_ = info;
-                                       _tmp280_ = _tmp279_->destroy_idx;
-                                       _tmp281_ = parameters;
-                                       _tmp282_ = vala_collection_get_size ((ValaCollection*) _tmp281_);
-                                       _tmp283_ = _tmp282_;
-                                       if (_tmp280_ >= _tmp283_) {
-                                               ValaSourceReference* _tmp284_ = NULL;
-                                               ValaSourceReference* _tmp285_;
-                                               _tmp284_ = vala_gir_parser_get_current_src (self);
-                                               _tmp285_ = _tmp284_;
-                                               vala_report_error (_tmp285_, "invalid destroy index");
-                                               _vala_source_reference_unref0 (_tmp285_);
+                               _tmp312_ = info;
+                               _tmp313_ = _tmp312_->destroy_idx;
+                               if (_tmp313_ != (-1)) {
+                                       ValaGirParserParameterInfo* _tmp314_;
+                                       gint _tmp315_;
+                                       ValaList* _tmp316_;
+                                       gint _tmp317_;
+                                       gint _tmp318_;
+                                       ValaList* _tmp321_;
+                                       ValaGirParserParameterInfo* _tmp322_;
+                                       gint _tmp323_;
+                                       gpointer _tmp324_ = NULL;
+                                       ValaGirParserParameterInfo* _tmp325_;
+                                       gfloat _tmp326_;
+                                       gchar* _tmp327_ = NULL;
+                                       gchar* _tmp328_;
+                                       ValaGirParserParameterInfo* _tmp329_;
+                                       gfloat _tmp330_;
+                                       gchar* _tmp331_ = NULL;
+                                       gchar* _tmp332_;
+                                       gboolean _tmp333_;
+                                       _tmp314_ = info;
+                                       _tmp315_ = _tmp314_->destroy_idx;
+                                       _tmp316_ = parameters;
+                                       _tmp317_ = vala_collection_get_size ((ValaCollection*) _tmp316_);
+                                       _tmp318_ = _tmp317_;
+                                       if (_tmp315_ >= _tmp318_) {
+                                               ValaSourceReference* _tmp319_ = NULL;
+                                               ValaSourceReference* _tmp320_;
+                                               _tmp319_ = vala_gir_parser_get_current_src (self);
+                                               _tmp320_ = _tmp319_;
+                                               vala_report_error (_tmp320_, "invalid destroy index");
+                                               _vala_source_reference_unref0 (_tmp320_);
                                                _vala_gir_parser_parameter_info_unref0 (info);
                                                continue;
                                        }
-                                       _tmp286_ = parameters;
-                                       _tmp287_ = info;
-                                       _tmp288_ = _tmp287_->destroy_idx;
-                                       _tmp289_ = vala_list_get (_tmp286_, _tmp288_);
-                                       _tmp290_ = (ValaGirParserParameterInfo*) _tmp289_;
-                                       _tmp291_ = _tmp290_->vala_idx;
-                                       _tmp292_ = g_strdup_printf ("%g", (gdouble) _tmp291_);
-                                       _tmp293_ = _tmp292_;
-                                       _tmp294_ = info;
-                                       _tmp295_ = _tmp294_->vala_idx;
-                                       _tmp296_ = g_strdup_printf ("%g", _tmp295_ + 0.2);
-                                       _tmp297_ = _tmp296_;
-                                       _tmp298_ = g_strcmp0 (_tmp293_, _tmp297_) != 0;
-                                       _g_free0 (_tmp297_);
-                                       _g_free0 (_tmp293_);
-                                       _vala_gir_parser_parameter_info_unref0 (_tmp290_);
-                                       if (_tmp298_) {
-                                               ValaGirParserParameterInfo* _tmp299_;
-                                               ValaParameter* _tmp300_;
-                                               ValaList* _tmp301_;
-                                               ValaGirParserParameterInfo* _tmp302_;
-                                               gint _tmp303_;
-                                               gpointer _tmp304_ = NULL;
-                                               ValaGirParserParameterInfo* _tmp305_;
-                                               gfloat _tmp306_;
-                                               _tmp299_ = info;
-                                               _tmp300_ = _tmp299_->param;
-                                               _tmp301_ = parameters;
-                                               _tmp302_ = info;
-                                               _tmp303_ = _tmp302_->destroy_idx;
-                                               _tmp304_ = vala_list_get (_tmp301_, _tmp303_);
-                                               _tmp305_ = (ValaGirParserParameterInfo*) _tmp304_;
-                                               _tmp306_ = _tmp305_->vala_idx;
-                                               vala_code_node_set_attribute_double ((ValaCodeNode*) _tmp300_, "CCode", "destroy_notify_pos", (gdouble) _tmp306_, NULL);
-                                               _vala_gir_parser_parameter_info_unref0 (_tmp305_);
+                                       _tmp321_ = parameters;
+                                       _tmp322_ = info;
+                                       _tmp323_ = _tmp322_->destroy_idx;
+                                       _tmp324_ = vala_list_get (_tmp321_, _tmp323_);
+                                       _tmp325_ = (ValaGirParserParameterInfo*) _tmp324_;
+                                       _tmp326_ = _tmp325_->vala_idx;
+                                       _tmp327_ = g_strdup_printf ("%g", (gdouble) _tmp326_);
+                                       _tmp328_ = _tmp327_;
+                                       _tmp329_ = info;
+                                       _tmp330_ = _tmp329_->vala_idx;
+                                       _tmp331_ = g_strdup_printf ("%g", _tmp330_ + 0.2);
+                                       _tmp332_ = _tmp331_;
+                                       _tmp333_ = g_strcmp0 (_tmp328_, _tmp332_) != 0;
+                                       _g_free0 (_tmp332_);
+                                       _g_free0 (_tmp328_);
+                                       _vala_gir_parser_parameter_info_unref0 (_tmp325_);
+                                       if (_tmp333_) {
+                                               ValaGirParserParameterInfo* _tmp334_;
+                                               ValaParameter* _tmp335_;
+                                               ValaList* _tmp336_;
+                                               ValaGirParserParameterInfo* _tmp337_;
+                                               gint _tmp338_;
+                                               gpointer _tmp339_ = NULL;
+                                               ValaGirParserParameterInfo* _tmp340_;
+                                               gfloat _tmp341_;
+                                               _tmp334_ = info;
+                                               _tmp335_ = _tmp334_->param;
+                                               _tmp336_ = parameters;
+                                               _tmp337_ = info;
+                                               _tmp338_ = _tmp337_->destroy_idx;
+                                               _tmp339_ = vala_list_get (_tmp336_, _tmp338_);
+                                               _tmp340_ = (ValaGirParserParameterInfo*) _tmp339_;
+                                               _tmp341_ = _tmp340_->vala_idx;
+                                               vala_code_node_set_attribute_double ((ValaCodeNode*) _tmp335_, "CCode", "destroy_notify_pos", (gdouble) _tmp341_, NULL);
+                                               _vala_gir_parser_parameter_info_unref0 (_tmp340_);
                                        }
                                }
                        }
@@ -12724,58 +12861,58 @@ static void vala_gir_parser_process_callable (ValaGirParser* self, ValaGirParser
                }
                _vala_iterable_unref0 (_info_list);
        }
-       _tmp308_ = return_type;
-       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp308_, VALA_TYPE_ARRAY_TYPE)) {
-               ValaGirParserNode* _tmp309_;
-               gint _tmp310_;
-               _tmp309_ = node;
-               _tmp310_ = _tmp309_->return_array_length_idx;
-               _tmp307_ = _tmp310_ >= 0;
+       _tmp343_ = return_type;
+       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp343_, VALA_TYPE_ARRAY_TYPE)) {
+               ValaGirParserNode* _tmp344_;
+               gint _tmp345_;
+               _tmp344_ = node;
+               _tmp345_ = _tmp344_->return_array_length_idx;
+               _tmp342_ = _tmp345_ >= 0;
        } else {
-               _tmp307_ = FALSE;
-       }
-       _tmp311_ = _tmp307_;
-       if (_tmp311_) {
-               ValaSymbol* _tmp312_;
-               ValaList* _tmp313_;
-               ValaGirParserNode* _tmp314_;
-               gint _tmp315_;
-               gpointer _tmp316_ = NULL;
-               ValaGirParserParameterInfo* _tmp317_;
-               _tmp312_ = s;
-               _tmp313_ = parameters;
-               _tmp314_ = node;
-               _tmp315_ = _tmp314_->return_array_length_idx;
-               _tmp316_ = vala_list_get (_tmp313_, _tmp315_);
-               _tmp317_ = (ValaGirParserParameterInfo*) _tmp316_;
-               vala_gir_parser_set_array_ccode (self, _tmp312_, _tmp317_);
-               _vala_gir_parser_parameter_info_unref0 (_tmp317_);
-       }
-       _tmp318_ = s;
-       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp318_, VALA_TYPE_METHOD)) {
-               ValaSymbol* _tmp319_;
-               ValaDataType* _tmp320_;
-               _tmp319_ = s;
-               _tmp320_ = return_type;
-               vala_method_set_return_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp319_, VALA_TYPE_METHOD, ValaMethod), _tmp320_);
+               _tmp342_ = FALSE;
+       }
+       _tmp346_ = _tmp342_;
+       if (_tmp346_) {
+               ValaSymbol* _tmp347_;
+               ValaList* _tmp348_;
+               ValaGirParserNode* _tmp349_;
+               gint _tmp350_;
+               gpointer _tmp351_ = NULL;
+               ValaGirParserParameterInfo* _tmp352_;
+               _tmp347_ = s;
+               _tmp348_ = parameters;
+               _tmp349_ = node;
+               _tmp350_ = _tmp349_->return_array_length_idx;
+               _tmp351_ = vala_list_get (_tmp348_, _tmp350_);
+               _tmp352_ = (ValaGirParserParameterInfo*) _tmp351_;
+               vala_gir_parser_set_array_ccode (self, _tmp347_, _tmp352_);
+               _vala_gir_parser_parameter_info_unref0 (_tmp352_);
+       }
+       _tmp353_ = s;
+       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp353_, VALA_TYPE_METHOD)) {
+               ValaSymbol* _tmp354_;
+               ValaDataType* _tmp355_;
+               _tmp354_ = s;
+               _tmp355_ = return_type;
+               vala_method_set_return_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp354_, VALA_TYPE_METHOD, ValaMethod), _tmp355_);
        } else {
-               ValaSymbol* _tmp321_;
-               _tmp321_ = s;
-               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp321_, VALA_TYPE_DELEGATE)) {
-                       ValaSymbol* _tmp322_;
-                       ValaDataType* _tmp323_;
-                       _tmp322_ = s;
-                       _tmp323_ = return_type;
-                       vala_delegate_set_return_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp322_, VALA_TYPE_DELEGATE, ValaDelegate), _tmp323_);
+               ValaSymbol* _tmp356_;
+               _tmp356_ = s;
+               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp356_, VALA_TYPE_DELEGATE)) {
+                       ValaSymbol* _tmp357_;
+                       ValaDataType* _tmp358_;
+                       _tmp357_ = s;
+                       _tmp358_ = return_type;
+                       vala_delegate_set_return_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp357_, VALA_TYPE_DELEGATE, ValaDelegate), _tmp358_);
                } else {
-                       ValaSymbol* _tmp324_;
-                       _tmp324_ = s;
-                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp324_, VALA_TYPE_SIGNAL)) {
-                               ValaSymbol* _tmp325_;
-                               ValaDataType* _tmp326_;
-                               _tmp325_ = s;
-                               _tmp326_ = return_type;
-                               vala_signal_set_return_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp325_, VALA_TYPE_SIGNAL, ValaSignal), _tmp326_);
+                       ValaSymbol* _tmp359_;
+                       _tmp359_ = s;
+                       if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp359_, VALA_TYPE_SIGNAL)) {
+                               ValaSymbol* _tmp360_;
+                               ValaDataType* _tmp361_;
+                               _tmp360_ = s;
+                               _tmp361_ = return_type;
+                               vala_signal_set_return_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp360_, VALA_TYPE_SIGNAL, ValaSignal), _tmp361_);
                        }
                }
        }
@@ -16055,18 +16192,18 @@ static gboolean vala_gir_parser_metadata_parser_parse_args (ValaGirParserMetadat
                ValaGirParserArgumentType* _tmp11_ = NULL;
                ValaGirParserArgumentType* arg_type;
                ValaGirParserArgumentType* _tmp12_;
-               ValaTokenType _tmp17_;
-               ValaExpression* _tmp30_ = NULL;
+               ValaTokenType _tmp20_;
+               ValaExpression* _tmp33_ = NULL;
                ValaExpression* expr;
-               ValaExpression* _tmp31_;
-               ValaGirParserMetadata* _tmp32_;
-               ValaGirParserArgumentType* _tmp33_;
                ValaExpression* _tmp34_;
-               ValaSourceLocation _tmp35_;
-               ValaSourceReference* _tmp36_ = NULL;
-               ValaSourceReference* _tmp37_;
-               ValaGirParserArgument* _tmp38_;
-               ValaGirParserArgument* _tmp39_;
+               ValaGirParserMetadata* _tmp35_;
+               ValaGirParserArgumentType* _tmp36_;
+               ValaExpression* _tmp37_;
+               ValaSourceLocation _tmp38_;
+               ValaSourceReference* _tmp39_ = NULL;
+               ValaSourceReference* _tmp40_;
+               ValaGirParserArgument* _tmp41_;
+               ValaGirParserArgument* _tmp42_;
                _tmp2_ = self->priv->current;
                if (_tmp2_ != VALA_TOKEN_TYPE_EOF) {
                        gboolean _tmp3_ = FALSE;
@@ -16106,74 +16243,80 @@ static gboolean vala_gir_parser_metadata_parser_parse_args (ValaGirParserMetadat
                        ValaSourceLocation _tmp14_;
                        ValaSourceReference* _tmp15_ = NULL;
                        ValaSourceReference* _tmp16_;
+                       const gchar* _tmp17_;
+                       gchar* _tmp18_ = NULL;
+                       gchar* _tmp19_;
                        _tmp13_ = begin;
                        _tmp14_ = self->priv->old_end;
                        _tmp15_ = vala_gir_parser_metadata_parser_get_src (self, &_tmp13_, &_tmp14_);
                        _tmp16_ = _tmp15_;
-                       vala_report_error (_tmp16_, "unknown argument");
+                       _tmp17_ = id;
+                       _tmp18_ = g_strdup_printf ("unknown argument `%s'", _tmp17_);
+                       _tmp19_ = _tmp18_;
+                       vala_report_warning (_tmp16_, _tmp19_);
+                       _g_free0 (_tmp19_);
                        _vala_source_reference_unref0 (_tmp16_);
-                       result = FALSE;
                        _g_free0 (arg_type);
                        _g_free0 (id);
-                       return result;
+                       continue;
                }
-               _tmp17_ = self->priv->current;
-               if (_tmp17_ != VALA_TOKEN_TYPE_ASSIGN) {
-                       ValaGirParserMetadata* _tmp18_;
-                       ValaGirParserArgumentType* _tmp19_;
-                       ValaSourceLocation _tmp20_;
-                       ValaSourceReference* _tmp21_ = NULL;
-                       ValaSourceReference* _tmp22_;
-                       ValaBooleanLiteral* _tmp23_;
-                       ValaBooleanLiteral* _tmp24_;
-                       ValaSourceLocation _tmp25_;
-                       ValaSourceReference* _tmp26_ = NULL;
-                       ValaSourceReference* _tmp27_;
-                       ValaGirParserArgument* _tmp28_;
-                       ValaGirParserArgument* _tmp29_;
-                       _tmp18_ = metadata;
-                       _tmp19_ = arg_type;
-                       _tmp20_ = begin;
-                       _tmp21_ = vala_gir_parser_metadata_parser_get_src (self, &_tmp20_, NULL);
-                       _tmp22_ = _tmp21_;
-                       _tmp23_ = vala_boolean_literal_new (TRUE, _tmp22_);
-                       _tmp24_ = _tmp23_;
-                       _tmp25_ = begin;
-                       _tmp26_ = vala_gir_parser_metadata_parser_get_src (self, &_tmp25_, NULL);
+               _tmp20_ = self->priv->current;
+               if (_tmp20_ != VALA_TOKEN_TYPE_ASSIGN) {
+                       ValaGirParserMetadata* _tmp21_;
+                       ValaGirParserArgumentType* _tmp22_;
+                       ValaSourceLocation _tmp23_;
+                       ValaSourceReference* _tmp24_ = NULL;
+                       ValaSourceReference* _tmp25_;
+                       ValaBooleanLiteral* _tmp26_;
+                       ValaBooleanLiteral* _tmp27_;
+                       ValaSourceLocation _tmp28_;
+                       ValaSourceReference* _tmp29_ = NULL;
+                       ValaSourceReference* _tmp30_;
+                       ValaGirParserArgument* _tmp31_;
+                       ValaGirParserArgument* _tmp32_;
+                       _tmp21_ = metadata;
+                       _tmp22_ = arg_type;
+                       _tmp23_ = begin;
+                       _tmp24_ = vala_gir_parser_metadata_parser_get_src (self, &_tmp23_, NULL);
+                       _tmp25_ = _tmp24_;
+                       _tmp26_ = vala_boolean_literal_new (TRUE, _tmp25_);
                        _tmp27_ = _tmp26_;
-                       _tmp28_ = vala_gir_parser_argument_new ((ValaExpression*) _tmp24_, _tmp27_);
-                       _tmp29_ = _tmp28_;
-                       vala_gir_parser_metadata_add_argument (_tmp18_, *_tmp19_, _tmp29_);
-                       _vala_gir_parser_argument_unref0 (_tmp29_);
-                       _vala_source_reference_unref0 (_tmp27_);
-                       _vala_code_node_unref0 (_tmp24_);
-                       _vala_source_reference_unref0 (_tmp22_);
+                       _tmp28_ = begin;
+                       _tmp29_ = vala_gir_parser_metadata_parser_get_src (self, &_tmp28_, NULL);
+                       _tmp30_ = _tmp29_;
+                       _tmp31_ = vala_gir_parser_argument_new ((ValaExpression*) _tmp27_, _tmp30_);
+                       _tmp32_ = _tmp31_;
+                       vala_gir_parser_metadata_add_argument (_tmp21_, *_tmp22_, _tmp32_);
+                       _vala_gir_parser_argument_unref0 (_tmp32_);
+                       _vala_source_reference_unref0 (_tmp30_);
+                       _vala_code_node_unref0 (_tmp27_);
+                       _vala_source_reference_unref0 (_tmp25_);
                        _g_free0 (arg_type);
                        _g_free0 (id);
                        continue;
                }
                vala_gir_parser_metadata_parser_next (self);
-               _tmp30_ = vala_gir_parser_metadata_parser_parse_expression (self);
-               expr = _tmp30_;
-               _tmp31_ = expr;
-               if (_tmp31_ == NULL) {
+               _tmp33_ = vala_gir_parser_metadata_parser_parse_expression (self);
+               expr = _tmp33_;
+               _tmp34_ = expr;
+               if (_tmp34_ == NULL) {
                        result = FALSE;
                        _vala_code_node_unref0 (expr);
                        _g_free0 (arg_type);
                        _g_free0 (id);
                        return result;
                }
-               _tmp32_ = metadata;
-               _tmp33_ = arg_type;
-               _tmp34_ = expr;
-               _tmp35_ = begin;
-               _tmp36_ = vala_gir_parser_metadata_parser_get_src (self, &_tmp35_, NULL);
-               _tmp37_ = _tmp36_;
-               _tmp38_ = vala_gir_parser_argument_new (_tmp34_, _tmp37_);
-               _tmp39_ = _tmp38_;
-               vala_gir_parser_metadata_add_argument (_tmp32_, *_tmp33_, _tmp39_);
-               _vala_gir_parser_argument_unref0 (_tmp39_);
-               _vala_source_reference_unref0 (_tmp37_);
+               _tmp35_ = metadata;
+               _tmp36_ = arg_type;
+               _tmp37_ = expr;
+               _tmp38_ = begin;
+               _tmp39_ = vala_gir_parser_metadata_parser_get_src (self, &_tmp38_, NULL);
+               _tmp40_ = _tmp39_;
+               _tmp41_ = vala_gir_parser_argument_new (_tmp37_, _tmp40_);
+               _tmp42_ = _tmp41_;
+               vala_gir_parser_metadata_add_argument (_tmp35_, *_tmp36_, _tmp42_);
+               _vala_gir_parser_argument_unref0 (_tmp42_);
+               _vala_source_reference_unref0 (_tmp40_);
                _vala_code_node_unref0 (expr);
                _g_free0 (arg_type);
                _g_free0 (id);
index 0a90886..f58345c 100644 (file)
@@ -75,7 +75,8 @@ public class Vala.GirParser : CodeVisitor {
                FINISH_NAME,
                SYMBOL_TYPE,
                INSTANCE_IDX,
-               EXPERIMENTAL;
+               EXPERIMENTAL,
+               FLOATING;
 
                public static ArgumentType? from_string (string name) {
                        var enum_class = (EnumClass) typeof(ArgumentType).class_ref ();
@@ -443,8 +444,8 @@ public class Vala.GirParser : CodeVisitor {
                                }
                                var arg_type = ArgumentType.from_string (id);
                                if (arg_type == null) {
-                                       Report.error (get_src (begin, old_end), "unknown argument");
-                                       return false;
+                                       Report.warning (get_src (begin, old_end), "unknown argument `%s'".printf (id));
+                                       continue;
                                }
 
                                if (current != TokenType.ASSIGN) {
@@ -1233,9 +1234,9 @@ public class Vala.GirParser : CodeVisitor {
        }
 
        void end_element (string name) {
-               if (current_token != MarkupTokenType.END_ELEMENT || reader.name != name) {
-                       // error
-                       Report.error (get_current_src (), "expected end element of `%s'".printf (name));
+               while (current_token != MarkupTokenType.END_ELEMENT || reader.name != name) {
+                       Report.warning (get_current_src (), "expected end element of `%s'".printf (name));
+                       skip_element ();
                }
                next ();
        }
@@ -2848,6 +2849,9 @@ public class Vala.GirParser : CodeVisitor {
                                method.set_attribute_string ("CCode", "vfunc_name", metadata.get_string (ArgumentType.VFUNC_NAME));
                                method.is_virtual = true;
                        }
+                       if (metadata.has_argument (ArgumentType.FLOATING)) {
+                               method.returns_floating_reference = metadata.get_bool (ArgumentType.FLOATING);
+                       }
                }
 
                if (!(metadata.get_expression (ArgumentType.THROWS) is NullLiteral)) {
@@ -2896,6 +2900,11 @@ public class Vala.GirParser : CodeVisitor {
                        next ();
 
                        while (current_token == MarkupTokenType.START_ELEMENT) {
+                               if (reader.name == "instance-parameter") {
+                                       skip_element ();
+                                       continue;
+                               }
+
                                if (!push_metadata ()) {
                                        skip_element ();
                                        continue;
@@ -3299,6 +3308,31 @@ public class Vala.GirParser : CodeVisitor {
                                        }
                                }
                        }
+               } else {
+                       if (return_type is UnresolvedType && !return_type.nullable) {
+                               var st = resolve_symbol (node.parent, ((UnresolvedType) return_type).unresolved_symbol) as Struct;
+                               if (st != null) {
+                                       bool is_simple_type = false;
+                                       Struct? base_st = st;
+
+                                       while (base_st != null) {
+                                               if (base_st.is_simple_type ()) {
+                                                       is_simple_type = true;
+                                                       break;
+                                               }
+
+                                               if (base_st.base_type is UnresolvedType) {
+                                                       base_st = resolve_symbol (node.parent, ((UnresolvedType) base_st.base_type).unresolved_symbol) as Struct;
+                                               } else {
+                                                       base_st = base_st.base_struct;
+                                               }
+                                       }
+
+                                       if (!is_simple_type) {
+                                               return_type.nullable = true;
+                                       }
+                               }
+                       }
                }
                if (parameters.size > 1) {
                        ParameterInfo last_param = parameters[parameters.size-1];
index e09c4b7..cafd4bd 100644 (file)
@@ -382,6 +382,17 @@ typedef struct _ValaReferenceTypeClass ValaReferenceTypeClass;
 typedef struct _ValaArrayType ValaArrayType;
 typedef struct _ValaArrayTypeClass ValaArrayTypeClass;
 
+#define VALA_TYPE_DELEGATE_TYPE (vala_delegate_type_get_type ())
+#define VALA_DELEGATE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_DELEGATE_TYPE, ValaDelegateType))
+#define VALA_DELEGATE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_DELEGATE_TYPE, ValaDelegateTypeClass))
+#define VALA_IS_DELEGATE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_DELEGATE_TYPE))
+#define VALA_IS_DELEGATE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_DELEGATE_TYPE))
+#define VALA_DELEGATE_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_DELEGATE_TYPE, ValaDelegateTypeClass))
+
+typedef struct _ValaDelegateType ValaDelegateType;
+typedef struct _ValaDelegateTypeClass ValaDelegateTypeClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+
 #define VALA_TYPE_LITERAL (vala_literal_get_type ())
 #define VALA_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_LITERAL, ValaLiteral))
 #define VALA_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_LITERAL, ValaLiteralClass))
@@ -401,7 +412,6 @@ typedef struct _ValaLiteralClass ValaLiteralClass;
 
 typedef struct _ValaNullLiteral ValaNullLiteral;
 typedef struct _ValaNullLiteralClass ValaNullLiteralClass;
-#define _g_free0(var) (var = (g_free (var), NULL))
 
 struct _ValaCodeNode {
        GTypeInstance parent_instance;
@@ -606,6 +616,10 @@ void vala_report_error (ValaSourceReference* source, const gchar* message);
 gboolean vala_code_node_check (ValaCodeNode* self, ValaCodeContext* context);
 GType vala_reference_type_get_type (void) G_GNUC_CONST;
 GType vala_array_type_get_type (void) G_GNUC_CONST;
+gboolean vala_code_node_has_attribute_argument (ValaCodeNode* self, const gchar* attribute, const gchar* argument);
+GType vala_delegate_type_get_type (void) G_GNUC_CONST;
+gchar* vala_code_node_get_attribute_string (ValaCodeNode* self, const gchar* attribute, const gchar* argument);
+void vala_delegate_type_set_is_called_once (ValaDelegateType* self, gboolean value);
 ValaDataType* vala_data_type_copy (ValaDataType* self);
 void vala_expression_set_target_type (ValaExpression* self, ValaDataType* value);
 GType vala_literal_get_type (void) G_GNUC_CONST;
@@ -861,19 +875,19 @@ static gboolean vala_parameter_real_check (ValaCodeNode* base, ValaCodeContext*
        ValaDataType* _tmp30_;
        ValaDataType* _tmp31_;
        gboolean _tmp39_;
-       ValaExpression* _tmp61_;
-       ValaExpression* _tmp62_;
-       gboolean _tmp118_;
-       ValaCodeContext* _tmp137_;
-       ValaSemanticAnalyzer* _tmp138_;
-       ValaSemanticAnalyzer* _tmp139_;
-       ValaSourceFile* _tmp140_;
-       ValaCodeContext* _tmp141_;
-       ValaSemanticAnalyzer* _tmp142_;
-       ValaSemanticAnalyzer* _tmp143_;
-       ValaSymbol* _tmp144_;
-       gboolean _tmp145_;
-       gboolean _tmp146_;
+       ValaExpression* _tmp72_;
+       ValaExpression* _tmp73_;
+       gboolean _tmp129_;
+       ValaCodeContext* _tmp148_;
+       ValaSemanticAnalyzer* _tmp149_;
+       ValaSemanticAnalyzer* _tmp150_;
+       ValaSourceFile* _tmp151_;
+       ValaCodeContext* _tmp152_;
+       ValaSemanticAnalyzer* _tmp153_;
+       ValaSemanticAnalyzer* _tmp154_;
+       ValaSymbol* _tmp155_;
+       gboolean _tmp156_;
+       gboolean _tmp157_;
        self = (ValaParameter*) base;
        g_return_val_if_fail (context != NULL, FALSE);
        _tmp0_ = vala_code_node_get_checked ((ValaCodeNode*) self);
@@ -961,8 +975,11 @@ static gboolean vala_parameter_real_check (ValaCodeNode* base, ValaCodeContext*
                gboolean _tmp43_ = FALSE;
                gboolean _tmp44_;
                gboolean _tmp47_;
-               ValaExpression* _tmp50_;
-               ValaExpression* _tmp51_;
+               gboolean _tmp50_ = FALSE;
+               gboolean _tmp51_ = FALSE;
+               gboolean _tmp54_;
+               ValaExpression* _tmp61_;
+               ValaExpression* _tmp62_;
                _tmp40_ = vala_variable_get_variable_type ((ValaVariable*) self);
                _tmp41_ = _tmp40_;
                _tmp42_ = context;
@@ -990,241 +1007,271 @@ static gboolean vala_parameter_real_check (ValaCodeNode* base, ValaCodeContext*
                        _vala_source_file_unref0 (old_source_file);
                        return result;
                }
-               _tmp50_ = vala_variable_get_initializer ((ValaVariable*) self);
-               _tmp51_ = _tmp50_;
-               if (_tmp51_ != NULL) {
-                       ValaExpression* _tmp52_;
-                       ValaExpression* _tmp53_;
-                       ValaDataType* _tmp54_;
-                       ValaDataType* _tmp55_;
-                       ValaDataType* _tmp56_ = NULL;
-                       ValaDataType* _tmp57_;
-                       ValaExpression* _tmp58_;
-                       ValaExpression* _tmp59_;
-                       ValaCodeContext* _tmp60_;
-                       _tmp52_ = vala_variable_get_initializer ((ValaVariable*) self);
+               _tmp51_ = vala_code_node_has_attribute_argument ((ValaCodeNode*) self, "CCode", "scope");
+               if (_tmp51_) {
+                       ValaDataType* _tmp52_;
+                       ValaDataType* _tmp53_;
+                       _tmp52_ = vala_variable_get_variable_type ((ValaVariable*) self);
                        _tmp53_ = _tmp52_;
-                       _tmp54_ = vala_variable_get_variable_type ((ValaVariable*) self);
-                       _tmp55_ = _tmp54_;
-                       _tmp56_ = vala_data_type_copy (_tmp55_);
-                       _tmp57_ = _tmp56_;
-                       vala_expression_set_target_type (_tmp53_, _tmp57_);
-                       _vala_code_node_unref0 (_tmp57_);
-                       _tmp58_ = vala_variable_get_initializer ((ValaVariable*) self);
-                       _tmp59_ = _tmp58_;
-                       _tmp60_ = context;
-                       vala_code_node_check ((ValaCodeNode*) _tmp59_, _tmp60_);
+                       _tmp50_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp53_, VALA_TYPE_DELEGATE_TYPE);
+               } else {
+                       _tmp50_ = FALSE;
                }
-       }
-       _tmp61_ = vala_variable_get_initializer ((ValaVariable*) self);
-       _tmp62_ = _tmp61_;
-       if (_tmp62_ != NULL) {
-               gboolean _tmp63_ = FALSE;
-               gboolean _tmp64_ = FALSE;
-               ValaExpression* _tmp65_;
-               ValaExpression* _tmp66_;
-               gboolean _tmp71_;
-               gboolean _tmp73_;
-               _tmp65_ = vala_variable_get_initializer ((ValaVariable*) self);
-               _tmp66_ = _tmp65_;
-               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp66_, VALA_TYPE_NULL_LITERAL)) {
-                       ValaDataType* _tmp67_;
+               _tmp54_ = _tmp50_;
+               if (_tmp54_) {
+                       ValaDataType* _tmp55_;
+                       ValaDataType* _tmp56_;
+                       ValaDelegateType* _tmp57_;
+                       ValaDelegateType* delegate_type;
+                       ValaDelegateType* _tmp58_;
+                       gchar* _tmp59_ = NULL;
+                       gchar* _tmp60_;
+                       _tmp55_ = vala_variable_get_variable_type ((ValaVariable*) self);
+                       _tmp56_ = _tmp55_;
+                       _tmp57_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, VALA_TYPE_DELEGATE_TYPE, ValaDelegateType));
+                       delegate_type = _tmp57_;
+                       _tmp58_ = delegate_type;
+                       _tmp59_ = vala_code_node_get_attribute_string ((ValaCodeNode*) self, "CCode", "scope");
+                       _tmp60_ = _tmp59_;
+                       vala_delegate_type_set_is_called_once (_tmp58_, g_strcmp0 (_tmp60_, "async") == 0);
+                       _g_free0 (_tmp60_);
+                       _vala_code_node_unref0 (delegate_type);
+               }
+               _tmp61_ = vala_variable_get_initializer ((ValaVariable*) self);
+               _tmp62_ = _tmp61_;
+               if (_tmp62_ != NULL) {
+                       ValaExpression* _tmp63_;
+                       ValaExpression* _tmp64_;
+                       ValaDataType* _tmp65_;
+                       ValaDataType* _tmp66_;
+                       ValaDataType* _tmp67_ = NULL;
                        ValaDataType* _tmp68_;
-                       gboolean _tmp69_;
-                       gboolean _tmp70_;
-                       _tmp67_ = vala_variable_get_variable_type ((ValaVariable*) self);
+                       ValaExpression* _tmp69_;
+                       ValaExpression* _tmp70_;
+                       ValaCodeContext* _tmp71_;
+                       _tmp63_ = vala_variable_get_initializer ((ValaVariable*) self);
+                       _tmp64_ = _tmp63_;
+                       _tmp65_ = vala_variable_get_variable_type ((ValaVariable*) self);
+                       _tmp66_ = _tmp65_;
+                       _tmp67_ = vala_data_type_copy (_tmp66_);
                        _tmp68_ = _tmp67_;
-                       _tmp69_ = vala_data_type_get_nullable (_tmp68_);
+                       vala_expression_set_target_type (_tmp64_, _tmp68_);
+                       _vala_code_node_unref0 (_tmp68_);
+                       _tmp69_ = vala_variable_get_initializer ((ValaVariable*) self);
                        _tmp70_ = _tmp69_;
-                       _tmp64_ = !_tmp70_;
+                       _tmp71_ = context;
+                       vala_code_node_check ((ValaCodeNode*) _tmp70_, _tmp71_);
+               }
+       }
+       _tmp72_ = vala_variable_get_initializer ((ValaVariable*) self);
+       _tmp73_ = _tmp72_;
+       if (_tmp73_ != NULL) {
+               gboolean _tmp74_ = FALSE;
+               gboolean _tmp75_ = FALSE;
+               ValaExpression* _tmp76_;
+               ValaExpression* _tmp77_;
+               gboolean _tmp82_;
+               gboolean _tmp84_;
+               _tmp76_ = vala_variable_get_initializer ((ValaVariable*) self);
+               _tmp77_ = _tmp76_;
+               if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp77_, VALA_TYPE_NULL_LITERAL)) {
+                       ValaDataType* _tmp78_;
+                       ValaDataType* _tmp79_;
+                       gboolean _tmp80_;
+                       gboolean _tmp81_;
+                       _tmp78_ = vala_variable_get_variable_type ((ValaVariable*) self);
+                       _tmp79_ = _tmp78_;
+                       _tmp80_ = vala_data_type_get_nullable (_tmp79_);
+                       _tmp81_ = _tmp80_;
+                       _tmp75_ = !_tmp81_;
                } else {
-                       _tmp64_ = FALSE;
+                       _tmp75_ = FALSE;
                }
-               _tmp71_ = _tmp64_;
-               if (_tmp71_) {
-                       ValaParameterDirection _tmp72_;
-                       _tmp72_ = self->priv->_direction;
-                       _tmp63_ = _tmp72_ != VALA_PARAMETER_DIRECTION_OUT;
+               _tmp82_ = _tmp75_;
+               if (_tmp82_) {
+                       ValaParameterDirection _tmp83_;
+                       _tmp83_ = self->priv->_direction;
+                       _tmp74_ = _tmp83_ != VALA_PARAMETER_DIRECTION_OUT;
                } else {
-                       _tmp63_ = FALSE;
+                       _tmp74_ = FALSE;
                }
-               _tmp73_ = _tmp63_;
-               if (_tmp73_) {
-                       ValaSourceReference* _tmp74_;
-                       ValaSourceReference* _tmp75_;
-                       ValaDataType* _tmp76_;
-                       ValaDataType* _tmp77_;
-                       gchar* _tmp78_ = NULL;
-                       gchar* _tmp79_;
-                       gchar* _tmp80_ = NULL;
-                       gchar* _tmp81_;
-                       _tmp74_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
-                       _tmp75_ = _tmp74_;
-                       _tmp76_ = vala_variable_get_variable_type ((ValaVariable*) self);
-                       _tmp77_ = _tmp76_;
-                       _tmp78_ = vala_code_node_to_string ((ValaCodeNode*) _tmp77_);
-                       _tmp79_ = _tmp78_;
-                       _tmp80_ = g_strdup_printf ("`null' incompatible with parameter type `%s`", _tmp79_);
-                       _tmp81_ = _tmp80_;
-                       vala_report_warning (_tmp75_, _tmp81_);
-                       _g_free0 (_tmp81_);
-                       _g_free0 (_tmp79_);
+               _tmp84_ = _tmp74_;
+               if (_tmp84_) {
+                       ValaSourceReference* _tmp85_;
+                       ValaSourceReference* _tmp86_;
+                       ValaDataType* _tmp87_;
+                       ValaDataType* _tmp88_;
+                       gchar* _tmp89_ = NULL;
+                       gchar* _tmp90_;
+                       gchar* _tmp91_ = NULL;
+                       gchar* _tmp92_;
+                       _tmp85_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
+                       _tmp86_ = _tmp85_;
+                       _tmp87_ = vala_variable_get_variable_type ((ValaVariable*) self);
+                       _tmp88_ = _tmp87_;
+                       _tmp89_ = vala_code_node_to_string ((ValaCodeNode*) _tmp88_);
+                       _tmp90_ = _tmp89_;
+                       _tmp91_ = g_strdup_printf ("`null' incompatible with parameter type `%s`", _tmp90_);
+                       _tmp92_ = _tmp91_;
+                       vala_report_warning (_tmp86_, _tmp92_);
+                       _g_free0 (_tmp92_);
+                       _g_free0 (_tmp90_);
                } else {
-                       gboolean _tmp82_ = FALSE;
-                       ValaExpression* _tmp83_;
-                       ValaExpression* _tmp84_;
-                       gboolean _tmp86_;
-                       _tmp83_ = vala_variable_get_initializer ((ValaVariable*) self);
-                       _tmp84_ = _tmp83_;
-                       if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp84_, VALA_TYPE_NULL_LITERAL)) {
-                               ValaParameterDirection _tmp85_;
-                               _tmp85_ = self->priv->_direction;
-                               _tmp82_ = _tmp85_ == VALA_PARAMETER_DIRECTION_OUT;
+                       gboolean _tmp93_ = FALSE;
+                       ValaExpression* _tmp94_;
+                       ValaExpression* _tmp95_;
+                       gboolean _tmp97_;
+                       _tmp94_ = vala_variable_get_initializer ((ValaVariable*) self);
+                       _tmp95_ = _tmp94_;
+                       if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp95_, VALA_TYPE_NULL_LITERAL)) {
+                               ValaParameterDirection _tmp96_;
+                               _tmp96_ = self->priv->_direction;
+                               _tmp93_ = _tmp96_ == VALA_PARAMETER_DIRECTION_OUT;
                        } else {
-                               _tmp82_ = FALSE;
+                               _tmp93_ = FALSE;
                        }
-                       _tmp86_ = _tmp82_;
-                       if (_tmp86_) {
-                               ValaSourceReference* _tmp87_;
-                               ValaSourceReference* _tmp88_;
-                               _tmp87_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
-                               _tmp88_ = _tmp87_;
-                               vala_report_error (_tmp88_, "only `null' is allowed as default value for out parameters");
+                       _tmp97_ = _tmp93_;
+                       if (_tmp97_) {
+                               ValaSourceReference* _tmp98_;
+                               ValaSourceReference* _tmp99_;
+                               _tmp98_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
+                               _tmp99_ = _tmp98_;
+                               vala_report_error (_tmp99_, "only `null' is allowed as default value for out parameters");
                        } else {
-                               gboolean _tmp89_ = FALSE;
-                               ValaParameterDirection _tmp90_;
-                               gboolean _tmp98_;
-                               _tmp90_ = self->priv->_direction;
-                               if (_tmp90_ == VALA_PARAMETER_DIRECTION_IN) {
-                                       ValaExpression* _tmp91_;
-                                       ValaExpression* _tmp92_;
-                                       ValaDataType* _tmp93_;
-                                       ValaDataType* _tmp94_;
-                                       ValaDataType* _tmp95_;
-                                       ValaDataType* _tmp96_;
-                                       gboolean _tmp97_ = FALSE;
-                                       _tmp91_ = vala_variable_get_initializer ((ValaVariable*) self);
-                                       _tmp92_ = _tmp91_;
-                                       _tmp93_ = vala_expression_get_value_type (_tmp92_);
-                                       _tmp94_ = _tmp93_;
-                                       _tmp95_ = vala_variable_get_variable_type ((ValaVariable*) self);
-                                       _tmp96_ = _tmp95_;
-                                       _tmp97_ = vala_data_type_compatible (_tmp94_, _tmp96_);
-                                       _tmp89_ = !_tmp97_;
-                               } else {
-                                       _tmp89_ = FALSE;
-                               }
-                               _tmp98_ = _tmp89_;
-                               if (_tmp98_) {
-                                       ValaExpression* _tmp99_;
-                                       ValaExpression* _tmp100_;
-                                       ValaSourceReference* _tmp101_;
-                                       ValaSourceReference* _tmp102_;
+                               gboolean _tmp100_ = FALSE;
+                               ValaParameterDirection _tmp101_;
+                               gboolean _tmp109_;
+                               _tmp101_ = self->priv->_direction;
+                               if (_tmp101_ == VALA_PARAMETER_DIRECTION_IN) {
+                                       ValaExpression* _tmp102_;
                                        ValaExpression* _tmp103_;
-                                       ValaExpression* _tmp104_;
+                                       ValaDataType* _tmp104_;
                                        ValaDataType* _tmp105_;
                                        ValaDataType* _tmp106_;
-                                       gchar* _tmp107_ = NULL;
-                                       gchar* _tmp108_;
-                                       ValaDataType* _tmp109_;
-                                       ValaDataType* _tmp110_;
-                                       gchar* _tmp111_ = NULL;
-                                       gchar* _tmp112_;
-                                       gchar* _tmp113_ = NULL;
-                                       gchar* _tmp114_;
-                                       _tmp99_ = vala_variable_get_initializer ((ValaVariable*) self);
-                                       _tmp100_ = _tmp99_;
-                                       _tmp101_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp100_);
-                                       _tmp102_ = _tmp101_;
-                                       _tmp103_ = vala_variable_get_initializer ((ValaVariable*) self);
-                                       _tmp104_ = _tmp103_;
-                                       _tmp105_ = vala_expression_get_value_type (_tmp104_);
-                                       _tmp106_ = _tmp105_;
-                                       _tmp107_ = vala_code_node_to_string ((ValaCodeNode*) _tmp106_);
-                                       _tmp108_ = _tmp107_;
-                                       _tmp109_ = vala_variable_get_variable_type ((ValaVariable*) self);
-                                       _tmp110_ = _tmp109_;
-                                       _tmp111_ = vala_code_node_to_string ((ValaCodeNode*) _tmp110_);
-                                       _tmp112_ = _tmp111_;
-                                       _tmp113_ = g_strdup_printf ("Cannot convert from `%s' to `%s'", _tmp108_, _tmp112_);
-                                       _tmp114_ = _tmp113_;
-                                       vala_report_error (_tmp102_, _tmp114_);
-                                       _g_free0 (_tmp114_);
-                                       _g_free0 (_tmp112_);
-                                       _g_free0 (_tmp108_);
+                                       ValaDataType* _tmp107_;
+                                       gboolean _tmp108_ = FALSE;
+                                       _tmp102_ = vala_variable_get_initializer ((ValaVariable*) self);
+                                       _tmp103_ = _tmp102_;
+                                       _tmp104_ = vala_expression_get_value_type (_tmp103_);
+                                       _tmp105_ = _tmp104_;
+                                       _tmp106_ = vala_variable_get_variable_type ((ValaVariable*) self);
+                                       _tmp107_ = _tmp106_;
+                                       _tmp108_ = vala_data_type_compatible (_tmp105_, _tmp107_);
+                                       _tmp100_ = !_tmp108_;
+                               } else {
+                                       _tmp100_ = FALSE;
+                               }
+                               _tmp109_ = _tmp100_;
+                               if (_tmp109_) {
+                                       ValaExpression* _tmp110_;
+                                       ValaExpression* _tmp111_;
+                                       ValaSourceReference* _tmp112_;
+                                       ValaSourceReference* _tmp113_;
+                                       ValaExpression* _tmp114_;
+                                       ValaExpression* _tmp115_;
+                                       ValaDataType* _tmp116_;
+                                       ValaDataType* _tmp117_;
+                                       gchar* _tmp118_ = NULL;
+                                       gchar* _tmp119_;
+                                       ValaDataType* _tmp120_;
+                                       ValaDataType* _tmp121_;
+                                       gchar* _tmp122_ = NULL;
+                                       gchar* _tmp123_;
+                                       gchar* _tmp124_ = NULL;
+                                       gchar* _tmp125_;
+                                       _tmp110_ = vala_variable_get_initializer ((ValaVariable*) self);
+                                       _tmp111_ = _tmp110_;
+                                       _tmp112_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp111_);
+                                       _tmp113_ = _tmp112_;
+                                       _tmp114_ = vala_variable_get_initializer ((ValaVariable*) self);
+                                       _tmp115_ = _tmp114_;
+                                       _tmp116_ = vala_expression_get_value_type (_tmp115_);
+                                       _tmp117_ = _tmp116_;
+                                       _tmp118_ = vala_code_node_to_string ((ValaCodeNode*) _tmp117_);
+                                       _tmp119_ = _tmp118_;
+                                       _tmp120_ = vala_variable_get_variable_type ((ValaVariable*) self);
+                                       _tmp121_ = _tmp120_;
+                                       _tmp122_ = vala_code_node_to_string ((ValaCodeNode*) _tmp121_);
+                                       _tmp123_ = _tmp122_;
+                                       _tmp124_ = g_strdup_printf ("Cannot convert from `%s' to `%s'", _tmp119_, _tmp123_);
+                                       _tmp125_ = _tmp124_;
+                                       vala_report_error (_tmp113_, _tmp125_);
+                                       _g_free0 (_tmp125_);
+                                       _g_free0 (_tmp123_);
+                                       _g_free0 (_tmp119_);
                                } else {
-                                       ValaParameterDirection _tmp115_;
-                                       _tmp115_ = self->priv->_direction;
-                                       if (_tmp115_ == VALA_PARAMETER_DIRECTION_REF) {
-                                               ValaSourceReference* _tmp116_;
-                                               ValaSourceReference* _tmp117_;
-                                               _tmp116_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
-                                               _tmp117_ = _tmp116_;
-                                               vala_report_error (_tmp117_, "default value not allowed for ref parameter");
+                                       ValaParameterDirection _tmp126_;
+                                       _tmp126_ = self->priv->_direction;
+                                       if (_tmp126_ == VALA_PARAMETER_DIRECTION_REF) {
+                                               ValaSourceReference* _tmp127_;
+                                               ValaSourceReference* _tmp128_;
+                                               _tmp127_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
+                                               _tmp128_ = _tmp127_;
+                                               vala_report_error (_tmp128_, "default value not allowed for ref parameter");
                                        }
                                }
                        }
                }
        }
-       _tmp118_ = self->priv->_ellipsis;
-       if (!_tmp118_) {
-               ValaCodeContext* _tmp119_;
-               ValaSemanticAnalyzer* _tmp120_;
-               ValaSemanticAnalyzer* _tmp121_;
-               ValaDataType* _tmp122_;
-               ValaDataType* _tmp123_;
-               gboolean _tmp124_ = FALSE;
-               _tmp119_ = context;
-               _tmp120_ = vala_code_context_get_analyzer (_tmp119_);
-               _tmp121_ = _tmp120_;
-               _tmp122_ = vala_variable_get_variable_type ((ValaVariable*) self);
-               _tmp123_ = _tmp122_;
-               _tmp124_ = vala_semantic_analyzer_is_type_accessible (_tmp121_, (ValaSymbol*) self, _tmp123_);
-               if (!_tmp124_) {
-                       ValaSourceReference* _tmp125_;
-                       ValaSourceReference* _tmp126_;
-                       ValaDataType* _tmp127_;
-                       ValaDataType* _tmp128_;
-                       gchar* _tmp129_ = NULL;
-                       gchar* _tmp130_;
-                       ValaSymbol* _tmp131_;
-                       ValaSymbol* _tmp132_;
-                       gchar* _tmp133_ = NULL;
-                       gchar* _tmp134_;
-                       gchar* _tmp135_ = NULL;
-                       gchar* _tmp136_;
+       _tmp129_ = self->priv->_ellipsis;
+       if (!_tmp129_) {
+               ValaCodeContext* _tmp130_;
+               ValaSemanticAnalyzer* _tmp131_;
+               ValaSemanticAnalyzer* _tmp132_;
+               ValaDataType* _tmp133_;
+               ValaDataType* _tmp134_;
+               gboolean _tmp135_ = FALSE;
+               _tmp130_ = context;
+               _tmp131_ = vala_code_context_get_analyzer (_tmp130_);
+               _tmp132_ = _tmp131_;
+               _tmp133_ = vala_variable_get_variable_type ((ValaVariable*) self);
+               _tmp134_ = _tmp133_;
+               _tmp135_ = vala_semantic_analyzer_is_type_accessible (_tmp132_, (ValaSymbol*) self, _tmp134_);
+               if (!_tmp135_) {
+                       ValaSourceReference* _tmp136_;
+                       ValaSourceReference* _tmp137_;
+                       ValaDataType* _tmp138_;
+                       ValaDataType* _tmp139_;
+                       gchar* _tmp140_ = NULL;
+                       gchar* _tmp141_;
+                       ValaSymbol* _tmp142_;
+                       ValaSymbol* _tmp143_;
+                       gchar* _tmp144_ = NULL;
+                       gchar* _tmp145_;
+                       gchar* _tmp146_ = NULL;
+                       gchar* _tmp147_;
                        vala_code_node_set_error ((ValaCodeNode*) self, TRUE);
-                       _tmp125_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
-                       _tmp126_ = _tmp125_;
-                       _tmp127_ = vala_variable_get_variable_type ((ValaVariable*) self);
-                       _tmp128_ = _tmp127_;
-                       _tmp129_ = vala_code_node_to_string ((ValaCodeNode*) _tmp128_);
-                       _tmp130_ = _tmp129_;
-                       _tmp131_ = vala_symbol_get_parent_symbol ((ValaSymbol*) self);
-                       _tmp132_ = _tmp131_;
-                       _tmp133_ = vala_symbol_get_full_name (_tmp132_);
-                       _tmp134_ = _tmp133_;
-                       _tmp135_ = g_strdup_printf ("parameter type `%s` is less accessible than method `%s`", _tmp130_, _tmp134_);
-                       _tmp136_ = _tmp135_;
-                       vala_report_error (_tmp126_, _tmp136_);
-                       _g_free0 (_tmp136_);
-                       _g_free0 (_tmp134_);
-                       _g_free0 (_tmp130_);
+                       _tmp136_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
+                       _tmp137_ = _tmp136_;
+                       _tmp138_ = vala_variable_get_variable_type ((ValaVariable*) self);
+                       _tmp139_ = _tmp138_;
+                       _tmp140_ = vala_code_node_to_string ((ValaCodeNode*) _tmp139_);
+                       _tmp141_ = _tmp140_;
+                       _tmp142_ = vala_symbol_get_parent_symbol ((ValaSymbol*) self);
+                       _tmp143_ = _tmp142_;
+                       _tmp144_ = vala_symbol_get_full_name (_tmp143_);
+                       _tmp145_ = _tmp144_;
+                       _tmp146_ = g_strdup_printf ("parameter type `%s` is less accessible than method `%s`", _tmp141_, _tmp145_);
+                       _tmp147_ = _tmp146_;
+                       vala_report_error (_tmp137_, _tmp147_);
+                       _g_free0 (_tmp147_);
+                       _g_free0 (_tmp145_);
+                       _g_free0 (_tmp141_);
                }
        }
-       _tmp137_ = context;
-       _tmp138_ = vala_code_context_get_analyzer (_tmp137_);
-       _tmp139_ = _tmp138_;
-       _tmp140_ = old_source_file;
-       vala_semantic_analyzer_set_current_source_file (_tmp139_, _tmp140_);
-       _tmp141_ = context;
-       _tmp142_ = vala_code_context_get_analyzer (_tmp141_);
-       _tmp143_ = _tmp142_;
-       _tmp144_ = old_symbol;
-       vala_semantic_analyzer_set_current_symbol (_tmp143_, _tmp144_);
-       _tmp145_ = vala_code_node_get_error ((ValaCodeNode*) self);
-       _tmp146_ = _tmp145_;
-       result = !_tmp146_;
+       _tmp148_ = context;
+       _tmp149_ = vala_code_context_get_analyzer (_tmp148_);
+       _tmp150_ = _tmp149_;
+       _tmp151_ = old_source_file;
+       vala_semantic_analyzer_set_current_source_file (_tmp150_, _tmp151_);
+       _tmp152_ = context;
+       _tmp153_ = vala_code_context_get_analyzer (_tmp152_);
+       _tmp154_ = _tmp153_;
+       _tmp155_ = old_symbol;
+       vala_semantic_analyzer_set_current_symbol (_tmp154_, _tmp155_);
+       _tmp156_ = vala_code_node_get_error ((ValaCodeNode*) self);
+       _tmp157_ = _tmp156_;
+       result = !_tmp157_;
        _vala_code_node_unref0 (old_symbol);
        _vala_source_file_unref0 (old_source_file);
        return result;
index b089dde..c42d6f3 100644 (file)
@@ -147,6 +147,11 @@ public class Vala.Parameter : Variable {
                                return false;
                        }
 
+                       if (has_attribute_argument ("CCode", "scope") && variable_type is DelegateType) {
+                               var delegate_type = (DelegateType) variable_type;
+                               delegate_type.is_called_once = get_attribute_string ("CCode", "scope") == "async";
+                       }
+
                        if (initializer != null) {
                                initializer.target_type = variable_type.copy ();
                                initializer.check (context);
index 9d95600..bf05009 100644 (file)
@@ -11931,64 +11931,67 @@ static ValaStatement* vala_parser_parse_switch_statement (ValaParser* self, GErr
        }
        while (TRUE) {
                ValaTokenType _tmp8_ = 0;
-               ValaSourceLocation _tmp9_;
-               ValaSourceReference* _tmp10_ = NULL;
-               ValaSourceReference* _tmp11_;
-               ValaSwitchSection* _tmp12_;
+               ValaSourceLocation _tmp9_ = {0};
+               ValaSourceLocation _tmp10_;
+               ValaSourceReference* _tmp11_ = NULL;
+               ValaSourceReference* _tmp12_;
                ValaSwitchSection* _tmp13_;
+               ValaSwitchSection* _tmp14_;
                ValaSwitchSection* section;
-               ValaSwitchSection* _tmp36_;
-               ValaSwitchStatement* _tmp37_;
-               ValaSwitchSection* _tmp38_;
+               ValaSwitchSection* _tmp37_;
+               ValaSwitchStatement* _tmp38_;
+               ValaSwitchSection* _tmp39_;
                _tmp8_ = vala_parser_current (self);
                if (!(_tmp8_ != VALA_TOKEN_TYPE_CLOSE_BRACE)) {
                        break;
                }
-               _tmp9_ = begin;
-               _tmp10_ = vala_parser_get_src (self, &_tmp9_);
-               _tmp11_ = _tmp10_;
-               _tmp12_ = vala_switch_section_new (_tmp11_);
-               _tmp13_ = _tmp12_;
-               _vala_source_reference_unref0 (_tmp11_);
-               section = _tmp13_;
+               vala_parser_get_location (self, &_tmp9_);
+               begin = _tmp9_;
+               _tmp10_ = begin;
+               _tmp11_ = vala_parser_get_src (self, &_tmp10_);
+               _tmp12_ = _tmp11_;
+               _tmp13_ = vala_switch_section_new (_tmp12_);
+               _tmp14_ = _tmp13_;
+               _vala_source_reference_unref0 (_tmp12_);
+               section = _tmp14_;
                {
-                       gboolean _tmp14_;
-                       _tmp14_ = TRUE;
+                       gboolean _tmp15_;
+                       _tmp15_ = TRUE;
                        while (TRUE) {
-                               gboolean _tmp15_;
-                               gboolean _tmp20_ = FALSE;
-                               _tmp15_ = _tmp14_;
-                               if (!_tmp15_) {
-                                       gboolean _tmp16_ = FALSE;
-                                       ValaTokenType _tmp17_ = 0;
-                                       gboolean _tmp19_;
-                                       _tmp17_ = vala_parser_current (self);
-                                       if (_tmp17_ == VALA_TOKEN_TYPE_CASE) {
-                                               _tmp16_ = TRUE;
+                               gboolean _tmp16_;
+                               gboolean _tmp21_ = FALSE;
+                               _tmp16_ = _tmp15_;
+                               if (!_tmp16_) {
+                                       gboolean _tmp17_ = FALSE;
+                                       ValaTokenType _tmp18_ = 0;
+                                       gboolean _tmp20_;
+                                       _tmp18_ = vala_parser_current (self);
+                                       if (_tmp18_ == VALA_TOKEN_TYPE_CASE) {
+                                               _tmp17_ = TRUE;
                                        } else {
-                                               ValaTokenType _tmp18_ = 0;
-                                               _tmp18_ = vala_parser_current (self);
-                                               _tmp16_ = _tmp18_ == VALA_TOKEN_TYPE_DEFAULT;
+                                               ValaTokenType _tmp19_ = 0;
+                                               _tmp19_ = vala_parser_current (self);
+                                               _tmp17_ = _tmp19_ == VALA_TOKEN_TYPE_DEFAULT;
                                        }
-                                       _tmp19_ = _tmp16_;
-                                       if (!_tmp19_) {
+                                       _tmp20_ = _tmp17_;
+                                       if (!_tmp20_) {
                                                break;
                                        }
                                }
-                               _tmp14_ = FALSE;
-                               _tmp20_ = vala_parser_accept (self, VALA_TOKEN_TYPE_CASE);
-                               if (_tmp20_) {
-                                       ValaExpression* _tmp21_ = NULL;
-                                       ValaExpression* _tmp22_;
-                                       ValaSwitchSection* _tmp23_;
-                                       ValaExpression* _tmp24_;
-                                       ValaSourceLocation _tmp25_;
-                                       ValaSourceReference* _tmp26_ = NULL;
-                                       ValaSourceReference* _tmp27_;
-                                       ValaSwitchLabel* _tmp28_;
+                               _tmp15_ = FALSE;
+                               _tmp21_ = vala_parser_accept (self, VALA_TOKEN_TYPE_CASE);
+                               if (_tmp21_) {
+                                       ValaExpression* _tmp22_ = NULL;
+                                       ValaExpression* _tmp23_;
+                                       ValaSwitchSection* _tmp24_;
+                                       ValaExpression* _tmp25_;
+                                       ValaSourceLocation _tmp26_;
+                                       ValaSourceReference* _tmp27_ = NULL;
+                                       ValaSourceReference* _tmp28_;
                                        ValaSwitchLabel* _tmp29_;
-                                       _tmp21_ = vala_parser_parse_expression (self, &_inner_error_);
-                                       _tmp22_ = _tmp21_;
+                                       ValaSwitchLabel* _tmp30_;
+                                       _tmp22_ = vala_parser_parse_expression (self, &_inner_error_);
+                                       _tmp23_ = _tmp22_;
                                        if (_inner_error_ != NULL) {
                                                if (_inner_error_->domain == VALA_PARSE_ERROR) {
                                                        g_propagate_error (error, _inner_error_);
@@ -12005,24 +12008,24 @@ static ValaStatement* vala_parser_parse_switch_statement (ValaParser* self, GErr
                                                        return NULL;
                                                }
                                        }
-                                       _tmp23_ = section;
-                                       _tmp24_ = _tmp22_;
-                                       _tmp25_ = begin;
-                                       _tmp26_ = vala_parser_get_src (self, &_tmp25_);
-                                       _tmp27_ = _tmp26_;
-                                       _tmp28_ = vala_switch_label_new (_tmp24_, _tmp27_);
-                                       _tmp29_ = _tmp28_;
-                                       vala_switch_section_add_label (_tmp23_, _tmp29_);
-                                       _vala_code_node_unref0 (_tmp29_);
-                                       _vala_source_reference_unref0 (_tmp27_);
-                                       _vala_code_node_unref0 (_tmp24_);
+                                       _tmp24_ = section;
+                                       _tmp25_ = _tmp23_;
+                                       _tmp26_ = begin;
+                                       _tmp27_ = vala_parser_get_src (self, &_tmp26_);
+                                       _tmp28_ = _tmp27_;
+                                       _tmp29_ = vala_switch_label_new (_tmp25_, _tmp28_);
+                                       _tmp30_ = _tmp29_;
+                                       vala_switch_section_add_label (_tmp24_, _tmp30_);
+                                       _vala_code_node_unref0 (_tmp30_);
+                                       _vala_source_reference_unref0 (_tmp28_);
+                                       _vala_code_node_unref0 (_tmp25_);
                                } else {
-                                       ValaSwitchSection* _tmp30_;
-                                       ValaSourceLocation _tmp31_;
-                                       ValaSourceReference* _tmp32_ = NULL;
-                                       ValaSourceReference* _tmp33_;
-                                       ValaSwitchLabel* _tmp34_;
+                                       ValaSwitchSection* _tmp31_;
+                                       ValaSourceLocation _tmp32_;
+                                       ValaSourceReference* _tmp33_ = NULL;
+                                       ValaSourceReference* _tmp34_;
                                        ValaSwitchLabel* _tmp35_;
+                                       ValaSwitchLabel* _tmp36_;
                                        vala_parser_expect (self, VALA_TOKEN_TYPE_DEFAULT, &_inner_error_);
                                        if (_inner_error_ != NULL) {
                                                if (_inner_error_->domain == VALA_PARSE_ERROR) {
@@ -12040,15 +12043,15 @@ static ValaStatement* vala_parser_parse_switch_statement (ValaParser* self, GErr
                                                        return NULL;
                                                }
                                        }
-                                       _tmp30_ = section;
-                                       _tmp31_ = begin;
-                                       _tmp32_ = vala_parser_get_src (self, &_tmp31_);
-                                       _tmp33_ = _tmp32_;
-                                       _tmp34_ = vala_switch_label_new_with_default (_tmp33_);
-                                       _tmp35_ = _tmp34_;
-                                       vala_switch_section_add_label (_tmp30_, _tmp35_);
-                                       _vala_code_node_unref0 (_tmp35_);
-                                       _vala_source_reference_unref0 (_tmp33_);
+                                       _tmp31_ = section;
+                                       _tmp32_ = begin;
+                                       _tmp33_ = vala_parser_get_src (self, &_tmp32_);
+                                       _tmp34_ = _tmp33_;
+                                       _tmp35_ = vala_switch_label_new_with_default (_tmp34_);
+                                       _tmp36_ = _tmp35_;
+                                       vala_switch_section_add_label (_tmp31_, _tmp36_);
+                                       _vala_code_node_unref0 (_tmp36_);
+                                       _vala_source_reference_unref0 (_tmp34_);
                                }
                                vala_parser_expect (self, VALA_TOKEN_TYPE_COLON, &_inner_error_);
                                if (_inner_error_ != NULL) {
@@ -12069,8 +12072,8 @@ static ValaStatement* vala_parser_parse_switch_statement (ValaParser* self, GErr
                                }
                        }
                }
-               _tmp36_ = section;
-               vala_parser_parse_statements (self, (ValaBlock*) _tmp36_, &_inner_error_);
+               _tmp37_ = section;
+               vala_parser_parse_statements (self, (ValaBlock*) _tmp37_, &_inner_error_);
                if (_inner_error_ != NULL) {
                        if (_inner_error_->domain == VALA_PARSE_ERROR) {
                                g_propagate_error (error, _inner_error_);
@@ -12087,9 +12090,9 @@ static ValaStatement* vala_parser_parse_switch_statement (ValaParser* self, GErr
                                return NULL;
                        }
                }
-               _tmp37_ = stmt;
-               _tmp38_ = section;
-               vala_switch_statement_add_section (_tmp37_, _tmp38_);
+               _tmp38_ = stmt;
+               _tmp39_ = section;
+               vala_switch_statement_add_section (_tmp38_, _tmp39_);
                _vala_code_node_unref0 (section);
        }
        vala_parser_expect (self, VALA_TOKEN_TYPE_CLOSE_BRACE, &_inner_error_);
index c2e6280..9f090f3 100644 (file)
@@ -1811,6 +1811,7 @@ public class Vala.Parser : CodeVisitor {
                var stmt = new SwitchStatement (condition, get_src (begin));
                expect (TokenType.OPEN_BRACE);
                while (current () != TokenType.CLOSE_BRACE) {
+                       begin = get_location ();
                        var section = new SwitchSection (get_src (begin));
                        do {
                                if (accept (TokenType.CASE)) {
index d6694a9..a10f765 100644 (file)
@@ -1288,6 +1288,8 @@ ValaSwitchSection* vala_switch_section_construct (GType object_type, ValaSourceR
 ValaBlock* vala_block_new (ValaSourceReference* source_reference);
 ValaBlock* vala_block_construct (GType object_type, ValaSourceReference* source_reference);
 void vala_switch_section_add_label (ValaSwitchSection* self, ValaSwitchLabel* label);
+ValaSourceReference* vala_code_node_get_source_reference (ValaCodeNode* self);
+void vala_code_node_set_source_reference (ValaCodeNode* self, ValaSourceReference* value);
 void vala_switch_label_set_section (ValaSwitchLabel* self, ValaSwitchSection* value);
 ValaList* vala_switch_section_get_labels (ValaSwitchSection* self);
 gboolean vala_switch_section_has_default_label (ValaSwitchSection* self);
@@ -1422,15 +1424,30 @@ ValaSwitchSection* vala_switch_section_new (ValaSourceReference* source_referenc
  */
 void vala_switch_section_add_label (ValaSwitchSection* self, ValaSwitchLabel* label) {
        ValaList* _tmp0_;
-       ValaSwitchLabel* _tmp1_;
-       ValaSwitchLabel* _tmp2_;
+       gint _tmp1_;
+       gint _tmp2_;
+       ValaList* _tmp6_;
+       ValaSwitchLabel* _tmp7_;
+       ValaSwitchLabel* _tmp8_;
        g_return_if_fail (self != NULL);
        g_return_if_fail (label != NULL);
        _tmp0_ = self->priv->labels;
-       _tmp1_ = label;
-       vala_collection_add ((ValaCollection*) _tmp0_, _tmp1_);
-       _tmp2_ = label;
-       vala_switch_label_set_section (_tmp2_, self);
+       _tmp1_ = vala_collection_get_size ((ValaCollection*) _tmp0_);
+       _tmp2_ = _tmp1_;
+       if (_tmp2_ == 0) {
+               ValaSwitchLabel* _tmp3_;
+               ValaSourceReference* _tmp4_;
+               ValaSourceReference* _tmp5_;
+               _tmp3_ = label;
+               _tmp4_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp3_);
+               _tmp5_ = _tmp4_;
+               vala_code_node_set_source_reference ((ValaCodeNode*) self, _tmp5_);
+       }
+       _tmp6_ = self->priv->labels;
+       _tmp7_ = label;
+       vala_collection_add ((ValaCollection*) _tmp6_, _tmp7_);
+       _tmp8_ = label;
+       vala_switch_label_set_section (_tmp8_, self);
 }
 
 
index ce81805..bf9932f 100644 (file)
@@ -44,6 +44,10 @@ public class Vala.SwitchSection : Block {
         * @param label a switch label
         */
        public void add_label (SwitchLabel label) {
+               if (labels.size == 0) {
+                       this.source_reference = label.source_reference;
+               }
+
                labels.add (label);
                label.section = this;
        }
index a0dde4b..1225da6 100644 (file)
@@ -1484,6 +1484,7 @@ static void vala_symbol_resolver_real_visit_return_statement (ValaCodeVisitor* b
 static void vala_symbol_resolver_real_visit_yield_statement (ValaCodeVisitor* base, ValaYieldStatement* stmt);
 static void vala_symbol_resolver_real_visit_throw_statement (ValaCodeVisitor* base, ValaThrowStatement* stmt);
 static void vala_symbol_resolver_real_visit_try_statement (ValaCodeVisitor* base, ValaTryStatement* stmt);
+static void vala_symbol_resolver_real_visit_delete_statement (ValaCodeVisitor* base, ValaDeleteStatement* stmt);
 static void vala_symbol_resolver_real_visit_catch_clause (ValaCodeVisitor* base, ValaCatchClause* clause);
 static void vala_symbol_resolver_real_visit_array_creation_expression (ValaCodeVisitor* base, ValaArrayCreationExpression* e);
 static void vala_symbol_resolver_real_visit_template (ValaCodeVisitor* base, ValaTemplate* tmpl);
@@ -3488,6 +3489,16 @@ static void vala_symbol_resolver_real_visit_try_statement (ValaCodeVisitor* base
 }
 
 
+static void vala_symbol_resolver_real_visit_delete_statement (ValaCodeVisitor* base, ValaDeleteStatement* stmt) {
+       ValaSymbolResolver * self;
+       ValaDeleteStatement* _tmp0_;
+       self = (ValaSymbolResolver*) base;
+       g_return_if_fail (stmt != NULL);
+       _tmp0_ = stmt;
+       vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
+}
+
+
 static void vala_symbol_resolver_real_visit_catch_clause (ValaCodeVisitor* base, ValaCatchClause* clause) {
        ValaSymbolResolver * self;
        ValaCatchClause* _tmp0_;
@@ -3751,6 +3762,7 @@ static void vala_symbol_resolver_class_init (ValaSymbolResolverClass * klass) {
        VALA_CODE_VISITOR_CLASS (klass)->visit_yield_statement = vala_symbol_resolver_real_visit_yield_statement;
        VALA_CODE_VISITOR_CLASS (klass)->visit_throw_statement = vala_symbol_resolver_real_visit_throw_statement;
        VALA_CODE_VISITOR_CLASS (klass)->visit_try_statement = vala_symbol_resolver_real_visit_try_statement;
+       VALA_CODE_VISITOR_CLASS (klass)->visit_delete_statement = vala_symbol_resolver_real_visit_delete_statement;
        VALA_CODE_VISITOR_CLASS (klass)->visit_catch_clause = vala_symbol_resolver_real_visit_catch_clause;
        VALA_CODE_VISITOR_CLASS (klass)->visit_array_creation_expression = vala_symbol_resolver_real_visit_array_creation_expression;
        VALA_CODE_VISITOR_CLASS (klass)->visit_template = vala_symbol_resolver_real_visit_template;
index a269df4..94858e3 100644 (file)
@@ -451,6 +451,10 @@ public class Vala.SymbolResolver : CodeVisitor {
                stmt.accept_children (this);
        }
 
+       public override void visit_delete_statement (DeleteStatement stmt) {
+               stmt.accept_children (this);
+       }
+
        public override void visit_catch_clause (CatchClause clause) {
                clause.accept_children (this);
        }
index d474ac3..5aec616 100644 (file)
@@ -9,6 +9,8 @@ dist_vapi_DATA = \
        alsa.vapi \
        alsa.deps \
        atk.vapi \
+       atspi-2.vapi \
+       atspi-2.deps \
        avahi-client.vapi \
        avahi-gobject.deps \
        avahi-gobject.vapi \
@@ -134,6 +136,8 @@ dist_vapi_DATA = \
        gstreamer-rtp-1.0.deps \
        gstreamer-rtsp-1.0.vapi \
        gstreamer-rtsp-1.0.deps \
+       gstreamer-rtsp-server-1.0.vapi \
+       gstreamer-rtsp-server-1.0.deps \
        gstreamer-sdp-1.0.vapi \
        gstreamer-sdp-1.0.deps \
        gstreamer-tag-1.0.vapi \
@@ -359,12 +363,14 @@ GSTREAMER_1_0_BINDINGS = \
        gstreamer-rtp-1.0 \
        gstreamer-sdp-1.0 \
        gstreamer-rtsp-1.0 \
+       gstreamer-rtsp-server-1.0 \
        gstreamer-tag-1.0 \
        gstreamer-video-1.0 \
        $(NULL)
 
 GIR_BINDINGS = \
        atk \
+       atspi-2 \
        clutter-1.0 \
        cogl-pango \
        gdk-3.0 \
@@ -415,8 +421,11 @@ all-bindings: gir-bindings gidl-bindings
 atk:
        $(GENVAPI) --library $(srcdir)/atk --metadatadir $(METADATADIR) $(METADATADIR)/Atk-1.0-custom.vala $(GIRDIR)/Atk-1.0.gir
 
+atspi-2:
+       $(GENVAPI) --library $(srcdir)/atspi-2 --metadatadir $(METADATADIR) $(GIRDIR)/Atspi-2.0.gir
+
 clutter-1.0:
-       $(GENVAPI) --library $(srcdir)/clutter-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/Clutter-1.0-custom.vala --pkg atk --pkg cairo --pkg pango --pkg cogl-1.0 --pkg json-glib-1.0 $(GIRDIR)/Clutter-1.0.gir
+       $(GENVAPI) --library $(srcdir)/clutter-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/Clutter-1.0-custom.vala --pkg atk --pkg cairo --pkg pango --pkg cogl-1.0 --pkg cogl-pango-1.0 --pkg json-glib-1.0 $(GIRDIR)/Clutter-1.0.gir
 
 clutter-gtk-0.10:
        $(GENVAPI) --library $(srcdir)/clutter-gtk-0.10 $(PACKAGESDIR)/clutter-gtk-0.10/clutter-gtk-0.10.gi
@@ -569,14 +578,17 @@ gstreamer-net-1.0:
        $(GENVAPI) --library $(srcdir)/gstreamer-net-1.0 --pkg gstreamer-1.0 --pkg gio-2.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstNet-1.0.gir
 
 gstreamer-pbutils-1.0:
-       $(GENVAPI) --library $(srcdir)/gstreamer-pbutils-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstPbutils-1.0.gir
+       $(GENVAPI) --library $(srcdir)/gstreamer-pbutils-1.0 --pkg gstreamer-base-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstPbutils-1.0.gir
 
 gstreamer-rtp-1.0:
-       $(GENVAPI) --library $(srcdir)/gstreamer-rtp-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRtp-1.0.gir
+       $(GENVAPI) --library $(srcdir)/gstreamer-rtp-1.0 --pkg gstreamer-base-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRtp-1.0.gir
 
 gstreamer-rtsp-1.0:
        $(GENVAPI) --library $(srcdir)/gstreamer-rtsp-1.0 --pkg gstreamer-sdp-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRtsp-1.0.gir
 
+gstreamer-rtsp-server-1.0:
+       $(GENVAPI) --library $(srcdir)/gstreamer-rtsp-server-1.0 --pkg gstreamer-rtsp-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRtspServer-1.0.gir
+
 gstreamer-sdp-1.0:
        $(GENVAPI) --library $(srcdir)/gstreamer-sdp-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstSdp-1.0.gir
 
@@ -671,7 +683,7 @@ loudmouth-1.0:
        $(GENVAPI) --library $(srcdir)/loudmouth-1.0 $(PACKAGESDIR)/loudmouth-1.0/loudmouth-1.0-custom.vala $(PACKAGESDIR)/loudmouth-1.0/loudmouth-1.0.gi
 
 mx-1.0:
-       $(GENVAPI) --library $(srcdir)/mx-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/Mx-1.0-custom.vala $(GIRDIR)/Mx-1.0.gir
+       $(GENVAPI) --library $(srcdir)/mx-1.0 --metadatadir $(METADATADIR) --pkg clutter-1.0 --pkg cogl-pango-1.0 $(METADATADIR)/Mx-1.0-custom.vala $(GIRDIR)/Mx-1.0.gir
 
 packagekit-glib2:
        $(GENVAPI) --library $(srcdir)/packagekit-glib2 --metadatadir $(METADATADIR) --pkg gio-2.0 $(GIRDIR)/PackageKitGlib-1.0.gir
index b09a14d..e35dcef 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -50,8 +50,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = vapi
-DIST_COMMON = $(dist_noinst_DATA) $(dist_vapi_DATA) \
-       $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(dist_noinst_DATA) $(dist_vapi_DATA)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
        $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -111,6 +111,7 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(vapidir)"
 DATA = $(dist_noinst_DATA) $(dist_vapi_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkgdatadir = @pkgdatadir@
 ACLOCAL = @ACLOCAL@
@@ -257,6 +258,8 @@ dist_vapi_DATA = \
        alsa.vapi \
        alsa.deps \
        atk.vapi \
+       atspi-2.vapi \
+       atspi-2.deps \
        avahi-client.vapi \
        avahi-gobject.deps \
        avahi-gobject.vapi \
@@ -382,6 +385,8 @@ dist_vapi_DATA = \
        gstreamer-rtp-1.0.deps \
        gstreamer-rtsp-1.0.vapi \
        gstreamer-rtsp-1.0.deps \
+       gstreamer-rtsp-server-1.0.vapi \
+       gstreamer-rtsp-server-1.0.deps \
        gstreamer-sdp-1.0.vapi \
        gstreamer-sdp-1.0.deps \
        gstreamer-tag-1.0.vapi \
@@ -607,12 +612,14 @@ GSTREAMER_1_0_BINDINGS = \
        gstreamer-rtp-1.0 \
        gstreamer-sdp-1.0 \
        gstreamer-rtsp-1.0 \
+       gstreamer-rtsp-server-1.0 \
        gstreamer-tag-1.0 \
        gstreamer-video-1.0 \
        $(NULL)
 
 GIR_BINDINGS = \
        atk \
+       atspi-2 \
        clutter-1.0 \
        cogl-pango \
        gdk-3.0 \
@@ -708,11 +715,9 @@ uninstall-dist_vapiDATA:
        @list='$(dist_vapi_DATA)'; test -n "$(vapidir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(vapidir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
 
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
 
 cscope cscopelist:
 
@@ -853,16 +858,17 @@ uninstall-am: uninstall-dist_vapiDATA
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dist_vapiDATA install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am uninstall-dist_vapiDATA
+       cscopelist-am ctags-am distclean distclean-generic \
+       distclean-libtool distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am \
+       install-dist_vapiDATA install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-dist_vapiDATA
 
 
 libvala@PACKAGE_SUFFIX@.vapi: ../gee/gee.vapi ../ccode/ccode.vapi ../vala/vala.vapi ../codegen/codegen.vapi
@@ -881,8 +887,11 @@ all-bindings: gir-bindings gidl-bindings
 atk:
        $(GENVAPI) --library $(srcdir)/atk --metadatadir $(METADATADIR) $(METADATADIR)/Atk-1.0-custom.vala $(GIRDIR)/Atk-1.0.gir
 
+atspi-2:
+       $(GENVAPI) --library $(srcdir)/atspi-2 --metadatadir $(METADATADIR) $(GIRDIR)/Atspi-2.0.gir
+
 clutter-1.0:
-       $(GENVAPI) --library $(srcdir)/clutter-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/Clutter-1.0-custom.vala --pkg atk --pkg cairo --pkg pango --pkg cogl-1.0 --pkg json-glib-1.0 $(GIRDIR)/Clutter-1.0.gir
+       $(GENVAPI) --library $(srcdir)/clutter-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/Clutter-1.0-custom.vala --pkg atk --pkg cairo --pkg pango --pkg cogl-1.0 --pkg cogl-pango-1.0 --pkg json-glib-1.0 $(GIRDIR)/Clutter-1.0.gir
 
 clutter-gtk-0.10:
        $(GENVAPI) --library $(srcdir)/clutter-gtk-0.10 $(PACKAGESDIR)/clutter-gtk-0.10/clutter-gtk-0.10.gi
@@ -1035,14 +1044,17 @@ gstreamer-net-1.0:
        $(GENVAPI) --library $(srcdir)/gstreamer-net-1.0 --pkg gstreamer-1.0 --pkg gio-2.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstNet-1.0.gir
 
 gstreamer-pbutils-1.0:
-       $(GENVAPI) --library $(srcdir)/gstreamer-pbutils-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstPbutils-1.0.gir
+       $(GENVAPI) --library $(srcdir)/gstreamer-pbutils-1.0 --pkg gstreamer-base-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstPbutils-1.0.gir
 
 gstreamer-rtp-1.0:
-       $(GENVAPI) --library $(srcdir)/gstreamer-rtp-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRtp-1.0.gir
+       $(GENVAPI) --library $(srcdir)/gstreamer-rtp-1.0 --pkg gstreamer-base-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRtp-1.0.gir
 
 gstreamer-rtsp-1.0:
        $(GENVAPI) --library $(srcdir)/gstreamer-rtsp-1.0 --pkg gstreamer-sdp-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRtsp-1.0.gir
 
+gstreamer-rtsp-server-1.0:
+       $(GENVAPI) --library $(srcdir)/gstreamer-rtsp-server-1.0 --pkg gstreamer-rtsp-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstRtspServer-1.0.gir
+
 gstreamer-sdp-1.0:
        $(GENVAPI) --library $(srcdir)/gstreamer-sdp-1.0 --pkg gstreamer-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstSdp-1.0.gir
 
@@ -1137,7 +1149,7 @@ loudmouth-1.0:
        $(GENVAPI) --library $(srcdir)/loudmouth-1.0 $(PACKAGESDIR)/loudmouth-1.0/loudmouth-1.0-custom.vala $(PACKAGESDIR)/loudmouth-1.0/loudmouth-1.0.gi
 
 mx-1.0:
-       $(GENVAPI) --library $(srcdir)/mx-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/Mx-1.0-custom.vala $(GIRDIR)/Mx-1.0.gir
+       $(GENVAPI) --library $(srcdir)/mx-1.0 --metadatadir $(METADATADIR) --pkg clutter-1.0 --pkg cogl-pango-1.0 $(METADATADIR)/Mx-1.0-custom.vala $(GIRDIR)/Mx-1.0.gir
 
 packagekit-glib2:
        $(GENVAPI) --library $(srcdir)/packagekit-glib2 --metadatadir $(METADATADIR) --pkg gio-2.0 $(GIRDIR)/PackageKitGlib-1.0.gir
index ff96f28..f7cf43a 100644 (file)
@@ -2,6 +2,10 @@
 
 [CCode (cprefix = "Atk", gir_namespace = "Atk", gir_version = "1.0", lower_case_cprefix = "atk_")]
 namespace Atk {
+       [CCode (cheader_filename = "atk/atk.h")]
+       [Compact]
+       public class AttributeSet : GLib.SList<Atk.Attribute?> {
+       }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_gobject_accessible_get_type ()")]
        public class GObjectAccessible : Atk.Object {
                [CCode (has_construct_function = false)]
@@ -61,7 +65,7 @@ namespace Atk {
                protected Object ();
                public bool add_relationship (Atk.RelationType relationship, Atk.Object target);
                public virtual uint connect_property_change_handler (Atk.PropertyChangeHandler handler);
-               public virtual unowned GLib.SList<Atk.Attribute?> get_attributes ();
+               public virtual unowned Atk.AttributeSet get_attributes ();
                public virtual unowned string get_description ();
                public virtual int get_index_in_parent ();
                [NoWrapper]
@@ -156,7 +160,7 @@ namespace Atk {
        public class Relation : GLib.Object {
                public Atk.RelationType relationship;
                [CCode (has_construct_function = false)]
-               public Relation ([CCode (array_length_cname = "n_targets", array_length_pos = 1.5, type = "AtkObject**")] Atk.Object[] targets, Atk.RelationType relationship);
+               public Relation ([CCode (array_length_cname = "n_targets", array_length_pos = 1.5)] Atk.Object[] targets, Atk.RelationType relationship);
                public void add_target (Atk.Object target);
                public Atk.RelationType get_relation_type ();
                public unowned GLib.GenericArray<Atk.Object> get_target ();
@@ -181,7 +185,7 @@ namespace Atk {
                public void add (Atk.Relation relation);
                public void add_relation_by_type (Atk.RelationType relationship, Atk.Object target);
                public bool contains (Atk.RelationType relationship);
-               public bool contains_target (Atk.RelationType relationship, Atk.Object targe);
+               public bool contains_target (Atk.RelationType relationship, Atk.Object target);
                public int get_n_relations ();
                public unowned Atk.Relation get_relation (int i);
                public unowned Atk.Relation get_relation_by_type (Atk.RelationType relationship);
@@ -201,17 +205,17 @@ namespace Atk {
                [CCode (has_construct_function = false)]
                public StateSet ();
                public bool add_state (Atk.StateType type);
-               public void add_states ([CCode (array_length_cname = "n_types", array_length_pos = 1.1, type = "AtkStateType*")] Atk.StateType[] types);
+               public void add_states ([CCode (array_length_cname = "n_types", array_length_pos = 1.1)] Atk.StateType[] types);
                public Atk.StateSet and_sets (Atk.StateSet compare_set);
                public void clear_states ();
                public bool contains_state (Atk.StateType type);
-               public bool contains_states ([CCode (array_length_cname = "n_types", array_length_pos = 1.1, type = "AtkStateType*")] Atk.StateType[] types);
+               public bool contains_states ([CCode (array_length_cname = "n_types", array_length_pos = 1.1)] Atk.StateType[] types);
                public bool is_empty ();
                public Atk.StateSet or_sets (Atk.StateSet compare_set);
                public bool remove_state (Atk.StateType type);
                public Atk.StateSet xor_sets (Atk.StateSet compare_set);
        }
-       [CCode (cheader_filename = "atk/atk.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", has_destroy_function = false, type_id = "atk_text_range_get_type ()")]
+       [CCode (cheader_filename = "atk/atk.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "atk_text_range_get_type ()")]
        [Compact]
        public class TextRange {
                public Atk.TextRectangle bounds;
@@ -226,7 +230,7 @@ namespace Atk {
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_add_focus_tracker")]
                public static uint add_focus_tracker (Atk.EventListener focus_tracker);
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_add_global_event_listener")]
-               public static uint add_global_event_listener (GLib.SignalEmissionHook listener, string event_type);
+               public static uint add_global_event_listener ([CCode (type = "GSignalEmissionHook")] Atk.SignalEmissionHook listener, string event_type);
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_add_key_event_listener")]
                public static uint add_key_event_listener (Atk.KeySnoopFunc listener);
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_focus_tracker_init")]
@@ -283,9 +287,9 @@ namespace Atk {
                [CCode (vfunc_name = "get_document_attribute_value")]
                public virtual unowned string get_attribute_value (string attribute_name);
                [CCode (vfunc_name = "get_document_attributes")]
-               public virtual unowned GLib.SList<Atk.Attribute?> get_attributes ();
-               public abstract void* get_document ();
-               public abstract unowned string get_document_type ();
+               public virtual unowned Atk.AttributeSet get_attributes ();
+               public virtual void* get_document ();
+               public virtual unowned string get_document_type ();
                [CCode (vfunc_name = "get_document_locale")]
                public virtual unowned string get_locale ();
                [CCode (vfunc_name = "set_document_attribute")]
@@ -301,7 +305,7 @@ namespace Atk {
                public abstract void delete_text (int start_pos, int end_pos);
                public abstract void insert_text (string string, int length, int position);
                public abstract void paste_text (int position);
-               public abstract bool set_run_attributes ([CCode (type = "AtkAttributeSet*")] GLib.SList<Atk.Attribute?> attrib_set, int start_offset, int end_offset);
+               public abstract bool set_run_attributes (Atk.AttributeSet attrib_set, int start_offset, int end_offset);
                public abstract void set_text_contents (string string);
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_hyperlink_impl_get_type ()")]
@@ -395,18 +399,18 @@ namespace Atk {
                public static unowned string attribute_get_value (Atk.TextAttribute attr, int index_);
                [Deprecated (replacement = "TextAttribute.register", since = "vala-0.16")]
                public static Atk.TextAttribute attribute_register (string name);
-               public static void free_ranges ([CCode (array_length = false, type = "AtkTextRange**")] Atk.TextRange[] ranges);
+               public static void free_ranges ([CCode (array_length = false)] Atk.TextRange[] ranges);
                [CCode (array_length = false, array_null_terminated = true)]
                public virtual Atk.TextRange[] get_bounded_ranges (Atk.TextRectangle rect, Atk.CoordType coord_type, Atk.TextClipType x_clip_type, Atk.TextClipType y_clip_type);
                public abstract int get_caret_offset ();
                public abstract unichar get_character_at_offset (int offset);
                public abstract int get_character_count ();
                public abstract void get_character_extents (int offset, int x, int y, int width, int height, Atk.CoordType coords);
-               public abstract GLib.SList<Atk.Attribute?> get_default_attributes ();
+               public abstract Atk.AttributeSet get_default_attributes ();
                public abstract int get_n_selections ();
                public abstract int get_offset_at_point (int x, int y, Atk.CoordType coords);
                public abstract void get_range_extents (int start_offset, int end_offset, Atk.CoordType coord_type, Atk.TextRectangle rect);
-               public abstract GLib.SList<Atk.Attribute?> get_run_attributes (int offset, out int start_offset, out int end_offset);
+               public abstract Atk.AttributeSet get_run_attributes (int offset, out int start_offset, out int end_offset);
                public abstract string get_selection (int selection_num, out int start_offset, out int end_offset);
                public abstract string get_text (int start_offset, int end_offset);
                public abstract string get_text_after_offset (int offset, Atk.TextBoundary boundary_type, out int start_offset, out int end_offset);
@@ -443,7 +447,7 @@ namespace Atk {
                public signal void resize ();
                public signal void restore ();
        }
-       [CCode (cheader_filename = "atk/atk.h", has_destroy_function = false)]
+       [CCode (cheader_filename = "atk/atk.h", has_type_id = false)]
        public struct Attribute {
                public string name;
                public string value;
@@ -646,6 +650,7 @@ namespace Atk {
                IMAGE_MAP,
                NOTIFICATION,
                INFO_BAR,
+               LEVEL_BAR,
                LAST_DEFINED;
                [CCode (cheader_filename = "atk/atk.h")]
                public static Atk.Role for_name (string name);
@@ -768,12 +773,24 @@ namespace Atk {
        public delegate void EventListenerInit ();
        [CCode (cheader_filename = "atk/atk.h", has_target = false)]
        public delegate void FocusHandler (Atk.Object arg0, bool arg1);
-       [CCode (cheader_filename = "atk/atk.h")]
+       [CCode (cheader_filename = "atk/atk.h", instance_pos = 0.9)]
        public delegate bool Function ();
-       [CCode (cheader_filename = "atk/atk.h")]
+       [CCode (cheader_filename = "atk/atk.h", instance_pos = 1.9)]
        public delegate int KeySnoopFunc (Atk.KeyEventStruct event);
        [CCode (cheader_filename = "atk/atk.h", has_target = false)]
-       public delegate void PropertyChangeHandler (Atk.Object Param1, Atk.PropertyValues Param2);
+       public delegate void PropertyChangeHandler (Atk.Object obj, Atk.PropertyValues vals);
+       [CCode (cheader_filename = "atk/atk.h", cname = "GSignalEmissionHook", has_target = false)]
+       public delegate bool SignalEmissionHook (GLib.SignalInvocationHint ihint, [CCode (array_length_pos = 1.9)] Atk.Value[] param_values, void* data);
+       [CCode (cheader_filename = "atk/atk.h", cname = "ATK_BINARY_AGE")]
+       public const int BINARY_AGE;
+       [CCode (cheader_filename = "atk/atk.h", cname = "ATK_INTERFACE_AGE")]
+       public const int INTERFACE_AGE;
+       [CCode (cheader_filename = "atk/atk.h", cname = "ATK_MAJOR_VERSION")]
+       public const int MAJOR_VERSION;
+       [CCode (cheader_filename = "atk/atk.h", cname = "ATK_MICRO_VERSION")]
+       public const int MICRO_VERSION;
+       [CCode (cheader_filename = "atk/atk.h", cname = "ATK_MINOR_VERSION")]
+       public const int MINOR_VERSION;
        [CCode (cheader_filename = "atk/atk.h")]
        [Deprecated (replacement = "Atk.Util.add_focus_tracker", since = "vala-0.16")]
        public static uint add_focus_tracker (Atk.EventListener focus_tracker);
@@ -787,12 +804,22 @@ namespace Atk {
        [Deprecated (replacement = "Atk.Util.focus_tracker_notify", since = "vala-0.16")]
        public static void focus_tracker_notify (Atk.Object object);
        [CCode (cheader_filename = "atk/atk.h")]
+       public static uint get_binary_age ();
+       [CCode (cheader_filename = "atk/atk.h")]
        [Deprecated (replacement = "Atk.Registry.get_default.", since = "vala-0.16")]
        public static unowned Atk.Registry get_default_registry ();
        [CCode (cheader_filename = "atk/atk.h")]
        [Deprecated (replacement = "Atk.Util.get_focus_object", since = "vala-0.16")]
        public static unowned Atk.Object get_focus_object ();
        [CCode (cheader_filename = "atk/atk.h")]
+       public static uint get_interface_age ();
+       [CCode (cheader_filename = "atk/atk.h")]
+       public static uint get_major_version ();
+       [CCode (cheader_filename = "atk/atk.h")]
+       public static uint get_micro_version ();
+       [CCode (cheader_filename = "atk/atk.h")]
+       public static uint get_minor_version ();
+       [CCode (cheader_filename = "atk/atk.h")]
        [Deprecated (replacement = "Atk.Util.get_root", since = "vala-0.16")]
        public static unowned Atk.Object get_root ();
        [CCode (cheader_filename = "atk/atk.h")]
diff --git a/vapi/atspi-2.deps b/vapi/atspi-2.deps
new file mode 100644 (file)
index 0000000..17d0e97
--- /dev/null
@@ -0,0 +1,2 @@
+glib-2.0
+
diff --git a/vapi/atspi-2.vapi b/vapi/atspi-2.vapi
new file mode 100644 (file)
index 0000000..914e62d
--- /dev/null
@@ -0,0 +1,802 @@
+/* atspi-2.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Atspi", gir_namespace = "Atspi", gir_version = "2.0", lower_case_cprefix = "atspi_")]
+namespace Atspi {
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_accessible_get_type ()")]
+       public class Accessible : Atspi.Object, Atspi.Action, Atspi.Collection, Atspi.Component, Atspi.Document, Atspi.EditableText, Atspi.Hypertext, Atspi.Image, Atspi.Selection, Atspi.Table, Atspi.Text, Atspi.Value {
+               public weak Atspi.Accessible accessible_parent;
+               public weak GLib.HashTable<void*,void*> attributes;
+               public uint cached_properties;
+               public weak GLib.List<void*> children;
+               public weak string description;
+               public int interfaces;
+               public weak string name;
+               public Atspi.Role role;
+               public weak Atspi.StateSet states;
+               [CCode (has_construct_function = false)]
+               protected Accessible ();
+               public void clear_cache ();
+               public Atspi.Action get_action ();
+               public Atspi.Accessible get_application () throws GLib.Error;
+               public string get_atspi_version () throws GLib.Error;
+               public GLib.HashTable<string,string> get_attributes () throws GLib.Error;
+               public GLib.Array<string> get_attributes_as_array () throws GLib.Error;
+               public Atspi.Accessible get_child_at_index (int child_index) throws GLib.Error;
+               public int get_child_count () throws GLib.Error;
+               public Atspi.Collection get_collection ();
+               public Atspi.Component get_component ();
+               public string get_description () throws GLib.Error;
+               public Atspi.Document get_document ();
+               public Atspi.EditableText get_editable_text ();
+               public Atspi.Hyperlink get_hyperlink ();
+               public Atspi.Hypertext get_hypertext ();
+               public int get_id () throws GLib.Error;
+               public Atspi.Image get_image ();
+               public int get_index_in_parent () throws GLib.Error;
+               public GLib.Array<string> get_interfaces ();
+               public string get_localized_role_name () throws GLib.Error;
+               public string get_name () throws GLib.Error;
+               public Atspi.Accessible get_parent () throws GLib.Error;
+               public uint get_process_id () throws GLib.Error;
+               public GLib.Array<Atspi.Accessible> get_relation_set () throws GLib.Error;
+               public Atspi.Role get_role () throws GLib.Error;
+               public string get_role_name () throws GLib.Error;
+               public Atspi.Selection get_selection ();
+               public Atspi.StateSet get_state_set ();
+               public Atspi.Table get_table ();
+               public Atspi.Text get_text ();
+               public string get_toolkit_name () throws GLib.Error;
+               public string get_toolkit_version () throws GLib.Error;
+               public Atspi.Value get_value ();
+               public void set_cache_mask (int mask);
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_device_listener_get_type ()")]
+       public class DeviceListener : GLib.Object {
+               public weak GLib.List<void*> callbacks;
+               public uint id;
+               [CCode (has_construct_function = false)]
+               public DeviceListener (owned Atspi.DeviceListenerCB callback);
+               public void add_callback ([CCode (delegate_target_pos = 1.2, destroy_notify_pos = 1.1)] owned Atspi.DeviceListenerCB callback);
+               [NoWrapper]
+               public virtual bool device_event (Atspi.DeviceEvent arg0);
+               public void remove_callback (Atspi.DeviceListenerCB callback);
+               [CCode (has_construct_function = false)]
+               public DeviceListener.simple ([CCode (destroy_notify_pos = 1.1)] owned Atspi.DeviceListenerSimpleCB callback);
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "atspi_event_get_type ()")]
+       [Compact]
+       public class Event {
+               public GLib.Value any_data;
+               public int detail1;
+               public int detail2;
+               public weak Atspi.Accessible source;
+               public weak string type;
+               public static void main ();
+               public static void quit ();
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_event_listener_get_type ()")]
+       public class EventListener : GLib.Object {
+               public weak Atspi.EventListenerCB callback;
+               public weak GLib.DestroyNotify cb_destroyed;
+               public void* user_data;
+               [CCode (has_construct_function = false)]
+               public EventListener (owned Atspi.EventListenerCB callback);
+               public bool deregister (string event_type) throws GLib.Error;
+               public static bool deregister_from_callback ([CCode (delegate_target_pos = 1.5)] Atspi.EventListenerCB callback, string event_type) throws GLib.Error;
+               public static bool deregister_no_data (Atspi.EventListenerSimpleCB callback, string event_type) throws GLib.Error;
+               public bool register (string event_type) throws GLib.Error;
+               public static bool register_from_callback ([CCode (delegate_target_pos = 1.33333, destroy_notify_pos = 1.66667)] owned Atspi.EventListenerCB callback, string event_type) throws GLib.Error;
+               public static bool register_no_data ([CCode (destroy_notify_pos = 1.5)] owned Atspi.EventListenerSimpleCB callback, string event_type) throws GLib.Error;
+               [CCode (has_construct_function = false)]
+               public EventListener.simple ([CCode (destroy_notify_pos = 1.1)] owned Atspi.EventListenerSimpleCB callback);
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_hyperlink_get_type ()")]
+       public class Hyperlink : Atspi.Object {
+               [CCode (has_construct_function = false)]
+               protected Hyperlink ();
+               public int get_end_index () throws GLib.Error;
+               public Atspi.Range get_index_range () throws GLib.Error;
+               public int get_n_anchors () throws GLib.Error;
+               public Atspi.Accessible get_object (int i) throws GLib.Error;
+               public int get_start_index () throws GLib.Error;
+               public string get_uri (int i) throws GLib.Error;
+               public bool is_valid () throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "atspi_key_definition_get_type ()")]
+       [Compact]
+       public class KeyDefinition {
+               public int keycode;
+               public weak string keystring;
+               public int keysym;
+               public int unused;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_match_rule_get_type ()")]
+       public class MatchRule : GLib.Object {
+               public Atspi.CollectionMatchType attributematchtype;
+               public weak GLib.HashTable<void*,void*> attributes;
+               public Atspi.CollectionMatchType interfacematchtype;
+               public weak GLib.Array<void*> interfaces;
+               public bool invert;
+               public Atspi.CollectionMatchType rolematchtype;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak int[] roles;
+               public Atspi.CollectionMatchType statematchtype;
+               public weak Atspi.StateSet states;
+               [CCode (has_construct_function = false)]
+               public MatchRule (Atspi.StateSet states, Atspi.CollectionMatchType statematchtype, GLib.HashTable<string,string> attributes, Atspi.CollectionMatchType attributematchtype, GLib.Array<Atspi.Role> roles, Atspi.CollectionMatchType rolematchtype, GLib.Array<string> interfaces, Atspi.CollectionMatchType interfacematchtype, bool invert);
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_object_get_type ()")]
+       public class Object : GLib.Object {
+               public Atspi.Application app;
+               public weak string path;
+               [CCode (has_construct_function = false)]
+               protected Object ();
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "atspi_point_get_type ()")]
+       [Compact]
+       public class Point {
+               public int x;
+               public int y;
+               public Atspi.Point copy ();
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "atspi_range_get_type ()")]
+       [Compact]
+       public class Range {
+               public int end_offset;
+               public int start_offset;
+               public Atspi.Range copy ();
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "atspi_rect_get_type ()")]
+       [Compact]
+       public class Rect {
+               public int height;
+               public int width;
+               public int x;
+               public int y;
+               public Atspi.Rect copy ();
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_relation_get_type ()")]
+       public class Relation : GLib.Object {
+               public Atspi.RelationType relation_type;
+               public weak GLib.Array<void*> targets;
+               [CCode (has_construct_function = false)]
+               protected Relation ();
+               public int get_n_targets ();
+               public Atspi.RelationType get_relation_type ();
+               public Atspi.Accessible get_target (int i);
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_state_set_get_type ()")]
+       public class StateSet : GLib.Object {
+               public void* accessible;
+               public int64 states;
+               [CCode (has_construct_function = false)]
+               public StateSet (GLib.Array<Atspi.StateType> states);
+               public void add (Atspi.StateType state);
+               public Atspi.StateSet compare (Atspi.StateSet set2);
+               public bool contains (Atspi.StateType state);
+               public bool equals (Atspi.StateSet set2);
+               public GLib.Array<Atspi.StateType> get_states ();
+               public bool is_empty ();
+               public void remove (Atspi.StateType state);
+               public void set_by_name (string name, bool enabled);
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "atspi_text_range_get_type ()")]
+       [Compact]
+       public class TextRange {
+               public weak string content;
+               public int end_offset;
+               public int start_offset;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_action_get_type ()")]
+       public interface Action : GLib.Object {
+               public bool do_action (int i) throws GLib.Error;
+               public string get_description (int i) throws GLib.Error;
+               public string get_key_binding (int i) throws GLib.Error;
+               public string get_localized_name (int i) throws GLib.Error;
+               public int get_n_actions () throws GLib.Error;
+               public string get_name (int i) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_collection_get_type ()")]
+       public interface Collection : GLib.Object {
+               public GLib.Array<Atspi.Accessible> get_matches (Atspi.MatchRule rule, Atspi.CollectionSortOrder sortby, int count, bool traverse) throws GLib.Error;
+               public GLib.Array<Atspi.Accessible> get_matches_from (Atspi.Accessible current_object, Atspi.MatchRule rule, Atspi.CollectionSortOrder sortby, Atspi.CollectionTreeTraversalType tree, int count, bool traverse) throws GLib.Error;
+               public GLib.Array<Atspi.Accessible> get_matches_to (Atspi.Accessible current_object, Atspi.MatchRule rule, Atspi.CollectionSortOrder sortby, Atspi.CollectionTreeTraversalType tree, bool limit_scope, int count, bool traverse) throws GLib.Error;
+               public bool is_ancestor_of (Atspi.Accessible test) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_component_get_type ()")]
+       public interface Component : GLib.Object {
+               public bool contains (int x, int y, Atspi.CoordType ctype) throws GLib.Error;
+               public Atspi.Accessible get_accessible_at_point (int x, int y, Atspi.CoordType ctype) throws GLib.Error;
+               public double get_alpha () throws GLib.Error;
+               public Atspi.Rect get_extents (Atspi.CoordType ctype) throws GLib.Error;
+               public Atspi.ComponentLayer get_layer () throws GLib.Error;
+               public short get_mdi_z_order () throws GLib.Error;
+               public Atspi.Point get_position (Atspi.CoordType ctype) throws GLib.Error;
+               public Atspi.Point get_size () throws GLib.Error;
+               public bool grab_focus () throws GLib.Error;
+               public bool set_extents (int x, int y, int width, int height, Atspi.CoordType ctype) throws GLib.Error;
+               public bool set_position (int x, int y, Atspi.CoordType ctype) throws GLib.Error;
+               public bool set_size (int width, int height) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_document_get_type ()")]
+       public interface Document : GLib.Object {
+               public string get_attribute_value (string attribute) throws GLib.Error;
+               public GLib.HashTable<string,string> get_attributes () throws GLib.Error;
+               public string get_locale () throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_editable_text_get_type ()")]
+       public interface EditableText : GLib.Object {
+               public bool copy_text (int start_pos, int end_pos) throws GLib.Error;
+               public bool cut_text (int start_pos, int end_pos) throws GLib.Error;
+               public bool delete_text (int start_pos, int end_pos) throws GLib.Error;
+               public bool insert_text (int position, string text, int length) throws GLib.Error;
+               public bool paste_text (int position) throws GLib.Error;
+               public bool set_text_contents (string new_contents) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_hypertext_get_type ()")]
+       public interface Hypertext : GLib.Object {
+               public Atspi.Hyperlink get_link (int link_index) throws GLib.Error;
+               public int get_link_index (int character_offset) throws GLib.Error;
+               public int get_n_links () throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_image_get_type ()")]
+       public interface Image : GLib.Object {
+               public string get_image_description () throws GLib.Error;
+               public Atspi.Rect get_image_extents (Atspi.CoordType ctype) throws GLib.Error;
+               public string get_image_locale () throws GLib.Error;
+               public Atspi.Point get_image_position (Atspi.CoordType ctype) throws GLib.Error;
+               public Atspi.Point get_image_size () throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_selection_get_type ()")]
+       public interface Selection : GLib.Object {
+               public bool clear_selection () throws GLib.Error;
+               public bool deselect_child (int child_index) throws GLib.Error;
+               public bool deselect_selected_child (int selected_child_index) throws GLib.Error;
+               public int get_n_selected_children () throws GLib.Error;
+               public Atspi.Accessible get_selected_child (int selected_child_index) throws GLib.Error;
+               public bool is_child_selected (int child_index) throws GLib.Error;
+               public bool select_all () throws GLib.Error;
+               public bool select_child (int child_index) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_table_get_type ()")]
+       public interface Table : GLib.Object {
+               public bool add_column_selection (int column) throws GLib.Error;
+               public bool add_row_selection (int row) throws GLib.Error;
+               public Atspi.Accessible get_accessible_at (int row, int column) throws GLib.Error;
+               public Atspi.Accessible get_caption () throws GLib.Error;
+               public int get_column_at_index (int index) throws GLib.Error;
+               public string get_column_description (int column) throws GLib.Error;
+               public int get_column_extent_at (int row, int column) throws GLib.Error;
+               public Atspi.Accessible get_column_header (int column) throws GLib.Error;
+               public int get_index_at (int row, int column) throws GLib.Error;
+               public int get_n_columns () throws GLib.Error;
+               public int get_n_rows () throws GLib.Error;
+               public int get_n_selected_columns () throws GLib.Error;
+               public int get_n_selected_rows () throws GLib.Error;
+               public int get_row_at_index (int index) throws GLib.Error;
+               public bool get_row_column_extents_at_index (int index, out int row, out int col, out int row_extents, out int col_extents, out bool is_selected) throws GLib.Error;
+               public string get_row_description (int row) throws GLib.Error;
+               public int get_row_extent_at (int row, int column) throws GLib.Error;
+               public Atspi.Accessible get_row_header (int row) throws GLib.Error;
+               public GLib.Array<int> get_selected_columns () throws GLib.Error;
+               public GLib.Array<int> get_selected_rows () throws GLib.Error;
+               public Atspi.Accessible get_summary () throws GLib.Error;
+               public bool is_column_selected (int column) throws GLib.Error;
+               public bool is_row_selected (int row) throws GLib.Error;
+               public bool is_selected (int row, int column) throws GLib.Error;
+               public bool remove_column_selection (int column) throws GLib.Error;
+               public bool remove_row_selection (int row) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_text_get_type ()")]
+       public interface Text : GLib.Object {
+               public bool add_selection (int start_offset, int end_offset) throws GLib.Error;
+               public GLib.HashTable<string,string> get_attribute_run (int offset, bool include_defaults, out int start_offset, out int end_offset) throws GLib.Error;
+               public string get_attribute_value (int offset, string attribute_name) throws GLib.Error;
+               public GLib.HashTable<string,string> get_attributes (int offset, out int start_offset, out int end_offset) throws GLib.Error;
+               public GLib.Array<Atspi.TextRange> get_bounded_ranges (int x, int y, int width, int height, Atspi.CoordType type, Atspi.TextClipType clipTypeX, Atspi.TextClipType clipTypeY) throws GLib.Error;
+               public int get_caret_offset () throws GLib.Error;
+               public uint get_character_at_offset (int offset) throws GLib.Error;
+               public int get_character_count () throws GLib.Error;
+               public Atspi.Rect get_character_extents (int offset, Atspi.CoordType type) throws GLib.Error;
+               public GLib.HashTable<string,string> get_default_attributes () throws GLib.Error;
+               public int get_n_selections () throws GLib.Error;
+               public int get_offset_at_point (int x, int y, Atspi.CoordType type) throws GLib.Error;
+               public Atspi.Rect get_range_extents (int start_offset, int end_offset, Atspi.CoordType type) throws GLib.Error;
+               public Atspi.Range get_selection (int selection_num) throws GLib.Error;
+               public string get_text (int start_offset, int end_offset) throws GLib.Error;
+               public Atspi.TextRange get_text_after_offset (int offset, Atspi.TextBoundaryType type) throws GLib.Error;
+               public Atspi.TextRange get_text_at_offset (int offset, Atspi.TextBoundaryType type) throws GLib.Error;
+               public Atspi.TextRange get_text_before_offset (int offset, Atspi.TextBoundaryType type) throws GLib.Error;
+               public bool remove_selection (int selection_num) throws GLib.Error;
+               public bool set_caret_offset (int new_offset) throws GLib.Error;
+               public bool set_selection (int selection_num, int start_offset, int end_offset) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_value_get_type ()")]
+       public interface Value : GLib.Object {
+               public double get_current_value () throws GLib.Error;
+               public double get_maximum_value () throws GLib.Error;
+               public double get_minimum_increment () throws GLib.Error;
+               public double get_minimum_value () throws GLib.Error;
+               public bool set_current_value (double new_value) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", has_type_id = false)]
+       public struct Application {
+               public weak GLib.Object parent;
+               public weak GLib.HashTable<void*,void*> hash;
+               public weak string bus_name;
+               public void* root;
+               public Atspi.Cache cache;
+               public weak string toolkit_name;
+               public weak string toolkit_version;
+               public weak string atspi_version;
+               public void* time_added;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", has_type_id = false)]
+       public struct ApplicationClass {
+               public weak GLib.ObjectClass parent_class;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       [SimpleType]
+       public struct ControllerEventMask : uint {
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", has_type_id = false)]
+       public struct DeviceEvent {
+               public Atspi.EventType type;
+               public uint id;
+               public ushort hw_code;
+               public ushort modifiers;
+               public uint timestamp;
+               public weak string event_string;
+               public bool is_text;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       [SimpleType]
+       public struct DeviceEventMask : uint {
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", has_type_id = false)]
+       public struct EventListenerMode {
+               public bool synchronous;
+               public bool preemptive;
+               public bool global;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       [SimpleType]
+       public struct KeyEventMask : uint {
+       }
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       [SimpleType]
+       public struct KeyMaskType : uint {
+       }
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       [SimpleType]
+       public struct KeystrokeListener {
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", has_type_id = false)]
+       public struct Reference {
+               public weak string name;
+               public weak string path;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "_AtspiKeySet", has_type_id = false)]
+       public struct _KeySet {
+               public uint keysyms;
+               public ushort keycodes;
+               public weak string keystrings;
+               public short len;
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_CACHE_", has_type_id = false)]
+       [Flags]
+       public enum Cache {
+               NONE,
+               PARENT,
+               CHILDREN,
+               NAME,
+               DESCRIPTION,
+               STATES,
+               ROLE,
+               INTERFACES,
+               ATTRIBUTES,
+               ALL,
+               DEFAULT,
+               UNDEFINED
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_Collection_MATCH_", has_type_id = false)]
+       public enum CollectionMatchType {
+               INVALID,
+               ALL,
+               ANY,
+               NONE,
+               EMPTY,
+               LAST_DEFINED
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_Collection_SORT_ORDER_", has_type_id = false)]
+       public enum CollectionSortOrder {
+               INVALID,
+               CANONICAL,
+               FLOW,
+               TAB,
+               REVERSE_CANONICAL,
+               REVERSE_FLOW,
+               REVERSE_TAB,
+               LAST_DEFINED
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_Collection_TREE_", has_type_id = false)]
+       public enum CollectionTreeTraversalType {
+               RESTRICT_CHILDREN,
+               RESTRICT_SIBLING,
+               INORDER,
+               LAST_DEFINED
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_LAYER_", has_type_id = false)]
+       public enum ComponentLayer {
+               INVALID,
+               BACKGROUND,
+               CANVAS,
+               WIDGET,
+               MDI,
+               POPUP,
+               OVERLAY,
+               WINDOW,
+               LAST_DEFINED
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_COORD_TYPE_", has_type_id = false)]
+       public enum CoordType {
+               SCREEN,
+               WINDOW
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_ERROR_", has_type_id = false)]
+       public enum Error {
+               APPLICATION_GONE,
+               IPC
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_", has_type_id = false)]
+       public enum EventType {
+               KEY_PRESSED_EVENT,
+               KEY_RELEASED_EVENT,
+               BUTTON_PRESSED_EVENT,
+               BUTTON_RELEASED_EVENT
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_KEY_", has_type_id = false)]
+       public enum KeyEventType {
+               PRESSED,
+               RELEASED
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_KEYLISTENER_", has_type_id = false)]
+       public enum KeyListenerSyncType {
+               NOSYNC,
+               SYNCHRONOUS,
+               CANCONSUME,
+               ALL_WINDOWS
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_KEY_", has_type_id = false)]
+       public enum KeySynthType {
+               PRESS,
+               RELEASE,
+               PRESSRELEASE,
+               SYM,
+               STRING
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_LOCALE_TYPE_", has_type_id = false)]
+       public enum LocaleType {
+               MESSAGES,
+               COLLATE,
+               CTYPE,
+               MONETARY,
+               NUMERIC,
+               TIME
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_MODIFIER_", has_type_id = false)]
+       public enum ModifierType {
+               SHIFT,
+               SHIFTLOCK,
+               CONTROL,
+               ALT,
+               META,
+               META2,
+               META3,
+               NUMLOCK
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_RELATION_", has_type_id = false)]
+       public enum RelationType {
+               NULL,
+               LABEL_FOR,
+               LABELLED_BY,
+               CONTROLLER_FOR,
+               CONTROLLED_BY,
+               MEMBER_OF,
+               TOOLTIP_FOR,
+               NODE_CHILD_OF,
+               NODE_PARENT_OF,
+               EXTENDED,
+               FLOWS_TO,
+               FLOWS_FROM,
+               SUBWINDOW_OF,
+               EMBEDS,
+               EMBEDDED_BY,
+               POPUP_FOR,
+               PARENT_WINDOW_OF,
+               DESCRIPTION_FOR,
+               DESCRIBED_BY,
+               LAST_DEFINED
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_ROLE_", has_type_id = false)]
+       public enum Role {
+               INVALID,
+               ACCELERATOR_LABEL,
+               ALERT,
+               ANIMATION,
+               ARROW,
+               CALENDAR,
+               CANVAS,
+               CHECK_BOX,
+               CHECK_MENU_ITEM,
+               COLOR_CHOOSER,
+               COLUMN_HEADER,
+               COMBO_BOX,
+               DATE_EDITOR,
+               DESKTOP_ICON,
+               DESKTOP_FRAME,
+               DIAL,
+               DIALOG,
+               DIRECTORY_PANE,
+               DRAWING_AREA,
+               FILE_CHOOSER,
+               FILLER,
+               FOCUS_TRAVERSABLE,
+               FONT_CHOOSER,
+               FRAME,
+               GLASS_PANE,
+               HTML_CONTAINER,
+               ICON,
+               IMAGE,
+               INTERNAL_FRAME,
+               LABEL,
+               LAYERED_PANE,
+               LIST,
+               LIST_ITEM,
+               MENU,
+               MENU_BAR,
+               MENU_ITEM,
+               OPTION_PANE,
+               PAGE_TAB,
+               PAGE_TAB_LIST,
+               PANEL,
+               PASSWORD_TEXT,
+               POPUP_MENU,
+               PROGRESS_BAR,
+               PUSH_BUTTON,
+               RADIO_BUTTON,
+               RADIO_MENU_ITEM,
+               ROOT_PANE,
+               ROW_HEADER,
+               SCROLL_BAR,
+               SCROLL_PANE,
+               SEPARATOR,
+               SLIDER,
+               SPIN_BUTTON,
+               SPLIT_PANE,
+               STATUS_BAR,
+               TABLE,
+               TABLE_CELL,
+               TABLE_COLUMN_HEADER,
+               TABLE_ROW_HEADER,
+               TEAROFF_MENU_ITEM,
+               TERMINAL,
+               TEXT,
+               TOGGLE_BUTTON,
+               TOOL_BAR,
+               TOOL_TIP,
+               TREE,
+               TREE_TABLE,
+               UNKNOWN,
+               VIEWPORT,
+               WINDOW,
+               EXTENDED,
+               HEADER,
+               FOOTER,
+               PARAGRAPH,
+               RULER,
+               APPLICATION,
+               AUTOCOMPLETE,
+               EDITBAR,
+               EMBEDDED,
+               ENTRY,
+               CHART,
+               CAPTION,
+               DOCUMENT_FRAME,
+               HEADING,
+               PAGE,
+               SECTION,
+               REDUNDANT_OBJECT,
+               FORM,
+               LINK,
+               INPUT_METHOD_WINDOW,
+               TABLE_ROW,
+               TREE_ITEM,
+               DOCUMENT_SPREADSHEET,
+               DOCUMENT_PRESENTATION,
+               DOCUMENT_TEXT,
+               DOCUMENT_WEB,
+               DOCUMENT_EMAIL,
+               COMMENT,
+               LIST_BOX,
+               GROUPING,
+               IMAGE_MAP,
+               NOTIFICATION,
+               INFO_BAR,
+               LEVEL_BAR,
+               LAST_DEFINED;
+               public static string get_name (Atspi.Role role);
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_STATE_", has_type_id = false)]
+       public enum StateType {
+               INVALID,
+               ACTIVE,
+               ARMED,
+               BUSY,
+               CHECKED,
+               COLLAPSED,
+               DEFUNCT,
+               EDITABLE,
+               ENABLED,
+               EXPANDABLE,
+               EXPANDED,
+               FOCUSABLE,
+               FOCUSED,
+               HAS_TOOLTIP,
+               HORIZONTAL,
+               ICONIFIED,
+               MODAL,
+               MULTI_LINE,
+               MULTISELECTABLE,
+               OPAQUE,
+               PRESSED,
+               RESIZABLE,
+               SELECTABLE,
+               SELECTED,
+               SENSITIVE,
+               SHOWING,
+               SINGLE_LINE,
+               STALE,
+               TRANSIENT,
+               VERTICAL,
+               VISIBLE,
+               MANAGES_DESCENDANTS,
+               INDETERMINATE,
+               REQUIRED,
+               TRUNCATED,
+               ANIMATED,
+               INVALID_ENTRY,
+               SUPPORTS_AUTOCOMPLETION,
+               SELECTABLE_TEXT,
+               IS_DEFAULT,
+               VISITED,
+               LAST_DEFINED
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_TEXT_BOUNDARY_", has_type_id = false)]
+       public enum TextBoundaryType {
+               CHAR,
+               WORD_START,
+               WORD_END,
+               SENTENCE_START,
+               SENTENCE_END,
+               LINE_START,
+               LINE_END
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_TEXT_CLIP_", has_type_id = false)]
+       public enum TextClipType {
+               NONE,
+               MIN,
+               MAX,
+               BOTH
+       }
+       [CCode (cheader_filename = "atspi/atspi.h", instance_pos = 1.9)]
+       public delegate bool DeviceListenerCB (owned Atspi.DeviceEvent stroke);
+       [CCode (cheader_filename = "atspi/atspi.h", has_target = false)]
+       public delegate bool DeviceListenerSimpleCB (owned Atspi.DeviceEvent stroke);
+       [CCode (cheader_filename = "atspi/atspi.h", instance_pos = 1.9)]
+       public delegate void EventListenerCB (owned Atspi.Event event);
+       [CCode (cheader_filename = "atspi/atspi.h", has_target = false)]
+       public delegate void EventListenerSimpleCB (owned Atspi.Event event);
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_COMPONENTLAYER_COUNT")]
+       public const int COMPONENTLAYER_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_COORD_TYPE_COUNT")]
+       public const int COORD_TYPE_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_ACCESSIBLE")]
+       public const string DBUS_INTERFACE_ACCESSIBLE;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_ACTION")]
+       public const string DBUS_INTERFACE_ACTION;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_APPLICATION")]
+       public const string DBUS_INTERFACE_APPLICATION;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_CACHE")]
+       public const string DBUS_INTERFACE_CACHE;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_COLLECTION")]
+       public const string DBUS_INTERFACE_COLLECTION;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_COMPONENT")]
+       public const string DBUS_INTERFACE_COMPONENT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_DEC")]
+       public const string DBUS_INTERFACE_DEC;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_DEVICE_EVENT_LISTENER")]
+       public const string DBUS_INTERFACE_DEVICE_EVENT_LISTENER;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_DOCUMENT")]
+       public const string DBUS_INTERFACE_DOCUMENT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_EDITABLE_TEXT")]
+       public const string DBUS_INTERFACE_EDITABLE_TEXT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_EVENT_KEYBOARD")]
+       public const string DBUS_INTERFACE_EVENT_KEYBOARD;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_EVENT_MOUSE")]
+       public const string DBUS_INTERFACE_EVENT_MOUSE;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_EVENT_OBJECT")]
+       public const string DBUS_INTERFACE_EVENT_OBJECT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_HYPERLINK")]
+       public const string DBUS_INTERFACE_HYPERLINK;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_HYPERTEXT")]
+       public const string DBUS_INTERFACE_HYPERTEXT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_IMAGE")]
+       public const string DBUS_INTERFACE_IMAGE;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_REGISTRY")]
+       public const string DBUS_INTERFACE_REGISTRY;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_SELECTION")]
+       public const string DBUS_INTERFACE_SELECTION;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_SOCKET")]
+       public const string DBUS_INTERFACE_SOCKET;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_TABLE")]
+       public const string DBUS_INTERFACE_TABLE;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_TEXT")]
+       public const string DBUS_INTERFACE_TEXT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_INTERFACE_VALUE")]
+       public const string DBUS_INTERFACE_VALUE;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_NAME_REGISTRY")]
+       public const string DBUS_NAME_REGISTRY;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_PATH_DEC")]
+       public const string DBUS_PATH_DEC;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_PATH_NULL")]
+       public const string DBUS_PATH_NULL;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_PATH_REGISTRY")]
+       public const string DBUS_PATH_REGISTRY;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_DBUS_PATH_ROOT")]
+       public const string DBUS_PATH_ROOT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_EVENTTYPE_COUNT")]
+       public const int EVENTTYPE_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_KEYEVENTTYPE_COUNT")]
+       public const int KEYEVENTTYPE_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_KEYSYNTHTYPE_COUNT")]
+       public const int KEYSYNTHTYPE_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_MATCHTYPES_COUNT")]
+       public const int MATCHTYPES_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_MODIFIERTYPE_COUNT")]
+       public const int MODIFIERTYPE_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_RELATIONTYPE_COUNT")]
+       public const int RELATIONTYPE_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_ROLE_COUNT")]
+       public const int ROLE_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_SORTORDER_COUNT")]
+       public const int SORTORDER_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_STATETYPE_COUNT")]
+       public const int STATETYPE_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_TEXT_BOUNDARY_TYPE_COUNT")]
+       public const int TEXT_BOUNDARY_TYPE_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h", cname = "ATSPI_TEXT_CLIP_TYPE_COUNT")]
+       public const int TEXT_CLIP_TYPE_COUNT;
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static bool deregister_device_event_listener (Atspi.DeviceListener listener, void* filter) throws GLib.Error;
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static bool deregister_keystroke_listener (Atspi.DeviceListener listener, GLib.Array<Atspi.KeyDefinition>? key_set, Atspi.KeyMaskType modmask, Atspi.KeyEventMask event_types) throws GLib.Error;
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static int exit ();
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static bool generate_keyboard_event (long keyval, string? keystring, Atspi.KeySynthType synth_type) throws GLib.Error;
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static bool generate_mouse_event (long x, long y, string name) throws GLib.Error;
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static Atspi.Accessible get_desktop (int i);
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static int get_desktop_count ();
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static int init ();
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static bool register_device_event_listener (Atspi.DeviceListener listener, Atspi.DeviceEventMask event_types, void* filter) throws GLib.Error;
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static bool register_keystroke_listener (Atspi.DeviceListener listener, GLib.Array<Atspi.KeyDefinition>? key_set, Atspi.KeyMaskType modmask, Atspi.KeyEventMask event_types, int sync_type) throws GLib.Error;
+       [CCode (cheader_filename = "atspi/atspi.h")]
+       public static void set_timeout (int val, int startup_time);
+}
index 6604ed1..e0f89d3 100644 (file)
@@ -4606,7 +4606,7 @@ namespace Clutter {
                [CCode (array_length_pos = 1.1, array_length_type = "gsize", cheader_filename = "clutter/clutter.h")]
                public static unowned float[] get_shader_matrix (GLib.Value value);
                [CCode (cheader_filename = "clutter/clutter.h")]
-               public static Clutter.Units get_units (GLib.Value value);
+               public static unowned Clutter.Units? get_units (GLib.Value value);
                [CCode (cheader_filename = "clutter/clutter.h")]
                public static void set_color (GLib.Value value, Clutter.Color color);
                [CCode (cheader_filename = "clutter/clutter.h")]
@@ -4725,7 +4725,7 @@ namespace Clutter {
                public float get_height ();
                public unowned Clutter.Actor get_last_child ();
                public unowned Clutter.LayoutManager get_layout_manager ();
-               public void get_margin (out unowned Clutter.Margin margin);
+               public void get_margin (Clutter.Margin margin);
                public float get_margin_bottom ();
                public float get_margin_left ();
                public float get_margin_right ();
@@ -5442,7 +5442,7 @@ namespace Clutter {
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_bin_layout_get_type ()")]
        public class BinLayout : Clutter.LayoutManager {
                [CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
-               public BinLayout (Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
+               public BinLayout (Clutter.BinAlignment x_align = Clutter.BinAlignment.START, Clutter.BinAlignment y_align = Clutter.BinAlignment.START);
                [Deprecated (since = "1.12")]
                public void add (Clutter.Actor child, Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
                [Deprecated (since = "1.12")]
@@ -5739,7 +5739,7 @@ namespace Clutter {
        public class DragAction : Clutter.Action {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public DragAction ();
-               public bool get_drag_area (out unowned Clutter.Rect drag_area);
+               public bool get_drag_area (Clutter.Rect drag_area);
                public Clutter.DragAxis get_drag_axis ();
                public unowned Clutter.Actor get_drag_handle ();
                public void get_drag_threshold (out uint x_threshold, out uint y_threshold);
@@ -5899,14 +5899,15 @@ namespace Clutter {
                [NoWrapper]
                public virtual bool gesture_prepare (Clutter.Actor actor);
                public unowned Clutter.InputDevice get_device (uint point);
-               public void get_motion_coords (uint device, out float motion_x, out float motion_y);
-               public float get_motion_delta (uint device, out float delta_x, out float delta_y);
+               public unowned Clutter.Event get_last_event (uint point);
+               public void get_motion_coords (uint point, out float motion_x, out float motion_y);
+               public float get_motion_delta (uint point, out float delta_x, out float delta_y);
                public uint get_n_current_points ();
                public int get_n_touch_points ();
-               public void get_press_coords (uint device, out float press_x, out float press_y);
-               public void get_release_coords (uint device, out float release_x, out float release_y);
+               public void get_press_coords (uint point, out float press_x, out float press_y);
+               public void get_release_coords (uint point, out float release_x, out float release_y);
                public unowned Clutter.EventSequence get_sequence (uint point);
-               public float get_velocity (uint device, out float velocity_x, out float velocity_y);
+               public float get_velocity (uint point, out float velocity_x, out float velocity_y);
                public void set_n_touch_points (int nb_points);
                public virtual signal bool gesture_begin (Clutter.Actor actor);
                public virtual signal void gesture_cancel (Clutter.Actor actor);
@@ -5967,7 +5968,7 @@ namespace Clutter {
                public unowned Clutter.InputDevice get_associated_device ();
                public Clutter.InputAxis get_axis (uint index_);
                public bool get_axis_value ([CCode (array_length = false)] double[] axes, Clutter.InputAxis axis, out double value);
-               public bool get_coords (Clutter.EventSequence? sequence, out unowned Clutter.Point point);
+               public bool get_coords (Clutter.EventSequence? sequence, Clutter.Point point);
                [Deprecated (since = "1.12")]
                public void get_device_coords (out int x, out int y);
                public int get_device_id ();
@@ -6014,15 +6015,15 @@ namespace Clutter {
                [CCode (has_construct_function = false)]
                public Interval (GLib.Type gtype, ...);
                public Clutter.Interval clone ();
-               public GLib.Value compute (double factor);
+               public unowned GLib.Value? compute (double factor);
                public virtual bool compute_value (double factor, out GLib.Value value);
                public GLib.Value get_final_value ();
                public GLib.Value get_initial_value ();
                public void get_interval (...);
                public GLib.Type get_value_type ();
                public bool is_valid ();
-               public GLib.Value peek_final_value ();
-               public GLib.Value peek_initial_value ();
+               public unowned GLib.Value? peek_final_value ();
+               public unowned GLib.Value? peek_initial_value ();
                public static void register_progress_func (GLib.Type value_type, Clutter.ProgressFunc func);
                public void set_final (...);
                public void set_final_value (GLib.Value value);
@@ -6223,7 +6224,9 @@ namespace Clutter {
                public double get_deceleration ();
                public bool get_interpolate ();
                public void get_interpolated_coords (out float interpolated_x, out float interpolated_y);
-               public void get_interpolated_delta (out float delta_x, out float delta_y);
+               public float get_interpolated_delta (out float delta_x, out float delta_y);
+               public void get_motion_coords (uint point, out float motion_x, out float motion_y);
+               public float get_motion_delta (uint point, out float delta_x, out float delta_y);
                public Clutter.PanAxis get_pan_axis ();
                public void set_acceleration_factor (double factor);
                public void set_deceleration (double rate);
@@ -6324,17 +6327,17 @@ namespace Clutter {
                public Clutter.Rect copy ();
                public bool equals (Clutter.Rect b);
                public void free ();
-               public void get_center (out unowned Clutter.Point center);
+               public void get_center (Clutter.Point center);
                public float get_height ();
                public float get_width ();
                public float get_x ();
                public float get_y ();
                public unowned Clutter.Rect init (float x, float y, float width, float height);
                public void inset (float d_x, float d_y);
-               public bool intersection (Clutter.Rect b, out unowned Clutter.Rect res);
+               public bool intersection (Clutter.Rect b, Clutter.Rect? res);
                public Clutter.Rect normalize ();
                public void offset (float d_x, float d_y);
-               public void union (Clutter.Rect b, out unowned Clutter.Rect res);
+               public void union (Clutter.Rect b, Clutter.Rect res);
                public static unowned Clutter.Rect zero ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_rectangle_get_type ()")]
@@ -6715,7 +6718,9 @@ namespace Clutter {
        public class SwipeAction : Clutter.GestureAction {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public SwipeAction ();
+               [Deprecated (since = "1.14")]
                public virtual signal void swept (Clutter.Actor actor, Clutter.SwipeDirection direction);
+               public virtual signal bool swipe (Clutter.Actor actor, Clutter.SwipeDirection direction);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_table_layout_get_type ()")]
        public class TableLayout : Clutter.LayoutManager {
@@ -6761,6 +6766,12 @@ namespace Clutter {
                [Deprecated (since = "1.12")]
                public bool use_animations { get; set; }
        }
+       [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_tap_action_get_type ()")]
+       public class TapAction : Clutter.GestureAction {
+               [CCode (has_construct_function = false, type = "ClutterAction*")]
+               public TapAction ();
+               public virtual signal void tap (Clutter.Actor actor);
+       }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_get_type ()")]
        public class Text : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
@@ -6979,7 +6990,7 @@ namespace Clutter {
                [Deprecated (since = "1.10")]
                public Clutter.Timeline clone ();
                public bool get_auto_reverse ();
-               public bool get_cubic_bezier_progress (out unowned Clutter.Point c_1, out unowned Clutter.Point c_2);
+               public bool get_cubic_bezier_progress (Clutter.Point c_1, Clutter.Point c_2);
                public int get_current_repeat ();
                public uint get_delay ();
                public uint get_delta ();
@@ -7071,8 +7082,8 @@ namespace Clutter {
        public class ZoomAction : Clutter.GestureAction {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public ZoomAction ();
-               public void get_focal_point (out unowned Clutter.Point point);
-               public void get_transformed_focal_point (out unowned Clutter.Point point);
+               public void get_focal_point (Clutter.Point point);
+               public void get_transformed_focal_point (Clutter.Point point);
                public Clutter.ZoomAxis get_zoom_axis ();
                public void set_zoom_axis (Clutter.ZoomAxis axis);
                public Clutter.ZoomAxis zoom_axis { get; set; }
@@ -7230,10 +7241,10 @@ namespace Clutter {
                public float y1;
                public float x2;
                public float y2;
-               public static Clutter.ActorBox alloc ();
+               public static Clutter.ActorBox? alloc ();
                public void clamp_to_pixel ();
                public bool contains (float x, float y);
-               public Clutter.ActorBox copy ();
+               public Clutter.ActorBox? copy ();
                public bool equal (Clutter.ActorBox box_b);
                public void free ();
                [CCode (cname = "clutter_actor_box_from_vertices")]
@@ -7245,7 +7256,7 @@ namespace Clutter {
                public float get_width ();
                public float get_x ();
                public float get_y ();
-               public Clutter.ActorBox init (float x_1, float y_1, float x_2, float y_2);
+               public unowned Clutter.ActorBox? init (float x_1, float y_1, float x_2, float y_2);
                public void init_rect (float x, float y, float width, float height);
                public Clutter.ActorBox interpolate (Clutter.ActorBox final, double progress);
                public void set_origin (float x, float y);
@@ -7291,8 +7302,8 @@ namespace Clutter {
                public uint8 blue;
                public uint8 alpha;
                public Clutter.Color add (Clutter.Color b);
-               public static Clutter.Color alloc ();
-               public Clutter.Color copy ();
+               public static Clutter.Color? alloc ();
+               public Clutter.Color? copy ();
                public Clutter.Color darken ();
                public bool equal (Clutter.Color v2);
                public void free ();
@@ -7302,9 +7313,9 @@ namespace Clutter {
                public Color.from_pixel (uint32 pixel);
                [CCode (cname = "clutter_color_from_string")]
                public Color.from_string (string str);
-               public static Clutter.Color get_static (Clutter.StaticColor color);
+               public static unowned Clutter.Color? get_static (Clutter.StaticColor color);
                public uint hash ();
-               public Clutter.Color init (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+               public unowned Clutter.Color? init (uint8 red, uint8 green, uint8 blue, uint8 alpha);
                public Clutter.Color interpolate (Clutter.Color final, double progress);
                public Clutter.Color lighten ();
                [CCode (cname = "clutter_color_from_string")]
@@ -7359,18 +7370,18 @@ namespace Clutter {
        public struct Knot {
                public int x;
                public int y;
-               public Clutter.Knot copy ();
+               public Clutter.Knot? copy ();
                public bool equal (Clutter.Knot knot_b);
                public void free ();
        }
        [CCode (cheader_filename = "clutter/clutter.h")]
        public struct Matrix : Cogl.Matrix {
-               public static Clutter.Matrix alloc ();
+               public static Clutter.Matrix? alloc ();
                public static void free (Clutter.Matrix? matrix);
                public static GLib.Type get_type ();
-               public static Clutter.Matrix init_from_array (Clutter.Matrix matrix, [CCode (array_length = false)] float[] values);
-               public static Clutter.Matrix init_from_matrix (Clutter.Matrix a, Clutter.Matrix b);
-               public static Clutter.Matrix init_identity (Clutter.Matrix matrix);
+               public static unowned Clutter.Matrix? init_from_array (Clutter.Matrix matrix, [CCode (array_length = false)] float[] values);
+               public static unowned Clutter.Matrix? init_from_matrix (Clutter.Matrix a, Clutter.Matrix b);
+               public static unowned Clutter.Matrix? init_identity (Clutter.Matrix matrix);
        }
        [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
        public struct MotionEvent {
@@ -7390,7 +7401,7 @@ namespace Clutter {
                public Clutter.PathNodeType type;
                [CCode (array_length = false, array_null_terminated = true)]
                public weak Clutter.Knot[] points;
-               public Clutter.PathNode copy ();
+               public Clutter.PathNode? copy ();
                public bool equal (Clutter.PathNode node_b);
                public void free ();
        }
@@ -7441,7 +7452,7 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "CLUTTER_TYPE_UNITS")]
        public struct Units {
-               public Clutter.Units copy ();
+               public Clutter.Units? copy ();
                public void free ();
                [CCode (cname = "clutter_units_from_cm")]
                public Units.from_cm (float cm);
@@ -7467,11 +7478,11 @@ namespace Clutter {
                public float x;
                public float y;
                public float z;
-               public static Clutter.Vertex alloc ();
-               public Clutter.Vertex copy ();
+               public static Clutter.Vertex? alloc ();
+               public Clutter.Vertex? copy ();
                public bool equal (Clutter.Vertex vertex_b);
                public void free ();
-               public Clutter.Vertex init (float x, float y, float z);
+               public unowned Clutter.Vertex? init (float x, float y, float z);
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ACTOR_ALIGN_", type_id = "clutter_actor_align_get_type ()")]
        public enum ActorAlign {
@@ -7547,12 +7558,15 @@ namespace Clutter {
                ANIMATION_LAST
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_BIN_ALIGNMENT_", type_id = "clutter_bin_alignment_get_type ()")]
-       [Deprecated (since = "1.12")]
        public enum BinAlignment {
+               [Deprecated]
                FIXED,
+               [Deprecated]
                FILL,
                START,
+               [Deprecated]
                END,
+               [Deprecated]
                CENTER
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_BIND_", type_id = "clutter_bind_coordinate_get_type ()")]
@@ -8036,10 +8050,12 @@ namespace Clutter {
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 3.9)]
        public delegate double TimelineProgressFunc (Clutter.Timeline timeline, double elapsed, double total);
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_COGL")]
+       [Deprecated (since = "1.10")]
        public const string COGL;
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_CURRENT_TIME")]
        public const int CURRENT_TIME;
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_FLAVOUR")]
+       [Deprecated (since = "1.10")]
        public const string FLAVOUR;
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_MAJOR_VERSION")]
        public const int MAJOR_VERSION;
index 7481e98..1040945 100644 (file)
@@ -18,6 +18,9 @@ namespace GtkClutter {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Embed ();
                public unowned Clutter.Actor get_stage ();
+               public bool get_use_layout_size ();
+               public void set_use_layout_size (bool use_layout_size);
+               public bool use_layout_size { get; set construct; }
        }
        [CCode (cheader_filename = "clutter-gtk/clutter-gtk.h", type_id = "gtk_clutter_texture_get_type ()")]
        public class Texture : Clutter.Texture, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
index 6bf0faf..09f1664 100644 (file)
@@ -30,8 +30,18 @@ namespace Curses {
        public const int COLORS;
        public const int COLOR_PAIRS;
 
-       public enum Color {
-               BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE
+       [SimpleType]
+       [CCode (cname = "short", has_type_id = false, default_value = "0")]
+       [IntegerType (rank = 4, min = -32768, max = 32767)]
+       public struct Color : short {
+               public const Curses.Color BLACK;
+               public const Curses.Color RED;
+               public const Curses.Color GREEN;
+               public const Curses.Color YELLOW;
+               public const Curses.Color BLUE;
+               public const Curses.Color MAGENTA;
+               public const Curses.Color CYAN;
+               public const Curses.Color WHITE;
        }
 
        public enum Acs {
@@ -221,6 +231,8 @@ namespace Curses {
                [CCode (cname = "wprintw")]
                [PrintfLike]
                public int printw(string str, ...);
+               [CCode (cname = "vw_printw")]
+               public int vprintw(string str, va_list args);
                [CCode (cname = "wredrawln")]
                public int redrawln(int beg_line, int num_lines);
                [CCode (cname = "wrefresh")]
@@ -228,6 +240,8 @@ namespace Curses {
                [CCode (cname = "wscanw")]
                [PrintfLike]
                public int scanw(string str, ...);
+               [CCode (cname = "vw_scanw")]
+               public int vscanw(string str, va_list args);
                [CCode (cname = "wscrl")]
                public int scrl(int n);
                [CCode (cname = "wsetscrreg")]
@@ -418,7 +432,6 @@ namespace Curses {
        public delegate int VidputsPutcFunc(char ch);
        public int vidputs(ulong attrs, VidputsPutcFunc putc);
        public int vline(ulong ch, int n);
-       /* no vwprintw, vw_printw, vwscanw, vw_scanw - va_list */
 
        [CCode (cprefix = "A_")]
        public enum Attribute {
index 466a1d8..7da4616 100644 (file)
@@ -4923,6 +4923,7 @@ namespace Gdk {
                public Gdk.EventMask get_events ();
                public bool get_focus_on_map ();
                public void get_frame_extents (out Gdk.Rectangle rect);
+               public Gdk.FullscreenMode get_fullscreen_mode ();
                public void get_geometry (out int x, out int y, out int width, out int height);
                public unowned Gdk.Window get_group ();
                public int get_height ();
@@ -4990,6 +4991,7 @@ namespace Gdk {
                public void set_device_events (Gdk.Device device, Gdk.EventMask event_mask);
                public void set_events (Gdk.EventMask event_mask);
                public void set_focus_on_map (bool focus_on_map);
+               public void set_fullscreen_mode (Gdk.FullscreenMode mode);
                public void set_functions (Gdk.WMFunction functions);
                public void set_geometry_hints (Gdk.Geometry geometry, Gdk.WindowHints geom_mask);
                public void set_group (Gdk.Window? leader);
@@ -5047,7 +5049,7 @@ namespace Gdk {
                public uint16 red;
                public uint16 green;
                public uint16 blue;
-               public Gdk.Color copy ();
+               public Gdk.Color? copy ();
                public bool equal (Gdk.Color colorb);
                public void free ();
                public uint hash ();
@@ -5292,7 +5294,7 @@ namespace Gdk {
                public double green;
                public double blue;
                public double alpha;
-               public Gdk.RGBA copy ();
+               public Gdk.RGBA? copy ();
                public bool equal (Gdk.RGBA p2);
                public void free ();
                public uint hash ();
@@ -5545,6 +5547,11 @@ namespace Gdk {
                TRANSLATE,
                REMOVE
        }
+       [CCode (cheader_filename = "gdk/gdk.h", cprefix = "GDK_FULLSCREEN_ON_", type_id = "gdk_fullscreen_mode_get_type ()")]
+       public enum FullscreenMode {
+               CURRENT_MONITOR,
+               ALL_MONITORS
+       }
        [CCode (cheader_filename = "gdk/gdk.h", cprefix = "GDK_OWNERSHIP_", type_id = "gdk_grab_ownership_get_type ()")]
        public enum GrabOwnership {
                NONE,
@@ -5945,7 +5952,7 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void pre_parse_libgtk_only ();
        [CCode (cheader_filename = "gdk/gdk.h")]
-       public static void property_change (Gdk.Window window, Gdk.Atom property, Gdk.Atom type, int format, Gdk.PropMode mode, [CCode (array_length_cname = "nelements", array_length_pos = 6.1, type = "const guchar*")] uint8[] data);
+       public static void property_change (Gdk.Window window, Gdk.Atom property, Gdk.Atom type, int format, Gdk.PropMode mode, [CCode (array_length = false, type = "const guchar*")] uint8[] data, int nelements);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void property_delete (Gdk.Window window, Gdk.Atom property);
        [CCode (cheader_filename = "gdk/gdk.h")]
index f740764..660b4b0 100644 (file)
@@ -94,6 +94,12 @@ namespace Gdk {
                protected PixbufAnimation ();
                [CCode (has_construct_function = false)]
                public PixbufAnimation.from_file (string filename) throws GLib.Error;
+               [CCode (has_construct_function = false)]
+               public PixbufAnimation.from_resource (string resource_path) throws GLib.Error;
+               [CCode (has_construct_function = false)]
+               public PixbufAnimation.from_stream (GLib.InputStream stream, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [CCode (cname = "gdk_pixbuf_animation_new_from_stream_async", has_construct_function = false)]
+               public async PixbufAnimation.from_stream_async (GLib.InputStream stream, GLib.Cancellable? cancellable) throws GLib.Error;
                public int get_height ();
                public Gdk.PixbufAnimationIter get_iter (GLib.TimeVal? start_time);
                public unowned Gdk.Pixbuf get_static_image ();
index 5ecf6c1..5ab8d23 100644 (file)
@@ -4,12 +4,22 @@
 namespace Gdl {
        [CCode (cheader_filename = "gdl/gdl.h", type_id = "gdl_dock_get_type ()")]
        public class Dock : Gdl.DockObject, Atk.Implementor, Gtk.Buildable {
-               public weak Gdl.DockObject root;
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Dock ();
                public void add_floating_item (Gdl.DockItem item, int x, int y, int width, int height);
-               public void add_item (Gdl.DockItem item, Gdl.DockPlacement place);
+               public void add_item (Gdl.DockItem item, Gdl.DockPlacement placement);
+               public unowned Gdl.DockItem get_item_by_name (string name);
+               public GLib.List<weak Gdl.DockObject> get_named_items ();
+               [Deprecated (since = "3.6")]
+               public unowned Gdl.DockPlaceholder get_placeholder_by_name (string name);
+               public unowned Gdl.DockObject get_root ();
+               public void hide_preview ();
+               public Gtk.Widget new_from (bool floating);
+               public void set_skip_taskbar (bool skip);
+               public void show_preview (Gdk.Rectangle rect);
+               [Deprecated (since = "3.6")]
                public void xor_rect (Gdk.Rectangle rect);
+               [Deprecated (since = "3.6")]
                public void xor_rect_hide ();
                [NoAccessorMethod]
                public string default_title { owned get; set; }
@@ -22,46 +32,61 @@ namespace Gdl {
                [NoAccessorMethod]
                public int height { get; set construct; }
                [NoAccessorMethod]
+               public bool skip_taskbar { get; set construct; }
+               [NoAccessorMethod]
                public int width { get; set construct; }
                public virtual signal void layout_changed ();
        }
        [CCode (cheader_filename = "gdl/gdl.h", type_id = "gdl_dock_bar_get_type ()")]
        public class DockBar : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
-               public weak Gdl.Dock dock;
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public DockBar (Gdl.Dock dock);
+               public DockBar (GLib.Object? master);
+               [Deprecated (since = "3.6")]
                public Gtk.Orientation get_orientation ();
                public Gdl.DockBarStyle get_style ();
+               [Deprecated (since = "3.6")]
                public void set_orientation (Gtk.Orientation orientation);
                public void set_style (Gdl.DockBarStyle style);
                [NoAccessorMethod]
                public Gdl.DockBarStyle dockbar_style { get; set construct; }
                [NoAccessorMethod]
-               public Gdl.DockMaster master { owned get; set; }
+               public GLib.Object master { owned get; set; }
        }
        [CCode (cheader_filename = "gdl/gdl.h", type_id = "gdl_dock_item_get_type ()")]
        public class DockItem : Gdl.DockObject, Atk.Implementor, Gtk.Buildable {
-               public weak Gtk.Widget child;
-               public int dragoff_x;
-               public int dragoff_y;
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public DockItem (string name, string long_name, Gdl.DockItemBehavior behavior);
                public void bind (Gtk.Widget dock);
                public void dock_to (Gdl.DockItem? target, Gdl.DockPlacement position, int docking_param);
+               public Gdl.DockItemBehavior get_behavior_flags ();
+               public unowned Gtk.Widget get_child ();
+               public void get_drag_area (Gdk.Rectangle rect);
+               public unowned Gtk.Widget get_grip ();
+               public Gtk.Orientation get_orientation ();
+               public unowned Gtk.Widget get_tablabel ();
                public void hide_grip ();
                public void hide_item ();
                public void iconify_item ();
+               public bool is_closed ();
+               public bool is_iconified ();
+               public bool is_placeholder ();
                public void @lock ();
                public void notify_deselected ();
                public void notify_selected ();
+               public bool or_child_has_focus ();
                public void preferred_size (Gtk.Requisition req);
+               public void set_behavior_flags (Gdl.DockItemBehavior behavior, bool clear);
+               public void set_child (Gtk.Widget? child);
                public void set_default_position (Gdl.DockObject reference);
+               [CCode (cname = "gdl_dock_item_class_set_has_grip")]
+               public class void set_has_grip (bool has_grip);
                public virtual void set_orientation (Gtk.Orientation orientation);
                public void set_tablabel (Gtk.Widget tablabel);
                public void show_grip ();
                public void show_item ();
                public void unbind ();
                public void unlock ();
+               public void unset_behavior_flags (Gdl.DockItemBehavior behavior);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public DockItem.with_pixbuf_icon (string name, string long_name, Gdk.Pixbuf pixbuf_icon, Gdl.DockItemBehavior behavior);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
@@ -69,8 +94,11 @@ namespace Gdl {
                [NoAccessorMethod]
                public Gdl.DockItemBehavior behavior { get; set; }
                [NoAccessorMethod]
-               public bool locked { get; set; }
+               public bool closed { get; set; }
                [NoAccessorMethod]
+               public bool iconified { get; set; }
+               [NoAccessorMethod]
+               public bool locked { get; set; }
                public Gtk.Orientation orientation { get; set construct; }
                [NoAccessorMethod]
                public int preferred_height { get; set; }
@@ -81,7 +109,8 @@ namespace Gdl {
                public signal void deselected ();
                public virtual signal void dock_drag_begin ();
                public virtual signal void dock_drag_end (bool cancelled);
-               public virtual signal void dock_drag_motion (int x, int y);
+               public virtual signal void dock_drag_motion (Gdk.Device device, int x, int y);
+               public virtual signal void move_focus_child (Gtk.DirectionType direction);
                public signal void selected ();
        }
        [CCode (cheader_filename = "gdl/gdl.h", type_id = "gdl_dock_item_button_image_get_type ()")]
@@ -92,10 +121,11 @@ namespace Gdl {
        }
        [CCode (cheader_filename = "gdl/gdl.h", type_id = "gdl_dock_item_grip_get_type ()")]
        public class DockItemGrip : Gtk.Container, Atk.Implementor, Gtk.Buildable {
-               public weak Gdk.Window title_window;
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public DockItemGrip (Gdl.DockItem item);
+               public bool has_event (Gdk.Event event);
                public void hide_handle ();
+               public void set_cursor (bool in_drag);
                public void set_label (Gtk.Widget label);
                public void show_handle ();
                public Gdl.DockItem item { construct; }
@@ -103,28 +133,31 @@ namespace Gdl {
        [CCode (cheader_filename = "gdl/gdl.h", type_id = "gdl_dock_layout_get_type ()")]
        public class DockLayout : GLib.Object {
                [CCode (has_construct_function = false)]
-               public DockLayout (Gdl.Dock dock);
+               public DockLayout (GLib.Object master);
                public void attach (Gdl.DockMaster master);
                public void delete_layout (string name);
+               public GLib.List<string> get_layouts (bool include_default);
+               public unowned GLib.Object get_master ();
                public bool is_dirty ();
                public bool load_from_file (string filename);
-               public bool load_layout (string name);
-               public void save_layout (string name);
+               public bool load_layout (string? name);
+               public void save_layout (string? name);
                public bool save_to_file (string filename);
+               public void set_master (GLib.Object master);
                [NoAccessorMethod]
                public bool dirty { get; }
-               [NoAccessorMethod]
-               public Gdl.DockMaster master { owned get; set; }
+               public GLib.Object master { get; set; }
        }
        [CCode (cheader_filename = "gdl/gdl.h", type_id = "gdl_dock_master_get_type ()")]
        public class DockMaster : GLib.Object {
-               public weak Gdl.DockObject controller;
-               public int dock_number;
-               public weak GLib.HashTable<void*,void*> dock_objects;
-               public weak GLib.List<void*> toplevel_docks;
                [CCode (has_construct_function = false)]
                protected DockMaster ();
                public void add (Gdl.DockObject object);
+               public void @foreach (GLib.Func function);
+               public void foreach_toplevel (bool include_controller, GLib.Func function);
+               public unowned Gdl.DockObject get_controller ();
+               public string get_dock_name ();
+               public unowned Gdl.DockObject get_object (string nick_name);
                public void remove (Gdl.DockObject object);
                public void set_controller (Gdl.DockObject new_controller);
                [NoAccessorMethod]
@@ -144,35 +177,46 @@ namespace Gdl {
        }
        [CCode (cheader_filename = "gdl/gdl.h", type_id = "gdl_dock_object_get_type ()")]
        public class DockObject : Gtk.Container, Atk.Implementor, Gtk.Buildable {
-               public Gdl.DockObjectFlags flags;
-               public int freeze_count;
-               public bool reduce_pending;
+               public Gdl.DockObjectFlags deprecated_flags;
+               public weak GLib.Object deprecated_master;
                [CCode (has_construct_function = false)]
                protected DockObject ();
                public void bind (GLib.Object master);
-               public virtual bool child_placement (Gdl.DockObject child, Gdl.DockPlacement placement);
+               public virtual bool child_placement (Gdl.DockObject child, Gdl.DockPlacement? placement);
                public virtual bool dock_request (int x, int y, Gdl.DockRequest request);
                public void freeze ();
+               public unowned Gdl.DockObject get_controller ();
+               public unowned string get_long_name ();
+               public unowned GLib.Object get_master ();
+               public unowned Gdl.DockObject get_parent_object ();
+               public unowned Gdk.Pixbuf get_pixbuf ();
+               public unowned string get_stock_id ();
+               public unowned Gdl.Dock get_toplevel ();
+               public bool is_automatic ();
                public bool is_bound ();
+               public bool is_closed ();
                public bool is_compound ();
+               public bool is_frozen ();
+               public void layout_changed_notify ();
                public static unowned string nick_from_type (GLib.Type type);
-               public virtual void present (Gdl.DockObject child);
+               public virtual void present (Gdl.DockObject? child);
                public virtual void reduce ();
-               public virtual bool reorder (Gdl.DockObject child, Gdl.DockPlacement new_position, GLib.Value other_data);
+               public virtual bool reorder (Gdl.DockObject child, Gdl.DockPlacement new_position, GLib.Value? other_data);
+               public void set_long_name (string name);
+               public void set_manual ();
+               public void set_pixbuf (Gdk.Pixbuf? icon);
+               public void set_stock_id (string stock_id);
                public static GLib.Type set_type_for_nick (string nick, GLib.Type type);
                public void thaw ();
                public static GLib.Type type_from_nick (string nick);
                public void unbind ();
-               [NoAccessorMethod]
-               public string long_name { owned get; set construct; }
+               public string long_name { get; set construct; }
                [NoAccessorMethod]
                public Gdl.DockMaster master { owned get; set construct; }
-               [NoAccessorMethod]
-               public string name { owned get; construct; }
+               public string name { get; construct; }
                [NoAccessorMethod]
                public void* pixbuf_icon { get; set; }
-               [NoAccessorMethod]
-               public string stock_id { owned get; set construct; }
+               public string stock_id { get; set construct; }
                [HasEmitter]
                public virtual signal void detach (bool recursive);
                [HasEmitter]
@@ -180,7 +224,6 @@ namespace Gdl {
        }
        [CCode (cheader_filename = "gdl/gdl.h", type_id = "gdl_dock_paned_get_type ()")]
        public class DockPaned : Gdl.DockItem, Atk.Implementor, Gtk.Buildable {
-               public bool position_changed;
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public DockPaned (Gtk.Orientation orientation);
                [NoAccessorMethod]
@@ -221,6 +264,7 @@ namespace Gdl {
                public weak Gdk.Window event_window;
                public bool pre_drag;
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Deprecated (since = "3.6")]
                public DockTablabel (Gdl.DockItem item);
                public void activate ();
                public void deactivate ();
@@ -280,6 +324,7 @@ namespace Gdl {
                ICONIFY
        }
        [CCode (cheader_filename = "gdl/gdl.h", cprefix = "GDL_DOCK_", type_id = "gdl_dock_item_flags_get_type ()")]
+       [Deprecated (since = "3.6")]
        [Flags]
        public enum DockItemFlags {
                IN_DRAG,
@@ -325,13 +370,12 @@ namespace Gdl {
        [CCode (cheader_filename = "gdl/gdl.h", cname = "GDL_DOCK_NAME_PROPERTY")]
        public const string DOCK_NAME_PROPERTY;
        [CCode (cheader_filename = "gdl/gdl.h", cname = "GDL_DOCK_OBJECT_FLAGS_SHIFT")]
+       [Deprecated (since = "3.6")]
        public const int DOCK_OBJECT_FLAGS_SHIFT;
        [CCode (cheader_filename = "gdl/gdl.h")]
-       public static string gettext (string msgid);
-       [CCode (cheader_filename = "gdl/gdl.h")]
-       public static void marshal_VOID__INT_INT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
-       [CCode (cheader_filename = "gdl/gdl.h")]
        public static void marshal_VOID__OBJECT_ENUM_BOXED (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
        [CCode (cheader_filename = "gdl/gdl.h")]
+       public static void marshal_VOID__OBJECT_INT_INT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+       [CCode (cheader_filename = "gdl/gdl.h")]
        public static void marshal_VOID__UINT_UINT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
 }
index 44e4297..28e6929 100644 (file)
@@ -3,20 +3,16 @@
 [CCode (cprefix = "Gedit", gir_namespace = "Gedit", gir_version = "3.0", lower_case_cprefix = "gedit_")]
 namespace Gedit {
        [CCode (cheader_filename = "gedit/gedit-app.h", type_id = "gedit_app_get_type ()")]
-       public abstract class App : GLib.Object {
+       public abstract class App : Gtk.Application, GLib.ActionGroup, GLib.ActionMap {
                [CCode (has_construct_function = false)]
                protected App ();
                public unowned Gedit.Window create_window (Gdk.Screen? screen);
-               public unowned Gedit.Window get_active_window ();
-               public static unowned Gedit.App get_default ();
                public GLib.List<weak Gedit.Document> get_documents ();
                public Gedit.LockdownMask get_lockdown ();
                public GLib.List<weak Gedit.View> get_views ();
-               public unowned GLib.List<Gedit.Window> get_windows ();
                [NoWrapper]
                public virtual string help_link_id (string name, string link_id);
-               [NoWrapper]
-               public virtual bool last_window_destroyed ();
+               public virtual bool process_window_event (Gedit.Window window, Gdk.Event event);
                public virtual void set_window_title (Gedit.Window window, string title);
                public virtual bool show_help (Gtk.Window parent, string name, string link_id);
                public Gedit.LockdownMask lockdown { get; }
@@ -59,7 +55,7 @@ namespace Gedit {
                public void set_enable_search_highlighting (bool enable);
                public void set_language (Gtk.SourceLanguage? lang);
                public void set_location (GLib.File location);
-               public void set_search_text (string text, uint flags);
+               public void set_search_text (string? text, uint flags);
                public void set_short_name_for_display (string? short_name);
                public bool can_search_again { get; }
                [NoAccessorMethod]
@@ -146,12 +142,13 @@ namespace Gedit {
                public virtual signal void unregistered (string object_path, string method);
        }
        [CCode (cheader_filename = "gedit/gedit-panel.h", type_id = "gedit_panel_get_type ()")]
-       public class Panel : Gtk.VBox, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
+       public class Panel : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Panel (Gtk.Orientation orientation);
                public bool activate_item (Gtk.Widget item);
                public bool add_item (Gtk.Widget item, string id, string display_name, Gtk.Widget? image);
                public bool add_item_with_stock_icon (Gtk.Widget item, string id, string display_name, string? stock_id);
+               public unowned Gtk.Widget get_active ();
                public int get_n_items ();
                public Gtk.Orientation get_orientation ();
                public bool item_is_active (Gtk.Widget item);
@@ -183,7 +180,7 @@ namespace Gedit {
                public void set_window_state (Gedit.WindowState state, int num_of_errors);
        }
        [CCode (cheader_filename = "gedit/gedit-tab.h", type_id = "gedit_tab_get_type ()")]
-       public class Tab : Gtk.VBox, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
+       public class Tab : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false)]
                protected Tab ();
                public bool get_auto_save_enabled ();
@@ -200,6 +197,8 @@ namespace Gedit {
                [NoAccessorMethod]
                public int autosave_interval { get; set; }
                [NoAccessorMethod]
+               public bool can_close { get; }
+               [NoAccessorMethod]
                public string name { owned get; }
                public Gedit.TabState state { get; }
                public virtual signal void drop_uris ([CCode (array_length = false, array_null_terminated = true)] string[] uri_list);
@@ -218,7 +217,7 @@ namespace Gedit {
                public virtual signal void drop_uris ([CCode (array_length = false, array_null_terminated = true)] string[] uri_list);
        }
        [CCode (cheader_filename = "gedit/gedit-window.h", type_id = "gedit_window_get_type ()")]
-       public class Window : Gtk.Window, Atk.Implementor, Gtk.Buildable {
+       public class Window : Gtk.ApplicationWindow, Atk.Implementor, GLib.ActionGroup, GLib.ActionMap, Gtk.Buildable {
                [CCode (has_construct_function = false)]
                protected Window ();
                public void close_all_tabs ();
@@ -271,7 +270,7 @@ namespace Gedit {
                [NoAccessorMethod]
                public abstract Gedit.Window window { owned get; construct; }
        }
-       [CCode (cheader_filename = "gedit/gedit-debug.h", cprefix = "GEDIT_")]
+       [CCode (cheader_filename = "gedit/gedit-debug.h", cprefix = "GEDIT_", type_id = "gedit_debug_section_get_type ()")]
        [Flags]
        public enum DebugSection {
                NO_DEBUG,
@@ -293,18 +292,18 @@ namespace Gedit {
                DEBUG_PANEL,
                DEBUG_DBUS
        }
-       [CCode (cheader_filename = "gedit/gedit-document.h", cprefix = "GEDIT_DOCUMENT_COMPRESSION_TYPE_")]
+       [CCode (cheader_filename = "gedit/gedit-document.h", cprefix = "GEDIT_DOCUMENT_COMPRESSION_TYPE_", type_id = "gedit_document_compression_type_get_type ()")]
        public enum DocumentCompressionType {
                NONE,
                GZIP
        }
-       [CCode (cheader_filename = "gedit/gedit-document.h", cprefix = "GEDIT_DOCUMENT_NEWLINE_TYPE_")]
+       [CCode (cheader_filename = "gedit/gedit-document.h", cprefix = "GEDIT_DOCUMENT_NEWLINE_TYPE_", type_id = "gedit_document_newline_type_get_type ()")]
        public enum DocumentNewlineType {
                LF,
                CR,
                CR_LF
        }
-       [CCode (cheader_filename = "gedit/gedit-document.h", cprefix = "GEDIT_DOCUMENT_SAVE_")]
+       [CCode (cheader_filename = "gedit/gedit-document.h", cprefix = "GEDIT_DOCUMENT_SAVE_", type_id = "gedit_document_save_flags_get_type ()")]
        [Flags]
        public enum DocumentSaveFlags {
                IGNORE_MTIME,
@@ -312,7 +311,7 @@ namespace Gedit {
                PRESERVE_BACKUP,
                IGNORE_INVALID_CHARS
        }
-       [CCode (cheader_filename = "gedit/gedit-app.h", cprefix = "GEDIT_LOCKDOWN_")]
+       [CCode (cheader_filename = "gedit/gedit-app.h", cprefix = "GEDIT_LOCKDOWN_", type_id = "gedit_lockdown_mask_get_type ()")]
        [Flags]
        public enum LockdownMask {
                COMMAND_LINE,
@@ -320,14 +319,14 @@ namespace Gedit {
                PRINT_SETUP,
                SAVE_TO_DISK
        }
-       [CCode (cheader_filename = "gedit/gedit-document.h", cprefix = "GEDIT_SEARCH_")]
+       [CCode (cheader_filename = "gedit/gedit-document.h", cprefix = "GEDIT_SEARCH_", type_id = "gedit_search_flags_get_type ()")]
        [Flags]
        public enum SearchFlags {
                DONT_SET_FLAGS,
                ENTIRE_WORD,
                CASE_SENSITIVE
        }
-       [CCode (cheader_filename = "gedit/gedit-tab.h", cprefix = "GEDIT_TAB_")]
+       [CCode (cheader_filename = "gedit/gedit-tab.h", cprefix = "GEDIT_TAB_", type_id = "gedit_tab_state_get_type ()")]
        public enum TabState {
                STATE_NORMAL,
                STATE_LOADING,
@@ -345,27 +344,26 @@ namespace Gedit {
                STATE_EXTERNALLY_MODIFIED_NOTIFICATION,
                NUM_OF_STATES
        }
-       [CCode (cheader_filename = "gedit/gedit-window.h", cprefix = "GEDIT_WINDOW_STATE_")]
+       [CCode (cheader_filename = "gedit/gedit-window.h", cprefix = "GEDIT_WINDOW_STATE_", type_id = "gedit_window_state_get_type ()")]
        [Flags]
        public enum WindowState {
                NORMAL,
                SAVING,
                PRINTING,
                LOADING,
-               ERROR,
-               SAVING_SESSION
+               ERROR
        }
        [CCode (cheader_filename = "gedit/gedit-message-bus.h", instance_pos = 2.9)]
        public delegate void MessageBusForeach (string object_path, string method);
        [CCode (cheader_filename = "gedit/gedit-message-bus.h", instance_pos = 2.9)]
        public delegate void MessageCallback (Gedit.MessageBus bus, Gedit.Message message);
-       [CCode (cheader_filename = "gedit/gedit-app.h")]
+       [CCode (cheader_filename = "gedit/gedit-app.h", cname = "GEDIT_LOCKDOWN_ALL")]
        public const int LOCKDOWN_ALL;
-       [CCode (cheader_filename = "gedit/gedit-document.h")]
+       [CCode (cheader_filename = "gedit/gedit-document.h", cname = "GEDIT_METADATA_ATTRIBUTE_ENCODING")]
        public const string METADATA_ATTRIBUTE_ENCODING;
-       [CCode (cheader_filename = "gedit/gedit-document.h")]
+       [CCode (cheader_filename = "gedit/gedit-document.h", cname = "GEDIT_METADATA_ATTRIBUTE_LANGUAGE")]
        public const string METADATA_ATTRIBUTE_LANGUAGE;
-       [CCode (cheader_filename = "gedit/gedit-document.h")]
+       [CCode (cheader_filename = "gedit/gedit-document.h", cname = "GEDIT_METADATA_ATTRIBUTE_POSITION")]
        public const string METADATA_ATTRIBUTE_POSITION;
        [CCode (cheader_filename = "gedit/gedit-commands.h")]
        public static void commands_load_location (Gedit.Window window, GLib.File location, Gedit.Encoding? encoding, int line_pos, int column_pos);
@@ -379,11 +377,15 @@ namespace Gedit {
        public static void debug (Gedit.DebugSection section, string file, int line, string function);
        [CCode (cheader_filename = "gedit/gedit-debug.h")]
        public static void debug_init ();
+       [CCode (cheader_filename = "gedit/gedit-debug.h")]
+       public static void debug_plugin_message (string file, int line, string function, string message);
+       [CCode (cheader_filename = "Gedit-3.0.h")]
+       public static unowned Gtk.Widget dialog_add_button (Gtk.Dialog dialog, string text, string stock_id, int response_id);
+       [CCode (cheader_filename = "Gedit-3.0.h")]
+       public static Gtk.Widget gtk_button_new_with_stock_icon (string label, string stock_id);
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static string utils_basename_for_display (GLib.File location);
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
-       public static bool utils_can_read_from_stdin ();
-       [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static bool utils_decode_uri (string uri, out string scheme, out string user, out string port, out string host, out string path);
        [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gedit/gedit-utils.h")]
        public static string[] utils_drop_get_uris (Gtk.SelectionData selection_data);
@@ -404,8 +406,6 @@ namespace Gedit {
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static string utils_location_get_dirname_for_display (GLib.File location);
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
-       public static bool utils_location_has_file_scheme (GLib.File location);
-       [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static string utils_make_canonical_uri_from_shell_arg (string str);
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static string utils_make_valid_utf8 (string name);
@@ -424,8 +424,6 @@ namespace Gedit {
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static string utils_str_middle_truncate (string string, uint truncate_length);
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
-       public static void utils_text_iter_assign (Gtk.TextIter iter, Gtk.TextIter other);
-       [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static string utils_unescape_search_text (string text);
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static string utils_uri_get_dirname (string uri);
index 32692a9..6e90166 100644 (file)
@@ -775,7 +775,7 @@ namespace GLib {
                public async GLib.Variant call_with_unix_fd_list (string method_name, GLib.Variant? parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.UnixFDList? fd_list = null, GLib.Cancellable? cancellable = null, out GLib.UnixFDList? out_fd_list = null) throws GLib.Error;
                public GLib.Variant call_with_unix_fd_list_sync (string method_name, GLib.Variant? parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.UnixFDList? fd_list = null, out GLib.UnixFDList? out_fd_list = null, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (cname = "g_dbus_proxy_new_for_bus", finish_function = "g_dbus_proxy_new_for_bus_finish")]
-               public static async GLib.DBusProxy create_for_bus (GLib.BusType bus_type, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null);
+               public static async GLib.DBusProxy create_for_bus (GLib.BusType bus_type, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.IOError;
                [CCode (has_construct_function = false)]
                public DBusProxy.for_bus_sync (GLib.BusType bus_type, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public GLib.Variant get_cached_property (string property_name);
@@ -790,7 +790,7 @@ namespace GLib {
                public string get_name_owner ();
                public unowned string get_object_path ();
                [CCode (cname = "g_dbus_proxy_new", finish_function = "g_dbus_proxy_new_finish")]
-               public static async GLib.DBusProxy @new (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string? name, string object_path, string interface_name, GLib.Cancellable? cancellable = null);
+               public static async GLib.DBusProxy @new (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string? name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public void set_cached_property (string property_name, GLib.Variant? value);
                public void set_default_timeout (int timeout_msec);
                public void set_interface_info (GLib.DBusInterfaceInfo? info);
@@ -916,23 +916,17 @@ namespace GLib {
                [NoAccessorMethod]
                public GLib.Icon gicon { owned get; construct; }
        }
-       [CCode (cheader_filename = "gio/gio.h")]
-       [Compact]
-       public class FileAttributeInfo {
-               public GLib.FileAttributeInfoFlags flags;
-               public weak string name;
-               public GLib.FileAttributeType type;
-       }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_file_attribute_info_list_ref", type_id = "g_file_attribute_info_list_get_type ()", unref_function = "g_file_attribute_info_list_unref")]
        [Compact]
        public class FileAttributeInfoList {
-               public weak GLib.FileAttributeInfo infos;
+               [CCode (array_length_cname = "n_infos")]
+               public GLib.FileAttributeInfo[] infos;
                public int n_infos;
                [CCode (has_construct_function = false)]
                public FileAttributeInfoList ();
                public void add (string name, GLib.FileAttributeType type, GLib.FileAttributeInfoFlags flags);
                public GLib.FileAttributeInfoList dup ();
-               public unowned GLib.FileAttributeInfo lookup (string name);
+               public unowned GLib.FileAttributeInfo? lookup (string name);
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_file_attribute_matcher_ref", type_id = "g_file_attribute_matcher_get_type ()", unref_function = "g_file_attribute_matcher_unref")]
        [Compact]
@@ -957,7 +951,7 @@ namespace GLib {
                public unowned GLib.File get_container ();
                public bool has_pending ();
                public bool is_closed ();
-               public virtual GLib.FileInfo next_file (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public virtual GLib.FileInfo? next_file (GLib.Cancellable? cancellable = null) throws GLib.Error;
                public virtual async GLib.List<GLib.FileInfo> next_files_async (int num_files, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public void set_pending (bool pending);
                public GLib.File container { construct; }
@@ -1026,7 +1020,7 @@ namespace GLib {
                public bool has_attribute (string attribute);
                public bool has_namespace (string name_space);
                [CCode (array_length = false, array_null_terminated = true)]
-               public string[] list_attributes (string name_space);
+               public string[]? list_attributes (string name_space);
                public void remove_attribute (string attribute);
                public void set_attribute (string attribute, GLib.FileAttributeType type, void* value_p);
                public void set_attribute_boolean (string attribute, bool attr_value);
@@ -1712,7 +1706,7 @@ namespace GLib {
                public SettingsSchemaSource.from_directory (string directory, GLib.SettingsSchemaSource? parent, bool trusted) throws GLib.Error;
                [CCode (cheader_filename = "gio/gio.h")]
                public static unowned GLib.SettingsSchemaSource get_default ();
-               public GLib.SettingsSchema lookup (string schema_id, bool recursive);
+               public GLib.SettingsSchema? lookup (string schema_id, bool recursive);
                public GLib.SettingsSchemaSource @ref ();
                public void unref ();
        }
@@ -2650,7 +2644,7 @@ namespace GLib {
                public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (array_length = false, array_null_terminated = true)]
                public abstract string[] enumerate_identifiers ();
-               public abstract GLib.File get_activation_root ();
+               public abstract GLib.File? get_activation_root ();
                public abstract GLib.Drive get_drive ();
                public abstract GLib.Icon get_icon ();
                public abstract string get_identifier (string kind);
@@ -2691,6 +2685,12 @@ namespace GLib {
                public weak GLib.DBusSubtreeDispatchFunc dispatch;
        }
        [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
+       public struct FileAttributeInfo {
+               public weak string name;
+               public GLib.FileAttributeType type;
+               public GLib.FileAttributeInfoFlags flags;
+       }
+       [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
        public struct InputVector {
                public void* buffer;
                public size_t size;
index f509c9a..29cbb26 100644 (file)
@@ -1521,7 +1521,7 @@ namespace GLib {
                [CCode (cname = "g_main_current_source")]
                public static unowned Source current_source ();
                public static unowned MainContext? get_thread_default ();
-               public static unowned MainContext ref_thread_default ();
+               public static MainContext ref_thread_default ();
                public void push_thread_default ();
                public void pop_thread_default ();
                [CCode (cname = "g_main_context_invoke_full")]
@@ -1691,9 +1691,11 @@ namespace GLib {
                [CCode (simple_generics = true)]
                public static unowned Thread<T> self<T> ();
                public T join ();
+               [Deprecated (since = "2.32")]
                public void set_priority (ThreadPriority priority);
                public static void yield ();
                public static void exit (T retval);
+               [Deprecated (since = "2.32")]
                public static void @foreach (Func<Thread> thread_func);
 
                [CCode (cname = "g_usleep")]
@@ -2428,7 +2430,6 @@ namespace GLib {
                public DateTime add_weeks (int weeks);
                public DateTime add_days (int days);
                public DateTime add_hours (int hours);
-               public DateTime add_milliseconds (int milliseconds);
                public DateTime add_minutes (int minutes);
                public DateTime add_seconds (double seconds);
                public DateTime add_full (int years, int months, int days, int hours = 0, int minutes = 0, double seconds = 0);
@@ -2988,7 +2989,7 @@ namespace GLib {
                [CCode (cname = "EOF", cheader_filename = "stdio.h")]
                public const int EOF;
 
-               [CCode (cname = "fopen")]
+               [CCode (cname = "g_fopen", cheader_filename = "glib/gstdio.h")]
                public static FileStream? open (string path, string mode);
                [CCode (cname = "fdopen")]
                public static FileStream? fdopen (int fildes, string mode);
@@ -3975,7 +3976,10 @@ namespace GLib {
                public unowned StringBuilder prepend_unichar (unichar wc);
                public unowned StringBuilder prepend_len (string val, ssize_t len);
                public unowned StringBuilder insert (ssize_t pos, string val);
+               public unowned StringBuilder insert_len (ssize_t pos, string val, ssize_t len);
                public unowned StringBuilder insert_unichar (ssize_t pos, unichar wc);
+               public unowned StringBuilder overwrite (size_t pos, string val);
+               public unowned StringBuilder overwrite_len (size_t pos, string val, ssize_t len);
                public unowned StringBuilder erase (ssize_t pos = 0, ssize_t len = -1);
                public unowned StringBuilder truncate (size_t len = 0);
 
@@ -4033,8 +4037,8 @@ namespace GLib {
                public bool remove_fast (void *data);
                public void remove_index_fast (uint index);
                public void remove_range (uint index, uint length);
-               public void sort (CompareFunc compare_func);
-               public void sort_with_data (CompareDataFunc compare_func);
+               public void sort (CompareFunc<void**> compare_func);
+               public void sort_with_data (CompareDataFunc<void**> compare_func);
                public void set_free_func (GLib.DestroyNotify? element_free_function);
                public void set_size (int length);
 
@@ -4044,6 +4048,7 @@ namespace GLib {
 
        [Compact]
        [CCode (cname = "GPtrArray", cprefix = "g_ptr_array_", ref_function = "g_ptr_array_ref", unref_function = "g_ptr_array_unref", type_id = "G_TYPE_PTR_ARRAY")]
+       [GIR (name = "PtrArray")]
        public class GenericArray<G> {
                [CCode (cname = "g_ptr_array_new_with_free_func", simple_generics = true)]
                public GenericArray ();
@@ -4288,7 +4293,7 @@ namespace GLib {
        
        /* GTree */
        
-       public delegate bool TraverseFunc (void* key, void* value);
+       public delegate bool TraverseFunc<K,V> (K key, V value);
        
        [CCode (cprefix = "G_", has_type_id = false)]
        public enum TraverseType {
@@ -4307,7 +4312,9 @@ namespace GLib {
        [CCode (free_function = "g_tree_destroy")]
 #endif
        public class Tree<K,V> {
-               public Tree (CompareFunc<K> key_compare_func);
+               [CCode (cname = "g_tree_new_full", simple_generics = true)]
+               public Tree (CompareDataFunc<K> key_compare_func);
+               [Deprecated (since = "vala-0.20", replacement = "Tree ()")]
                public Tree.with_data (CompareDataFunc<K> key_compare_func);
                public Tree.full (CompareDataFunc<K> key_compare_func, DestroyNotify? key_destroy_func, DestroyNotify? value_destroy_func);
                public void insert (owned K key, owned V value);
@@ -4315,8 +4322,8 @@ namespace GLib {
                public int nnodes ();
                public int height ();
                public unowned V lookup (K key);
-               public bool lookup_extended (K lookup_key, K orig_key, V value);
-               public void foreach (TraverseFunc traverse_func);
+               public bool lookup_extended (K lookup_key, out unowned K orig_key, out unowned V value);
+               public void foreach (TraverseFunc<K,V> traverse_func);
                public unowned V search (TreeSearchFunc<K> search_func);
                [CCode (cname = "g_tree_search")]
                public unowned V search_key (CompareFunc<K> search_func, K key);
@@ -4563,7 +4570,8 @@ namespace GLib {
                public Variant.variant (Variant value);
                public Variant.maybe (VariantType? child_type, Variant? child);
                public Variant.array (VariantType? child_type, Variant[] children);
-               public Variant.fixed_array (VariantType? element_type, [CCode (array_length_type = "gsize")] Variant[] elements, size_t element_size);
+               [CCode (simple_generics = true)]
+               public static Variant new_fixed_array<T> (VariantType? element_type, [CCode (array_length_type = "gsize")] T[] elements, size_t element_size);
                public Variant.tuple (Variant[] children);
                public Variant.dict_entry (Variant key, Variant value);
                public Variant get_variant ();
index 0840c11..a37ed96 100644 (file)
@@ -96,6 +96,7 @@ namespace GLib {
        }
 
        [CCode (cprefix = "G_TYPE_DEBUG_", has_type_id = false)]
+       [Flags]
        public enum TypeDebugFlags {
                NONE,
                OBJECTS,
@@ -268,6 +269,7 @@ namespace GLib {
        }
 
        [CCode (cprefix = "G_PARAM_", has_type_id = false)]
+       [Flags]
        public enum ParamFlags {
                READABLE,
                WRITABLE,
@@ -278,7 +280,10 @@ namespace GLib {
                STATIC_NICK,
                STATIC_BLURB,
                READWRITE,
-               STATIC_STRINGS
+               STATIC_STRINGS,
+               USER_SHIFT,
+               DEPRECATED,
+               MASK
        }
 
        [CCode (lower_case_csuffix = "object_class")]
@@ -292,8 +297,8 @@ namespace GLib {
        public struct ObjectConstructParam {
        }
 
-       [Flags]
        [CCode (cprefix = "G_BINDING_")]
+       [Flags]
        public enum BindingFlags {
                DEFAULT,
                BIDIRECTIONAL,
@@ -523,16 +528,21 @@ namespace GLib {
        public delegate bool SignalEmissionHook (SignalInvocationHint ihint, [CCode (array_length_pos = 1.9)] Value[] param_values);
 
        [CCode (cprefix = "G_SIGNAL_", has_type_id = false)]
+       [Flags]
        public enum SignalFlags {
                RUN_FIRST,
                RUN_LAST,
                RUN_CLEANUP,
+               NO_RECURSE,
                DETAILED,
                ACTION,
-               NO_HOOKS
+               NO_HOOKS,
+               MUST_COLLECT,
+               DEPRECATED
        }
 
        [CCode (cprefix = "G_CONNECT_", has_type_id = false)]
+       [Flags]
        public enum ConnectFlags {
                AFTER,
                SWAPPED
index 7a57f70..d9fb40e 100644 (file)
@@ -1,6 +1,6 @@
-/* gstreamer-0.10.vapi generated by lt-vapigen, do not modify. */
+/* gstreamer-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "Gst", gir_version = "1.0", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        [Compact]
@@ -47,6 +47,7 @@ namespace Gst {
                [NoWrapper]
                public virtual bool add_element (Gst.Element element);
                public void add_many (params Gst.Element[] elements);
+               [Deprecated (replacement = "Gst.Bin.find_unlinked_pad")]
                public Gst.Pad? find_unconnected_pad (Gst.PadDirection direction);
                public Gst.Pad? find_unlinked_pad (Gst.PadDirection direction);
                public Gst.Element? get_by_interface (GLib.Type iface);
@@ -121,6 +122,7 @@ namespace Gst {
                public static void replace (ref Gst.Buffer? oldobj, Gst.Buffer? newobj);
                public void set_caps (Gst.Caps caps);
                public Gst.Buffer span (uint32 offset, Gst.Buffer buf2, uint32 len);
+               [Deprecated (replacement = "Gst.Buffer.copy_metadata")]
                public void stamp (Gst.Buffer src);
                [CCode (cname = "GST_BUFFER_TIMESTAMP_IS_VALID")]
                public bool timestamp_is_valid ();
@@ -426,6 +428,7 @@ namespace Gst {
                public unowned Gst.PadTemplate? get_compatible_pad_template (Gst.PadTemplate compattempl);
                public unowned Gst.ElementFactory? get_factory ();
                public virtual Gst.Index? get_index ();
+               [Deprecated]
                public Gst.Pad? get_pad (string name);
                [CCode (cname = "gst_element_class_get_pad_template")]
                public class unowned Gst.PadTemplate? get_pad_template (string name);
@@ -433,6 +436,7 @@ namespace Gst {
                public class unowned GLib.List<Gst.PadTemplate> get_pad_template_list ();
                [CCode (array_length = false)]
                public virtual unowned Gst.QueryType[]? get_query_types ();
+               [Deprecated (replacement = "Gst.Element.request_pad")]
                public Gst.Pad? get_request_pad (string name);
                public Gst.ClockTime get_start_time ();
                public virtual Gst.StateChangeReturn get_state (out Gst.State state, out Gst.State pending, Gst.ClockTime timeout);
@@ -472,7 +476,7 @@ namespace Gst {
                public virtual unowned Gst.Pad request_new_pad (Gst.PadTemplate templ, string? name);
                [NoWrapper]
                public virtual unowned Gst.Pad request_new_pad_full (Gst.PadTemplate templ, string name, Gst.Caps caps);
-               public unowned Gst.Pad request_pad (Gst.PadTemplate templ, string name, Gst.Caps caps);
+               public Gst.Pad? request_pad (Gst.PadTemplate templ, string? name, Gst.Caps? caps);
                public bool requires_clock ();
                public bool seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType cur_type, int64 cur, Gst.SeekType stop_type, int64 stop);
                public bool seek_simple (Gst.Format format, Gst.SeekFlags seek_flags, int64 seek_pos);
@@ -481,6 +485,7 @@ namespace Gst {
                public virtual void set_bus (Gst.Bus? bus);
                public virtual bool set_clock (Gst.Clock? clock);
                [CCode (cname = "gst_element_class_set_details")]
+               [Deprecated (replacement = "Gst.Element.set_details_simple")]
                public class void set_details (Gst.ElementDetails details);
                [CCode (cname = "gst_element_class_set_details_simple")]
                public class void set_details_simple (string longname, string classification, string description, string author);
@@ -508,9 +513,11 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                protected ElementFactory ();
                public bool can_sink_all_caps (Gst.Caps caps);
+               [Deprecated (replacement = "Gst.ElementFactory.can_sink_all_caps")]
                public bool can_sink_any_caps (Gst.Caps caps);
                public bool can_sink_caps (Gst.Caps caps);
                public bool can_src_all_caps (Gst.Caps caps);
+               [Deprecated (replacement = "Gst.ElementFactory.can_src_all_caps")]
                public bool can_src_any_caps (Gst.Caps caps);
                public bool can_src_caps (Gst.Caps caps);
                [CCode (returns_floating_reference = true)]
@@ -924,7 +931,9 @@ namespace Gst {
                public Gst.PadDirection get_direction ();
                public void* get_element_private ();
                public Gst.Caps get_fixed_caps_func ();
+               [Deprecated (replacement = "Gst.Pad.iterate_internal_links")]
                public GLib.List<Gst.Pad> get_internal_links ();
+               [Deprecated (replacement = "Gst.Pad.iterate_internal_links_default")]
                public GLib.List<Gst.Pad> get_internal_links_default ();
                public Gst.Caps get_negotiated_caps ();
                public unowned Gst.PadTemplate get_pad_template ();
@@ -986,6 +995,7 @@ namespace Gst {
                public void set_fixatecaps_function (Gst.PadFixateCapsFunction fixatecaps);
                public void set_getcaps_function (Gst.PadGetCapsFunction getcaps);
                public void set_getrange_function (Gst.PadGetRangeFunction @get);
+               [Deprecated (replacement = "Gst.Pad.set_iterate_internal_links_function")]
                public void set_internal_link_function (Gst.PadIntLinkFunction intlink);
                public void set_iterate_internal_links_function (Gst.PadIterIntLinkFunction iterintlink);
                public void set_link_function (Gst.PadLinkFunction link);
@@ -1054,10 +1064,12 @@ namespace Gst {
                public Gst.Bus get_bus ();
                public Gst.Clock? get_clock ();
                public Gst.ClockTime get_delay ();
+               [Deprecated (replacement = "Gst.Element.get_start_time")]
                public Gst.ClockTime get_last_stream_time ();
                public void set_auto_flush_bus (bool auto_flush);
                public bool set_clock (Gst.Clock? clock);
                public void set_delay (Gst.ClockTime delay);
+               [Deprecated (replacement = "Gst.Element.set_start_time")]
                public void set_new_stream_time (Gst.ClockTime time);
                public void use_clock (Gst.Clock? clock);
                public bool auto_flush_bus { get; set; }
@@ -1511,16 +1523,21 @@ namespace Gst {
                public void* ns;
                public weak GLib.List<Gst.Element> topelements;
                [CCode (has_construct_function = false)]
+               [Deprecated]
                public XML ();
                public unowned Gst.Element get_element (string name);
                public unowned GLib.List<Gst.Element> get_topelements ();
+               [Deprecated]
                public static unowned Gst.Element make_element (void* cur, Gst.Object parent);
                [NoWrapper]
                public virtual void object_saved (Gst.Object object, void* self);
                public bool parse_doc (void* doc, string root);
                public bool parse_file (string fname, string root);
+               [Deprecated]
                public bool parse_memory (uchar[] buffer, uint size, string root);
+               [Deprecated]
                public static void* write (Gst.Element element);
+               [Deprecated]
                public static int write_file (Gst.Element element, GLib.FileStream @out);
                public virtual signal void object_loaded (Gst.Object object, void* self);
        }
@@ -2302,9 +2319,9 @@ namespace Gst {
                [CCode (cname = "GST_STATE_TRANSITION")]
                public static Gst.StateChange transition (Gst.State cur, Gst.State next);
                [CCode (cname = "GST_STATE_TRANSITION_CURRENT")]
-               public static Gst.State transition_current ();
+               public Gst.State transition_current ();
                [CCode (cname = "GST_STATE_TRANSITION_NEXT")]
-               public static Gst.State transition_next ();
+               public Gst.State transition_next ();
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_")]
        public enum StateChangeReturn {
index a0c0734..cc2a273 100644 (file)
@@ -403,9 +403,9 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h")]
                public static int get_fraction_numerator (GLib.Value value);
                [CCode (cheader_filename = "gst/gst.h")]
-               public static GLib.Value get_fraction_range_max (GLib.Value value);
+               public static unowned GLib.Value? get_fraction_range_max (GLib.Value value);
                [CCode (cheader_filename = "gst/gst.h")]
-               public static GLib.Value get_fraction_range_min (GLib.Value value);
+               public static unowned GLib.Value? get_fraction_range_min (GLib.Value value);
                [CCode (cheader_filename = "gst/gst.h")]
                public static int64 get_int64_range_max (GLib.Value value);
                [CCode (cheader_filename = "gst/gst.h")]
@@ -555,7 +555,7 @@ namespace Gst {
                public Gst.ClockTime pts;
                [CCode (has_construct_function = false)]
                public Buffer ();
-               public Gst.Meta add_meta (Gst.MetaInfo info, void* @params);
+               public unowned Gst.Meta? add_meta (Gst.MetaInfo info, void* @params);
                [CCode (has_construct_function = false)]
                public Buffer.allocate (Gst.Allocator? allocator, size_t size, Gst.AllocationParams? @params);
                public Gst.Buffer append (owned Gst.Buffer buf2);
@@ -760,7 +760,7 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                protected ControlBinding ();
                public virtual bool get_g_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, GLib.Value values);
-               public virtual GLib.Value get_value (Gst.ClockTime timestamp);
+               public virtual GLib.Value? get_value (Gst.ClockTime timestamp);
                public virtual bool get_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, void* values);
                public bool is_disabled ();
                public void set_disabled (bool disabled);
@@ -891,9 +891,9 @@ namespace Gst {
                public bool link_pads (string? srcpadname, Gst.Element dest, string? destpadname, Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT);
                public bool link_pads_filtered (string? srcpadname, Gst.Element dest, string? destpadname, Gst.Caps? filter);
                public void lost_state ();
-               public static Gst.Element make_from_uri (Gst.URIType type, string uri, string? elementname) throws GLib.Error;
+               public static unowned Gst.Element make_from_uri (Gst.URIType type, string uri, string? elementname) throws GLib.Error;
                public void message_full (Gst.MessageType type, GLib.Quark domain, int code, owned string? text, owned string? debug, string file, string function, int line);
-               public bool post_message (owned Gst.Message message);
+               public virtual bool post_message (owned Gst.Message message);
                public virtual Gst.Clock provide_clock ();
                public virtual bool query (Gst.Query query);
                public bool query_convert (ref Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val);
@@ -994,7 +994,7 @@ namespace Gst {
                public void parse_segment_done (out Gst.Format format, out int64 position);
                public void parse_sink_message (out Gst.Message msg);
                public void parse_step (out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate);
-               public void parse_stream_start (out string stream_id);
+               public void parse_stream_start (out unowned string stream_id);
                public void parse_tag (out unowned Gst.TagList taglist);
                public void parse_toc (out Gst.Toc toc, out bool updated);
                public void parse_toc_select (out string uid);
@@ -1130,7 +1130,7 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                public Message.error (Gst.Object src, GLib.Error error, string debug);
                public uint32 get_seqnum ();
-               public GLib.Value get_stream_status_object ();
+               public unowned GLib.Value? get_stream_status_object ();
                public unowned Gst.Structure get_structure ();
                public bool has_name (string name);
                [CCode (has_construct_function = false)]
@@ -1239,7 +1239,7 @@ namespace Gst {
                public string get_name ();
                public Gst.Object get_parent ();
                public string get_path_string ();
-               public GLib.Value get_value (string property_name, Gst.ClockTime timestamp);
+               public GLib.Value? get_value (string property_name, Gst.ClockTime timestamp);
                public bool get_value_array (string property_name, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, void* values);
                public bool has_active_control_bindings ();
                public bool has_ancestor (Gst.Object ancestor);
@@ -1597,7 +1597,7 @@ namespace Gst {
        [Compact]
        public class Sample {
                [CCode (has_construct_function = false)]
-               public Sample (Gst.Buffer? buffer, Gst.Caps? caps, Gst.Segment segment, owned Gst.Structure? info);
+               public Sample (Gst.Buffer? buffer, Gst.Caps? caps, Gst.Segment? segment, owned Gst.Structure? info);
                public unowned Gst.Buffer get_buffer ();
                public unowned Gst.Caps get_caps ();
                public unowned Gst.Structure get_info ();
@@ -1661,13 +1661,13 @@ namespace Gst {
                public GLib.Quark get_name_id ();
                public unowned string get_string (string fieldname);
                public bool get_uint (string fieldname, out uint value);
-               public GLib.Value get_value (string fieldname);
+               public unowned GLib.Value? get_value (string fieldname);
                public bool has_field (string fieldname);
                public bool has_field_typed (string fieldname, GLib.Type type);
                public bool has_name (string name);
                [CCode (has_construct_function = false)]
                public Structure.id_empty (GLib.Quark quark);
-               public GLib.Value id_get_value (GLib.Quark field);
+               public unowned GLib.Value? id_get_value (GLib.Quark field);
                public bool id_has_field (GLib.Quark field);
                public bool id_has_field_typed (GLib.Quark field, GLib.Type type);
                public void id_set_value (GLib.Quark field, GLib.Value value);
@@ -1727,7 +1727,7 @@ namespace Gst {
                public bool get_uint64 (string tag, out uint64 value);
                public bool get_uint64_index (string tag, uint index, out uint64 value);
                public bool get_uint_index (string tag, uint index, out uint value);
-               public GLib.Value get_value_index (string tag, uint index);
+               public unowned GLib.Value? get_value_index (string tag, uint index);
                public void insert (Gst.TagList from, Gst.TagMergeMode mode);
                public bool is_empty ();
                public bool is_equal (Gst.TagList list2);
@@ -1822,7 +1822,7 @@ namespace Gst {
                protected ValueArray ();
                public static void append_value (GLib.Value value, GLib.Value append_value);
                public static uint get_size (GLib.Value value);
-               public static GLib.Value get_value (GLib.Value value, uint index);
+               public static unowned GLib.Value? get_value (GLib.Value value, uint index);
                public static void prepend_value (GLib.Value value, GLib.Value prepend_value);
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_list_get_type ()")]
@@ -1832,7 +1832,7 @@ namespace Gst {
                public static void append_value (GLib.Value value, GLib.Value append_value);
                public static void concat (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
                public static uint get_size (GLib.Value value);
-               public static GLib.Value get_value (GLib.Value value, uint index);
+               public static unowned GLib.Value? get_value (GLib.Value value, uint index);
                public static void merge (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
                public static void prepend_value (GLib.Value value, GLib.Value prepend_value);
        }
@@ -1958,8 +1958,8 @@ namespace Gst {
                public Gst.MetaInfo info;
                public static bool api_type_has_tag (GLib.Type api, GLib.Quark tag);
                public static GLib.Type api_type_register (string api, string tags);
-               public static Gst.MetaInfo get_info (string impl);
-               public static Gst.MetaInfo register (GLib.Type api, string impl, size_t size, Gst.MetaInitFunction init_func, Gst.MetaFreeFunction free_func, Gst.MetaTransformFunction transform_func);
+               public static unowned Gst.MetaInfo? get_info (string impl);
+               public static unowned Gst.MetaInfo? register (GLib.Type api, string impl, size_t size, Gst.MetaInitFunction init_func, Gst.MetaFreeFunction free_func, Gst.MetaTransformFunction transform_func);
        }
        [CCode (cheader_filename = "gst/gst.h", has_type_id = false)]
        public struct MetaInfo {
@@ -2065,8 +2065,8 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BIN_FLAG_", has_type_id = false)]
        [Flags]
        public enum BinFlags {
-               [CCode (cname = "GST_BIN_FLAG_LAST")]
-               BIN_FLAG_LAST
+               NO_RESYNC,
+               LAST
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_COPY_", has_type_id = false)]
        [Flags]
@@ -2162,7 +2162,8 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_TYPE_", has_type_id = false)]
        public enum ClockType {
                REALTIME,
-               MONOTONIC
+               MONOTONIC,
+               OTHER
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_", has_type_id = false)]
        public enum DebugColorFlags {
@@ -2289,7 +2290,7 @@ namespace Gst {
                [CCode (cname = "gst_formats_contains")]
                public static bool contains ([CCode (array_length = false, array_null_terminated = true)] Gst.Format[] formats, Gst.Format format);
                public static Gst.Format get_by_nick (string nick);
-               public static Gst.FormatDefinition get_details (Gst.Format format);
+               public static unowned Gst.FormatDefinition? get_details (Gst.Format format);
                public static unowned string get_name (Gst.Format format);
                public static Gst.Iterator iterate_definitions ();
                public static Gst.Format register (string nick, string description);
@@ -2465,7 +2466,17 @@ namespace Gst {
                QUERY_DOWNSTREAM,
                QUERY_UPSTREAM,
                PUSH,
-               PULL
+               PULL,
+               BLOCKING,
+               DATA_DOWNSTREAM,
+               DATA_UPSTREAM,
+               DATA_BOTH,
+               BLOCK_DOWNSTREAM,
+               BLOCK_UPSTREAM,
+               EVENT_BOTH,
+               QUERY_BOTH,
+               ALL_BOTH,
+               SCHEDULING
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_TEMPLATE_FLAG_", has_type_id = false)]
        [Flags]
@@ -2590,6 +2601,7 @@ namespace Gst {
                END
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEGMENT_FLAG_", has_type_id = false)]
+       [Flags]
        public enum SegmentFlags {
                NONE,
                RESET,
@@ -2938,24 +2950,6 @@ namespace Gst {
        public const int MSECOND;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_NSECOND")]
        public const int NSECOND;
-       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_ALL_BOTH")]
-       public const int PAD_PROBE_TYPE_ALL_BOTH;
-       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_BLOCKING")]
-       public const int PAD_PROBE_TYPE_BLOCKING;
-       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM")]
-       public const int PAD_PROBE_TYPE_BLOCK_DOWNSTREAM;
-       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM")]
-       public const int PAD_PROBE_TYPE_BLOCK_UPSTREAM;
-       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_DATA_BOTH")]
-       public const int PAD_PROBE_TYPE_DATA_BOTH;
-       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM")]
-       public const int PAD_PROBE_TYPE_DATA_DOWNSTREAM;
-       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_EVENT_BOTH")]
-       public const int PAD_PROBE_TYPE_EVENT_BOTH;
-       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_QUERY_BOTH")]
-       public const int PAD_PROBE_TYPE_QUERY_BOTH;
-       [CCode (cheader_filename = "gst/gst.h", cname = "GST_PAD_PROBE_TYPE_SCHEDULING")]
-       public const int PAD_PROBE_TYPE_SCHEDULING;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_CONTROLLABLE")]
        public const int PARAM_CONTROLLABLE;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PAUSED")]
@@ -2995,7 +2989,7 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        public static void init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv);
        [CCode (cheader_filename = "gst/gst.h")]
-       public static bool init_check ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref string[]? argv) throws GLib.Error;
+       public static bool init_check ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv) throws GLib.Error;
        [CCode (cheader_filename = "gst/gst.h")]
        public static GLib.OptionGroup init_get_option_group ();
        [CCode (cheader_filename = "gst/gst.h")]
index e47a834..21210da 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-app-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstApp", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/app/gstappsink.h")]
        public class AppSink : Gst.BaseSink, Gst.URIHandler {
index 4647638..18c1e58 100644 (file)
@@ -44,7 +44,7 @@ namespace Gst {
                        public uint64 get_max_bytes ();
                        public int64 get_size ();
                        public Gst.App.StreamType get_stream_type ();
-                       public virtual Gst.FlowReturn push_buffer (Gst.Buffer buffer);
+                       public virtual Gst.FlowReturn push_buffer (owned Gst.Buffer buffer);
                        public void set_caps (Gst.Caps caps);
                        public void set_emit_signals (bool emit);
                        public void set_latency (uint64 min, uint64 max);
index 95986ca..24671d9 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-audio-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstAudio", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/audio/gstaudioclock.h")]
        public class AudioClock : Gst.SystemClock {
index 2efe26d..bb41ff5 100644 (file)
@@ -1 +1,2 @@
 gstreamer-base-1.0
+gstreamer-tag-1.0
index 2920c25..342b565 100644 (file)
@@ -614,8 +614,6 @@ namespace Gst {
                public const string FORMATS_ALL;
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_AUDIO_RATE_RANGE")]
                public const string RATE_RANGE;
-               [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "GST_TAG_CDDA_TRACK_TAGS")]
-               public const string TAG_CDDA_TRACK_TAGS;
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_buffer_clip")]
                public static Gst.Buffer audio_buffer_clip (owned Gst.Buffer buffer, Gst.Segment segment, int rate, int bpf);
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_buffer_reorder_channels")]
@@ -631,7 +629,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_downmix_meta_api_get_type")]
                public static GLib.Type audio_downmix_meta_api_get_type ();
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_downmix_meta_get_info")]
-               public static Gst.MetaInfo audio_downmix_meta_get_info ();
+               public static unowned Gst.MetaInfo? audio_downmix_meta_get_info ();
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_build_integer")]
                public static Gst.Audio.Format audio_format_build_integer (bool sign, int endianness, int width, int depth);
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_fill_silence")]
@@ -639,7 +637,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_from_string")]
                public static Gst.Audio.Format audio_format_from_string (string format);
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_get_info")]
-               public static Gst.Audio.FormatInfo audio_format_get_info (Gst.Audio.Format format);
+               public static unowned Gst.Audio.FormatInfo? audio_format_get_info (Gst.Audio.Format format);
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_info_get_type")]
                public static GLib.Type audio_format_info_get_type ();
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_format_to_string")]
@@ -653,9 +651,9 @@ namespace Gst {
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_audio_reorder_channels")]
                public static bool audio_reorder_channels ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] data, Gst.Audio.Format format, int channels, [CCode (array_length = false)] Gst.Audio.ChannelPosition[] from, [CCode (array_length = false)] Gst.Audio.ChannelPosition[] to);
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_buffer_add_audio_downmix_meta")]
-               public static Gst.Audio.DownmixMeta buffer_add_audio_downmix_meta (Gst.Buffer buffer, [CCode (array_length_cname = "from_channels", array_length_pos = 2.5)] Gst.Audio.ChannelPosition[] from_position, [CCode (array_length_cname = "to_channels", array_length_pos = 3.5)] Gst.Audio.ChannelPosition[] to_position, float matrix);
+               public static unowned Gst.Audio.DownmixMeta? buffer_add_audio_downmix_meta (Gst.Buffer buffer, [CCode (array_length_cname = "from_channels", array_length_pos = 2.5)] Gst.Audio.ChannelPosition[] from_position, [CCode (array_length_cname = "to_channels", array_length_pos = 3.5)] Gst.Audio.ChannelPosition[] to_position, float matrix);
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_buffer_get_audio_downmix_meta_for_channels")]
-               public static Gst.Audio.DownmixMeta buffer_get_audio_downmix_meta_for_channels (Gst.Buffer buffer, [CCode (array_length_cname = "to_channels", array_length_pos = 2.1)] Gst.Audio.ChannelPosition[] to_position);
+               public static unowned Gst.Audio.DownmixMeta? buffer_get_audio_downmix_meta_for_channels (Gst.Buffer buffer, [CCode (array_length_cname = "to_channels", array_length_pos = 2.1)] Gst.Audio.ChannelPosition[] to_position);
                [CCode (cheader_filename = "gst/audio/audio-channels.h,gst/audio/audio-enumtypes.h,gst/audio/audio-format.h,gst/audio/audio-info.h,gst/audio/audio.h,gst/audio/gstaudiobasesink.h,gst/audio/gstaudiobasesrc.h,gst/audio/gstaudiocdsrc.h,gst/audio/gstaudioclock.h,gst/audio/gstaudiodecoder.h,gst/audio/gstaudioencoder.h,gst/audio/gstaudiofilter.h,gst/audio/gstaudioiec61937.h,gst/audio/gstaudiometa.h,gst/audio/gstaudioringbuffer.h,gst/audio/gstaudiosink.h,gst/audio/gstaudiosrc.h,gst/audio/streamvolume.h", cname = "gst_stream_volume_convert_volume")]
                public static double stream_volume_convert_volume (Gst.Audio.StreamVolumeFormat from, Gst.Audio.StreamVolumeFormat to, double val);
        }
index 2ee2632..de7688e 100644 (file)
@@ -1,6 +1,6 @@
-/* gstreamer-base-0.10.vapi generated by lt-vapigen, do not modify. */
+/* gstreamer-base-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstBase", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/base/gstadapter.h")]
        public class Adapter : GLib.Object {
index 239f7fe..14b413a 100644 (file)
@@ -549,7 +549,7 @@ namespace Gst {
                        public virtual bool is_seekable ();
                        [NoWrapper]
                        public virtual bool negotiate ();
-                       public bool new_seamless_segment (int64 start, int64 stop, int64 position);
+                       public bool new_seamless_segment (int64 start, int64 stop, int64 time);
                        [NoWrapper]
                        public virtual bool prepare_seek_segment (Gst.Event seek, Gst.Segment segment);
                        [NoWrapper]
@@ -621,6 +621,7 @@ namespace Gst {
                        public void set_gap_aware (bool gap_aware);
                        public void set_in_place (bool in_place);
                        public void set_passthrough (bool passthrough);
+                       public void set_prefer_passthrough (bool prefer_passthrough);
                        public void set_qos_enabled (bool enabled);
                        [NoWrapper]
                        public virtual bool sink_event (Gst.Event event);
@@ -685,9 +686,9 @@ namespace Gst {
                [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectDataDestroyNotify", has_target = false)]
                public delegate void CollectDataDestroyNotify (Gst.Base.CollectData data);
                [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsBufferFunction", instance_pos = 3.9)]
-               public delegate Gst.FlowReturn CollectPadsBufferFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, Gst.Buffer buffer);
+               public delegate Gst.FlowReturn CollectPadsBufferFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, owned Gst.Buffer buffer);
                [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsClipFunction", instance_pos = 4.9)]
-               public delegate Gst.FlowReturn CollectPadsClipFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, Gst.Buffer inbuffer, Gst.Buffer outbuffer);
+               public delegate Gst.FlowReturn CollectPadsClipFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, owned Gst.Buffer inbuffer, Gst.Buffer outbuffer);
                [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsCompareFunction", instance_pos = 5.9)]
                public delegate int CollectPadsCompareFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data1, Gst.ClockTime timestamp1, Gst.Base.CollectData data2, Gst.ClockTime timestamp2);
                [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstCollectPadsEventFunction", instance_pos = 3.9)]
index 76ecdff..b9c6480 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-check-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstCheck", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        [Compact]
index b390e48..f3f54a8 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-controller-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstController", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/controller/gstcontroller.h")]
        public class ControlSource : GLib.Object {
index 92287b7..b2c1de0 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-fft-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstFft", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/fft/gstfftf32.h")]
        [Compact]
index ea5c280..dad6a2e 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-interfaces-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstInterfaces", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/interfaces/colorbalance.h")]
        public class ColorBalanceChannel : GLib.Object {
@@ -129,7 +129,7 @@ namespace Gst {
                public void probe_property_name (string name);
                public signal void probe_needed (void* pspec);
        }
-       [CCode (cheader_filename = "gst/gst.h")]
+       [CCode (cheader_filename = "gst/interfaces/streamvolume.h")]
        public interface StreamVolume : GLib.Object {
                public static double convert_volume (Gst.StreamVolumeFormat from, Gst.StreamVolumeFormat to, double val);
                public bool get_mute ();
@@ -273,7 +273,7 @@ namespace Gst {
                COMMANDS,
                ANGLES
        }
-       [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_VOLUME_FORMAT_")]
+       [CCode (cheader_filename = "gst/interfaces/streamvolume.h", cprefix = "GST_STREAM_VOLUME_FORMAT_")]
        public enum StreamVolumeFormat {
                LINEAR,
                CUBIC,
index 513a772..e925252 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-net-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstNet", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/net/gstnet.h")]
        public class NetClientClock : Gst.SystemClock {
index fe3e93c..8fee8ff 100644 (file)
@@ -52,6 +52,6 @@ namespace Gst {
                [CCode (cheader_filename = "gst/net/gstnet.h")]
                public static GLib.Type address_meta_api_get_type ();
                [CCode (cheader_filename = "gst/net/gstnet.h")]
-               public static Gst.MetaInfo address_meta_get_info ();
+               public static unowned Gst.MetaInfo? address_meta_get_info ();
        }
 }
index 13909b2..dac544b 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-netbuffer-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstNetbuffer", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/netbuffer/gstnetbuffer.h")]
        public class NetBuffer : Gst.Buffer {
index 21fd6ac..25cd7b8 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-pbutils-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstPbutils", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/pbutils/pbutils.h")]
        public class Discoverer : GLib.Object {
index 26a0edb..5e732a7 100644 (file)
@@ -1 +1,4 @@
-gstreamer-1.0
+gstreamer-audio-1.0
+gstreamer-base-1.0
+gstreamer-tag-1.0
+gstreamer-video-1.0
index 20482fb..8c32a1c 100644 (file)
@@ -229,7 +229,7 @@ namespace Gst {
                        [CCode (cname = "gst_encoding_profile_set_preset")]
                        public void set_preset (string preset);
                        [CCode (cname = "gst_encoding_profile_set_restriction")]
-                       public void set_restriction (Gst.Caps restriction);
+                       public void set_restriction (owned Gst.Caps restriction);
                }
                [CCode (cheader_filename = "gst/pbutils/codec-utils.h,gst/pbutils/descriptions.h,gst/pbutils/encoding-profile.h,gst/pbutils/encoding-target.h,gst/pbutils/gstdiscoverer.h,gst/pbutils/gstpluginsbaseversion.h,gst/pbutils/install-plugins.h,gst/pbutils/missing-plugins.h,gst/pbutils/pbutils-enumtypes.h,gst/pbutils/pbutils.h", cname = "GstEncodingTarget", type_id = "gst_encoding_target_get_type ()")]
                [GIR (name = "EncodingTarget")]
index f9c0f8e..ef87263 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-riff-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstRiff", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/riff/riff-ids.h")]
        [Compact]
index 0368992..a427386 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-rtp-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstRtp", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/rtp/gstbasertpaudiopayload.h")]
        public class BaseRTPAudioPayload : Gst.BaseRTPPayload {
index 44157e4..17d63f3 100644 (file)
@@ -237,9 +237,9 @@ namespace Gst {
                [CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
                public static Gst.Buffer buffer_new_take_data ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "gsize")] owned uint8[] data);
                [CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
-               public static Gst.RTP.PayloadInfo payload_info_for_name (string media, string encoding_name);
+               public static unowned Gst.RTP.PayloadInfo? payload_info_for_name (string media, string encoding_name);
                [CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h")]
-               public static Gst.RTP.PayloadInfo payload_info_for_pt (uint8 payload_type);
+               public static unowned Gst.RTP.PayloadInfo? payload_info_for_pt (uint8 payload_type);
        }
        namespace RTPC {
                [CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h,gst/rtp/gstrtpbaseaudiopayload.h,gst/rtp/gstrtpbasedepayload.h,gst/rtp/gstrtpbasepayload.h,gst/rtp/gstrtpbuffer.h,gst/rtp/gstrtppayloads.h", cname = "GstRTCPBuffer")]
index b4ae4ee..7cd02ab 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-rtsp-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstRtsp", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/rtsp/gstrtspconnection.h")]
        [Compact]
index f9149d0..0cc9bfe 100644 (file)
@@ -56,9 +56,9 @@ namespace Gst {
                public class Watch {
                        public uint attach (GLib.MainContext context);
                        public void reset ();
-                       public Gst.RTSP.Result send_message (Gst.RTSP.Message message, uint id);
+                       public Gst.RTSP.Result send_message (Gst.RTSP.Message message, out uint id);
                        public void unref ();
-                       public Gst.RTSP.Result write_data (uint8 data, uint size, uint id);
+                       public Gst.RTSP.Result write_data (uint8 data, uint size, out uint id);
                }
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", type_id = "gst_rtsp_extension_get_type ()")]
                [GIR (name = "RTSPExtension")]
@@ -97,20 +97,20 @@ namespace Gst {
                        public Gst.RTSP.Result append_headers (GLib.StringBuilder str);
                        public Gst.RTSP.Result dump ();
                        public Gst.RTSP.Result free ();
-                       public Gst.RTSP.Result get_body (uint8 data, uint size);
-                       public Gst.RTSP.Result get_header (Gst.RTSP.HeaderField field, string value, int indx);
+                       public Gst.RTSP.Result get_body ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] out unowned uint8[] data);
+                       public Gst.RTSP.Result get_header (Gst.RTSP.HeaderField field, out unowned string value, int indx);
                        public Gst.RTSP.MsgType get_type ();
                        public Gst.RTSP.Result init ();
                        public Gst.RTSP.Result init_data (uint8 channel);
                        public Gst.RTSP.Result init_request (Gst.RTSP.Method method, string uri);
-                       public Gst.RTSP.Result init_response (Gst.RTSP.StatusCode code, string reason, Gst.RTSP.Message request);
-                       public Gst.RTSP.Result parse_data (uint8 channel);
-                       public Gst.RTSP.Result parse_request (Gst.RTSP.Method method, string uri, Gst.RTSP.Version version);
-                       public Gst.RTSP.Result parse_response (Gst.RTSP.StatusCode code, string reason, Gst.RTSP.Version version);
+                       public Gst.RTSP.Result init_response (Gst.RTSP.StatusCode code, string? reason, Gst.RTSP.Message? request);
+                       public Gst.RTSP.Result parse_data (out uint8 channel);
+                       public Gst.RTSP.Result parse_request (out Gst.RTSP.Method method, out string uri, out Gst.RTSP.Version version);
+                       public Gst.RTSP.Result parse_response (out Gst.RTSP.StatusCode code, out string reason, out Gst.RTSP.Version version);
                        public Gst.RTSP.Result remove_header (Gst.RTSP.HeaderField field, int indx);
-                       public Gst.RTSP.Result set_body (uint8 data, uint size);
-                       public Gst.RTSP.Result steal_body (uint8 data, uint size);
-                       public Gst.RTSP.Result take_body (uint8 data, uint size);
+                       public Gst.RTSP.Result set_body ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
+                       public Gst.RTSP.Result steal_body ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] out uint8[] data);
+                       public Gst.RTSP.Result take_body ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] owned uint8[] data);
                        public Gst.RTSP.Result take_header (Gst.RTSP.HeaderField field, string value);
                        public Gst.RTSP.Result unset ();
                }
@@ -426,11 +426,11 @@ namespace Gst {
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h", cname = "GST_RTSP_DEFAULT_PORT")]
                public const int _DEFAULT_PORT;
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
-               public static Gst.RTSP.Result connection_accept (GLib.Socket socket, Gst.RTSP.Connection conn, GLib.Cancellable? cancellable = null);
+               public static Gst.RTSP.Result connection_accept (GLib.Socket socket, out Gst.RTSP.Connection conn, GLib.Cancellable? cancellable = null);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
-               public static Gst.RTSP.Result connection_create (Gst.RTSP.Url url, Gst.RTSP.Connection conn);
+               public static Gst.RTSP.Result connection_create (Gst.RTSP.Url url, out Gst.RTSP.Connection conn);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
-               public static Gst.RTSP.Result connection_create_from_socket (GLib.Socket socket, string ip, uint16 port, string initial_buffer, Gst.RTSP.Connection conn);
+               public static Gst.RTSP.Result connection_create_from_socket (GLib.Socket socket, string ip, uint16 port, string initial_buffer, out Gst.RTSP.Connection conn);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
                public static Gst.RTSP.HeaderField find_header_field (string header);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
@@ -440,13 +440,13 @@ namespace Gst {
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
                public static unowned string header_as_text (Gst.RTSP.HeaderField field);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
-               public static Gst.RTSP.Result message_new (Gst.RTSP.Message msg);
+               public static Gst.RTSP.Result message_new (out Gst.RTSP.Message msg);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
-               public static Gst.RTSP.Result message_new_data (Gst.RTSP.Message msg, uint8 channel);
+               public static Gst.RTSP.Result message_new_data (out Gst.RTSP.Message msg, uint8 channel);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
-               public static Gst.RTSP.Result message_new_request (Gst.RTSP.Message msg, Gst.RTSP.Method method, string uri);
+               public static Gst.RTSP.Result message_new_request (out Gst.RTSP.Message msg, Gst.RTSP.Method method, string uri);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
-               public static Gst.RTSP.Result message_new_response (Gst.RTSP.Message msg, Gst.RTSP.StatusCode code, string reason, Gst.RTSP.Message request);
+               public static Gst.RTSP.Result message_new_response (out Gst.RTSP.Message msg, Gst.RTSP.StatusCode code, string? reason, Gst.RTSP.Message? request);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
                public static unowned string method_as_text (Gst.RTSP.Method method);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
@@ -470,7 +470,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
                public static Gst.RTSP.Result transport_parse (string str, Gst.RTSP.Transport transport);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
-               public static Gst.RTSP.Result url_parse (string urlstr, Gst.RTSP.Url url);
+               public static Gst.RTSP.Result url_parse (string urlstr, out Gst.RTSP.Url url);
                [CCode (cheader_filename = "gst/rtsp/gstrtsp-enumtypes.h,gst/rtsp/gstrtspconnection.h,gst/rtsp/gstrtspdefs.h,gst/rtsp/gstrtspextension.h,gst/rtsp/gstrtspmessage.h,gst/rtsp/gstrtsprange.h,gst/rtsp/gstrtsptransport.h,gst/rtsp/gstrtspurl.h")]
                public static unowned string version_as_text (Gst.RTSP.Version version);
        }
diff --git a/vapi/gstreamer-rtsp-server-1.0.deps b/vapi/gstreamer-rtsp-server-1.0.deps
new file mode 100644 (file)
index 0000000..1c8cb78
--- /dev/null
@@ -0,0 +1,2 @@
+gstreamer-rtsp-1.0
+gio-2.0
diff --git a/vapi/gstreamer-rtsp-server-1.0.vapi b/vapi/gstreamer-rtsp-server-1.0.vapi
new file mode 100644 (file)
index 0000000..a0a3cb1
--- /dev/null
@@ -0,0 +1,390 @@
+/* gstreamer-rtsp-server-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gst", gir_namespace = "GstRtspServer", gir_version = "1.0", lower_case_cprefix = "gst_")]
+namespace Gst {
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_auth_get_type ()")]
+       public class RTSPAuth : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public RTSPAuth ();
+               public bool check (Gst.RTSPClient client, GLib.Quark hint, Gst.RTSPClientState state);
+               [NoWrapper]
+               public virtual bool check_method (Gst.RTSPClient client, GLib.Quark hint, Gst.RTSPClientState state);
+               public static string make_basic (string user, string pass);
+               public void set_basic (string basic);
+               public virtual bool setup_auth (Gst.RTSPClient client, GLib.Quark hint, Gst.RTSPClientState state);
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_client_get_type ()")]
+       public class RTSPClient : GLib.Object {
+               public weak Gst.RTSPAuth auth;
+               public weak Gst.RTSP.Connection connection;
+               public bool is_ipv6;
+               public weak Gst.RTSPMedia media;
+               public weak Gst.RTSPServer server;
+               public weak string server_ip;
+               public weak GLib.List<void*> sessions;
+               public weak GLib.List<void*> transports;
+               public weak Gst.RTSP.Url uri;
+               public weak Gst.RTSP.Watch watch;
+               public uint watchid;
+               [CCode (has_construct_function = false)]
+               public RTSPClient ();
+               public bool accept (GLib.Socket socket, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public bool create_from_socket (GLib.Socket socket, string ip, int port, string initial_buffer) throws GLib.Error;
+               public Gst.RTSPAuth get_auth ();
+               public Gst.RTSPMediaMapping get_media_mapping ();
+               public Gst.RTSPServer get_server ();
+               public Gst.RTSPSessionPool get_session_pool ();
+               public bool get_use_client_settings ();
+               public void set_auth (Gst.RTSPAuth auth);
+               public void set_media_mapping (Gst.RTSPMediaMapping mapping);
+               public void set_server (Gst.RTSPServer server);
+               public void set_session_pool (Gst.RTSPSessionPool pool);
+               public void set_use_client_settings (bool use_client_settings);
+               public Gst.RTSPMediaMapping media_mapping { owned get; set; }
+               public Gst.RTSPSessionPool session_pool { owned get; set; }
+               public bool use_client_settings { get; set; }
+               public virtual signal void closed ();
+               public virtual signal void describe_request (void* state);
+               public virtual signal void get_parameter_request (void* state);
+               public virtual signal void new_session (Gst.RTSPSession session);
+               public virtual signal void options_request (void* state);
+               public virtual signal void pause_request (void* state);
+               public virtual signal void play_request (void* state);
+               public virtual signal void set_parameter_request (void* state);
+               public virtual signal void setup_request (void* state);
+               public virtual signal void teardown_request (void* state);
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_media_get_type ()")]
+       public class RTSPMedia : GLib.Object {
+               public bool adding;
+               public weak Gst.RTSPAuth auth;
+               public bool buffering;
+               public weak GLib.Cond cond;
+               public weak GLib.List<void*> @dynamic;
+               public weak Gst.Element element;
+               public weak Gst.Element fakesink;
+               public uint id;
+               public bool is_ipv6;
+               public bool is_live;
+               public weak GLib.Mutex @lock;
+               public int n_active;
+               public Gst.Element pipeline;
+               public Gst.RTSP.TimeRange range;
+               public bool reused;
+               public weak Gst.Element rtpbin;
+               public bool seekable;
+               public weak GLib.Source source;
+               public Gst.RTSPMediaStatus status;
+               public weak GLib.GenericArray<void*> streams;
+               public Gst.State target_state;
+               [CCode (has_construct_function = false)]
+               public RTSPMedia ();
+               public void collect_streams ();
+               public unowned Gst.RTSPStream create_stream (Gst.Element payloader, Gst.Pad srcpad);
+               [CCode (vfunc_name = "new_state")]
+               [NoWrapper]
+               public virtual bool emit_new_state (Gst.State state);
+               public Gst.RTSPAuth get_auth ();
+               public uint get_buffer_size ();
+               public uint get_mtu ();
+               public string get_multicast_group ();
+               public Gst.RTSP.LowerTrans get_protocols ();
+               public string get_range_string (bool play);
+               public unowned Gst.RTSPStream get_stream (uint idx);
+               [NoWrapper]
+               public virtual bool handle_message (Gst.Message message);
+               public bool is_eos_shutdown ();
+               public bool is_reusable ();
+               public bool is_shared ();
+               public uint n_streams ();
+               public bool prepare ();
+               public bool seek (Gst.RTSP.TimeRange range);
+               public void set_auth (Gst.RTSPAuth auth);
+               public void set_buffer_size (uint size);
+               public void set_eos_shutdown (bool eos_shutdown);
+               public void set_mtu (uint mtu);
+               public void set_multicast_group (string mc);
+               public void set_protocols (Gst.RTSP.LowerTrans protocols);
+               public void set_reusable (bool reusable);
+               public void set_shared (bool shared);
+               public bool set_state (Gst.State state, GLib.GenericArray<void*> transports);
+               public virtual bool unprepare ();
+               public uint buffer_size { get; set; }
+               [NoAccessorMethod]
+               public bool eos_shutdown { get; set; }
+               public uint mtu { get; set; }
+               public string multicast_group { owned get; set; }
+               public Gst.RTSP.LowerTrans protocols { get; set; }
+               [NoAccessorMethod]
+               public bool reusable { get; set; }
+               [NoAccessorMethod]
+               public bool shared { get; set; }
+               public virtual signal void new_state ();
+               public virtual signal void prepared ();
+               public virtual signal void unprepared ();
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_media_factory_get_type ()")]
+       public class RTSPMediaFactory : GLib.Object {
+               public weak Gst.RTSPAuth auth;
+               public weak GLib.Mutex @lock;
+               public weak GLib.HashTable<void*,void*> medias;
+               public weak GLib.Mutex medias_lock;
+               [CCode (has_construct_function = false)]
+               public RTSPMediaFactory ();
+               [NoWrapper]
+               public virtual void configure (Gst.RTSPMedia media);
+               public virtual Gst.RTSPMedia? @construct (Gst.RTSP.Url url);
+               public virtual unowned Gst.Element create_element (Gst.RTSP.Url url);
+               [NoWrapper]
+               public virtual string gen_key (Gst.RTSP.Url url);
+               public Gst.RTSPAuth get_auth ();
+               public uint get_buffer_size ();
+               public string get_launch ();
+               public string get_multicast_group ();
+               public Gst.RTSP.LowerTrans get_protocols ();
+               public bool is_eos_shutdown ();
+               public bool is_shared ();
+               public void set_auth (Gst.RTSPAuth auth);
+               public void set_buffer_size (uint size);
+               public void set_eos_shutdown (bool eos_shutdown);
+               public void set_launch (string launch);
+               public void set_multicast_group (string mc);
+               public void set_protocols (Gst.RTSP.LowerTrans protocols);
+               public void set_shared (bool shared);
+               public uint buffer_size { get; set; }
+               [NoAccessorMethod]
+               public bool eos_shutdown { get; set; }
+               public string launch { owned get; set; }
+               public string multicast_group { owned get; set; }
+               public Gst.RTSP.LowerTrans protocols { get; set; }
+               [NoAccessorMethod]
+               public bool shared { get; set; }
+               public virtual signal void media_configure (Gst.RTSPMedia media);
+               public virtual signal void media_constructed (Gst.RTSPMedia media);
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_media_factory_uri_get_type ()")]
+       public class RTSPMediaFactoryURI : Gst.RTSPMediaFactory {
+               public weak GLib.List<void*> decoders;
+               public weak GLib.List<void*> demuxers;
+               public weak GLib.List<void*> payloaders;
+               public weak Gst.Caps raw_acaps;
+               public weak Gst.Caps raw_vcaps;
+               [CCode (has_construct_function = false)]
+               public RTSPMediaFactoryURI ();
+               public string get_uri ();
+               public void set_uri (string uri);
+               public string uri { owned get; set; }
+               [NoAccessorMethod]
+               public bool use_gstpay { get; set; }
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_media_mapping_get_type ()")]
+       public class RTSPMediaMapping : GLib.Object {
+               public weak GLib.HashTable<void*,void*> mappings;
+               [CCode (has_construct_function = false)]
+               public RTSPMediaMapping ();
+               public void add_factory (string path, owned Gst.RTSPMediaFactory factory);
+               public virtual Gst.RTSPMediaFactory? find_factory (Gst.RTSP.Url url);
+               public void remove_factory (string path);
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_server_get_type ()")]
+       public class RTSPServer : GLib.Object {
+               public weak Gst.RTSPAuth auth;
+               public weak GLib.List<void*> clients;
+               public weak GLib.Mutex @lock;
+               public weak GLib.Socket socket;
+               [CCode (has_construct_function = false)]
+               public RTSPServer ();
+               [NoWrapper]
+               public virtual bool accept_client (Gst.RTSPClient client, GLib.Socket socket) throws GLib.Error;
+               public uint attach (GLib.MainContext? context);
+               public GLib.Socket create_socket (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public GLib.Source create_source (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public string get_address ();
+               public Gst.RTSPAuth get_auth ();
+               public int get_backlog ();
+               public int get_bound_port ();
+               public Gst.RTSPMediaMapping get_media_mapping ();
+               public string get_service ();
+               public Gst.RTSPSessionPool get_session_pool ();
+               public static bool io_func (GLib.Socket socket, GLib.IOCondition condition, Gst.RTSPServer server);
+               public void set_address (string address);
+               public void set_auth (Gst.RTSPAuth auth);
+               public void set_backlog (int backlog);
+               public void set_media_mapping (Gst.RTSPMediaMapping mapping);
+               public void set_service (string service);
+               public void set_session_pool (Gst.RTSPSessionPool pool);
+               public bool transfer_connection (GLib.Socket socket, string ip, int port, string initial_buffer);
+               public string address { owned get; set; }
+               public int backlog { get; set; }
+               public int bound_port { get; }
+               public Gst.RTSPMediaMapping media_mapping { owned get; set; }
+               public string service { owned get; set; }
+               public Gst.RTSPSessionPool session_pool { owned get; set; }
+               public virtual signal void client_connected (Gst.RTSPClient client);
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_session_get_type ()")]
+       public class RTSPSession : GLib.Object {
+               public GLib.TimeVal create_time;
+               public int expire_count;
+               public GLib.TimeVal last_access;
+               public weak GLib.List<void*> medias;
+               [CCode (has_construct_function = false)]
+               public RTSPSession (string sessionid);
+               public void allow_expire ();
+               public unowned Gst.RTSPSessionMedia get_media (Gst.RTSP.Url url);
+               public unowned string get_sessionid ();
+               public uint get_timeout ();
+               public bool is_expired (GLib.TimeVal now);
+               public unowned Gst.RTSPSessionMedia manage_media (Gst.RTSP.Url uri, owned Gst.RTSPMedia media);
+               public int next_timeout (GLib.TimeVal now);
+               public void prevent_expire ();
+               public bool release_media (Gst.RTSPSessionMedia media);
+               public void set_timeout (uint timeout);
+               public void touch ();
+               public string sessionid { get; construct; }
+               public uint timeout { get; set; }
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_session_media_get_type ()")]
+       public class RTSPSessionMedia : GLib.Object {
+               public uint counter;
+               public weak Gst.RTSPMedia media;
+               public Gst.RTSP.State state;
+               public weak GLib.GenericArray<void*> transports;
+               public weak Gst.RTSP.Url url;
+               [CCode (has_construct_function = false)]
+               public RTSPSessionMedia (Gst.RTSP.Url url, Gst.RTSPMedia media);
+               public bool alloc_channels (Gst.RTSP.Range range);
+               public unowned Gst.RTSPStreamTransport get_transport (uint idx);
+               public bool set_state (Gst.State state);
+               public unowned Gst.RTSPStreamTransport set_transport (Gst.RTSPStream stream, Gst.RTSP.Transport tr);
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_session_pool_get_type ()")]
+       public class RTSPSessionPool : GLib.Object {
+               public weak GLib.Mutex @lock;
+               public weak GLib.HashTable<void*,void*> sessions;
+               [CCode (has_construct_function = false)]
+               public RTSPSessionPool ();
+               public uint cleanup ();
+               public unowned Gst.RTSPSession create ();
+               [NoWrapper]
+               public virtual string create_session_id ();
+               public GLib.Source create_watch ();
+               public GLib.List<Gst.RTSPSession> filter (Gst.RTSPSessionFilterFunc func);
+               public Gst.RTSPSession find (string sessionid);
+               public uint get_max_sessions ();
+               public uint get_n_sessions ();
+               public bool remove (Gst.RTSPSession sess);
+               public void set_max_sessions (uint max);
+               public uint max_sessions { get; set; }
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_stream_get_type ()")]
+       public class RTSPStream : GLib.Object {
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak Gst.Element[] appqueue;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak Gst.Element[] appsink;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak Gst.Element[] appsrc;
+               public uint buffer_size;
+               public weak Gst.Caps caps;
+               public ulong caps_sig;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak Gst.Element[] funnel;
+               public uint idx;
+               public bool is_ipv6;
+               public bool is_joined;
+               public uint n_active;
+               public weak Gst.Element payloader;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak Gst.Pad[] recv_sink;
+               public weak Gst.Pad send_rtp_sink;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak Gst.Pad[] send_src;
+               public Gst.RTSP.Range server_port;
+               public weak GLib.Object session;
+               public weak Gst.Pad srcpad;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak Gst.Element[] tee;
+               public weak GLib.List<void*> transports;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak Gst.Element[] udpsink;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak Gst.Element[] udpsrc;
+               [CCode (has_construct_function = false)]
+               public RTSPStream (uint idx, Gst.Element payloader, Gst.Pad srcpad);
+               public bool add_transport (Gst.RTSPStreamTransport trans);
+               public uint get_mtu ();
+               public bool get_rtpinfo (uint rtptime, uint seq);
+               public bool join_bin (Gst.Bin bin, Gst.Element rtpbin, Gst.State state);
+               public bool leave_bin (Gst.Bin bin, Gst.Element rtpbin);
+               public Gst.FlowReturn recv_rtcp (owned Gst.Buffer buffer);
+               public Gst.FlowReturn recv_rtp (owned Gst.Buffer buffer);
+               public bool remove_transport (Gst.RTSPStreamTransport trans);
+               public void set_mtu (uint mtu);
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", type_id = "gst_rtsp_stream_transport_get_type ()")]
+       public class RTSPStreamTransport : GLib.Object {
+               public bool active;
+               public weak GLib.DestroyNotify ka_notify;
+               public void* ka_user_data;
+               public weak Gst.RTSPKeepAliveFunc keep_alive;
+               public weak GLib.DestroyNotify notify;
+               public weak GLib.Object rtpsource;
+               public weak Gst.RTSPSendFunc send_rtcp;
+               public weak Gst.RTSPSendFunc send_rtp;
+               public weak Gst.RTSPStream stream;
+               public bool timeout;
+               public Gst.RTSP.Transport transport;
+               public void* user_data;
+               [CCode (has_construct_function = false)]
+               public RTSPStreamTransport (Gst.RTSPStream stream, owned Gst.RTSP.Transport tr);
+               public void set_callbacks (Gst.RTSPSendFunc send_rtp, owned Gst.RTSPSendFunc send_rtcp);
+               public void set_keepalive (owned Gst.RTSPKeepAliveFunc keep_alive);
+               public void set_transport (owned Gst.RTSP.Transport tr);
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", has_type_id = false)]
+       public struct RTSPClientState {
+               public Gst.RTSP.Message request;
+               public weak Gst.RTSP.Url uri;
+               public Gst.RTSP.Method method;
+               public weak Gst.RTSPSession session;
+               public weak Gst.RTSPSessionMedia sessmedia;
+               public weak Gst.RTSPMediaFactory factory;
+               public weak Gst.RTSPMedia media;
+               public weak Gst.RTSPStream stream;
+               public Gst.RTSP.Message response;
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", has_type_id = false)]
+       public struct SDPInfo {
+               public weak string server_proto;
+               public weak string server_ip;
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", cprefix = "GST_RTSP_FILTER_", has_type_id = false)]
+       public enum RTSPFilterResult {
+               REMOVE,
+               KEEP,
+               REF
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", cprefix = "GST_RTSP_MEDIA_STATUS_", has_type_id = false)]
+       public enum RTSPMediaStatus {
+               UNPREPARED,
+               UNPREPARING,
+               PREPARING,
+               PREPARED,
+               ERROR
+       }
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", instance_pos = 0.9)]
+       public delegate void RTSPKeepAliveFunc ();
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", instance_pos = 2.9)]
+       public delegate bool RTSPSendFunc (Gst.Buffer buffer, uint8 channel);
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", instance_pos = 2.9)]
+       public delegate Gst.RTSPFilterResult RTSPSessionFilterFunc (Gst.RTSPSessionPool pool, Gst.RTSPSession session);
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h", instance_pos = 1.9)]
+       public delegate bool RTSPSessionPoolFunc (Gst.RTSPSessionPool pool);
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h")]
+       public static Gst.RTSP.Result rtsp_params_get (Gst.RTSPClient client, Gst.RTSPClientState state);
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h")]
+       public static Gst.RTSP.Result rtsp_params_set (Gst.RTSPClient client, Gst.RTSPClientState state);
+       [CCode (cheader_filename = "gst/rtsp-server/rtsp-server.h")]
+       public static bool rtsp_sdp_from_media (Gst.SDP.Message sdp, Gst.SDPInfo info, Gst.RTSPMedia media);
+}
index 469056d..da67f78 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-sdp-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstSdp", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/sdp/gstsdpmessage.h")]
        [Compact]
index 190d17e..bab2a29 100644 (file)
@@ -34,22 +34,22 @@ namespace Gst {
                        public Gst.SDP.Result dump ();
                        public uint emails_len ();
                        public Gst.SDP.Result free ();
-                       public Gst.SDP.Attribute get_attribute (uint idx);
+                       public unowned Gst.SDP.Attribute? get_attribute (uint idx);
                        public unowned string get_attribute_val (string key);
                        public unowned string get_attribute_val_n (string key, uint nth);
-                       public Gst.SDP.Bandwidth get_bandwidth (uint idx);
-                       public Gst.SDP.Connection get_connection ();
+                       public unowned Gst.SDP.Bandwidth? get_bandwidth (uint idx);
+                       public unowned Gst.SDP.Connection? get_connection ();
                        public unowned string get_email (uint idx);
                        public unowned string get_information ();
-                       public Gst.SDP.Key get_key ();
-                       public Gst.SDP.Media get_media (uint idx);
-                       public Gst.SDP.Origin get_origin ();
+                       public unowned Gst.SDP.Key? get_key ();
+                       public unowned Gst.SDP.Media? get_media (uint idx);
+                       public unowned Gst.SDP.Origin? get_origin ();
                        public unowned string get_phone (uint idx);
                        public unowned string get_session_name ();
-                       public Gst.SDP.Time get_time (uint idx);
+                       public unowned Gst.SDP.Time? get_time (uint idx);
                        public unowned string get_uri ();
                        public unowned string get_version ();
-                       public Gst.SDP.Zone get_zone (uint idx);
+                       public unowned Gst.SDP.Zone? get_zone (uint idx);
                        public Gst.SDP.Result init ();
                        public uint medias_len ();
                        public uint phones_len ();
@@ -114,14 +114,14 @@ namespace Gst {
                        public uint connections_len ();
                        public uint formats_len ();
                        public Gst.SDP.Result free ();
-                       public Gst.SDP.Attribute get_attribute (uint idx);
+                       public unowned Gst.SDP.Attribute? get_attribute (uint idx);
                        public unowned string get_attribute_val (string key);
                        public unowned string get_attribute_val_n (string key, uint nth);
-                       public Gst.SDP.Bandwidth get_bandwidth (uint idx);
-                       public Gst.SDP.Connection get_connection (uint idx);
+                       public unowned Gst.SDP.Bandwidth? get_bandwidth (uint idx);
+                       public unowned Gst.SDP.Connection? get_connection (uint idx);
                        public unowned string get_format (uint idx);
                        public unowned string get_information ();
-                       public Gst.SDP.Key get_key ();
+                       public unowned Gst.SDP.Key? get_key ();
                        public unowned string get_media ();
                        public uint get_num_ports ();
                        public uint get_port ();
index 465c460..b427017 100644 (file)
@@ -1,6 +1,6 @@
 /* gstreamer-tag-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstTag", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cheader_filename = "gst/tag/gsttagdemux.h")]
        public class TagDemux : Gst.Element {
index 26a0edb..2efe26d 100644 (file)
@@ -1 +1 @@
-gstreamer-1.0
+gstreamer-base-1.0
index fa2052c..9e60e92 100644 (file)
@@ -1,6 +1,6 @@
-/* gstreamer-video-0.10.vapi generated by lt-vapigen, do not modify. */
+/* gstreamer-video-0.10.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
+[CCode (cprefix = "Gst", gir_namespace = "GstVideo", gir_version = "0.10", lower_case_cprefix = "gst_")]
 namespace Gst {
        [CCode (cprefix = "GST_VIDEO_CAPS_")]
        namespace VideoCaps {
index 26a0edb..2efe26d 100644 (file)
@@ -1 +1 @@
-gstreamer-1.0
+gstreamer-base-1.0
index 4d23e95..bcb6d77 100644 (file)
@@ -73,6 +73,7 @@ namespace Gst {
                        public Gst.Video.CodecFrame get_oldest_frame ();
                        public Gst.Video.CodecState get_output_state ();
                        public bool get_packetized ();
+                       public double get_qos_proportion ();
                        [NoWrapper]
                        public virtual Gst.FlowReturn handle_frame (Gst.Video.CodecFrame frame);
                        public Gst.FlowReturn have_frame ();
@@ -756,7 +757,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
                public static GLib.Type crop_meta_api_get_type ();
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
-               public static Gst.MetaInfo crop_meta_get_info ();
+               public static unowned Gst.MetaInfo? crop_meta_get_info ();
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
                public static bool event_is_force_key_unit (Gst.Event event);
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
@@ -778,7 +779,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
                public static Gst.Video.Format format_from_string (string format);
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
-               public static Gst.Video.FormatInfo format_get_info (Gst.Video.Format format);
+               public static unowned Gst.Video.FormatInfo? format_get_info (Gst.Video.Format format);
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
                public static uint32 format_to_fourcc (Gst.Video.Format format);
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
@@ -788,7 +789,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
                public static GLib.Type meta_api_get_type ();
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
-               public static Gst.MetaInfo meta_get_info ();
+               public static unowned Gst.MetaInfo? meta_get_info ();
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
                public static GLib.Quark meta_transform_scale_get_quark ();
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h", cname = "gst_navigation_event_get_type")]
@@ -832,6 +833,6 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
                public static GLib.Type overlay_composition_meta_api_get_type ();
                [CCode (cheader_filename = "gst/video/colorbalance.h,gst/video/colorbalancechannel.h,gst/video/gstvideodecoder.h,gst/video/gstvideoencoder.h,gst/video/gstvideofilter.h,gst/video/gstvideometa.h,gst/video/gstvideopool.h,gst/video/gstvideosink.h,gst/video/gstvideoutils.h,gst/video/navigation.h,gst/video/video-blend.h,gst/video/video-color.h,gst/video/video-enumtypes.h,gst/video/video-event.h,gst/video/video-format.h,gst/video/video-frame.h,gst/video/video-info.h,gst/video/video-overlay-composition.h,gst/video/video.h,gst/video/videoorientation.h,gst/video/videooverlay.h")]
-               public static Gst.MetaInfo overlay_composition_meta_get_info ();
+               public static unowned Gst.MetaInfo? overlay_composition_meta_get_info ();
        }
 }
index 755d0d2..9920cb3 100644 (file)
@@ -1716,7 +1716,7 @@ namespace Gtk {
                public void set_title (string title);
                public void set_width_chars (int n_chars);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public FileChooserButton.with_dialog (Gtk.Widget dialog);
+               public FileChooserButton.with_dialog (Gtk.Dialog dialog);
                public Gtk.FileChooser dialog { construct; }
                public bool focus_on_click { get; set; }
                public string title { get; set; }
@@ -8087,7 +8087,7 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static GLib.Type identifier_get_type ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void init ([CCode (array_length_pos = 0.9)] ref unowned string[] argv);
+       public static void init ([CCode (array_length_pos = 0.9)] ref unowned string[]? argv);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void init_add (Gtk.Function function);
        [CCode (cheader_filename = "gtk/gtk.h")]
index c566881..f41f2be 100644 (file)
@@ -312,6 +312,7 @@ namespace Gtk {
                public unowned Gtk.Widget get_accel_widget ();
                public uint get_accel_width ();
                public bool refetch ();
+               public void set_accel (uint accelerator_key, Gdk.ModifierType accelerator_mods);
                public void set_accel_closure ([CCode (type = "GClosure*")] owned Gtk.AccelGroupActivate accel_closure);
                public void set_accel_widget (Gtk.Widget accel_widget);
                [NoAccessorMethod]
@@ -437,16 +438,19 @@ namespace Gtk {
                public void add_radio_actions_full (Gtk.RadioActionEntry[] entries, int value, [CCode (type = "GCallback")] Gtk.RadioActionCallback on_change, GLib.DestroyNotify? destroy);
                public void add_toggle_actions (Gtk.ToggleActionEntry[] entries, void* user_data);
                public void add_toggle_actions_full (Gtk.ToggleActionEntry[] entries, void* user_data, GLib.DestroyNotify? destroy);
+               public unowned Gtk.AccelGroup get_accel_group ();
                public virtual unowned Gtk.Action get_action (string action_name);
                public bool get_sensitive ();
                public bool get_visible ();
                public GLib.List<weak Gtk.Action> list_actions ();
                public void remove_action (Gtk.Action action);
+               public void set_accel_group (Gtk.AccelGroup accel_group);
                public void set_sensitive (bool sensitive);
                public void set_translate_func (owned Gtk.TranslateFunc func);
                public void set_translation_domain (string domain);
                public void set_visible (bool visible);
                public unowned string translate_string (string str);
+               public Gtk.AccelGroup accel_group { get; set; }
                public string name { get; construct; }
                public bool sensitive { get; set; }
                public bool visible { get; set; }
@@ -572,6 +576,7 @@ namespace Gtk {
                public Application (string application_id, GLib.ApplicationFlags flags);
                public void add_accelerator (string accelerator, string action_name, GLib.Variant? parameter);
                public void add_window (Gtk.Window window);
+               public unowned Gtk.Window get_active_window ();
                public unowned GLib.MenuModel get_app_menu ();
                public unowned GLib.MenuModel get_menubar ();
                public unowned Gtk.Window get_window_by_id (uint id);
@@ -583,6 +588,7 @@ namespace Gtk {
                public void set_app_menu (GLib.MenuModel app_menu);
                public void set_menubar (GLib.MenuModel menubar);
                public void uninhibit (uint cookie);
+               public Gtk.Window active_window { get; }
                public GLib.MenuModel app_menu { get; set; }
                public GLib.MenuModel menubar { get; set; }
                [NoAccessorMethod]
@@ -885,7 +891,7 @@ namespace Gtk {
                [CCode (cname = "gtk_cell_area_class_find_cell_property")]
                public class unowned GLib.ParamSpec find_cell_property (string property_name);
                public virtual bool focus (Gtk.DirectionType direction);
-               public virtual void @foreach (Gtk.CellCallback callback, void* callback_data);
+               public virtual void @foreach (Gtk.CellCallback callback);
                public virtual void foreach_alloc (Gtk.CellAreaContext context, Gtk.Widget widget, Gdk.Rectangle cell_area, Gdk.Rectangle background_area, Gtk.CellAllocCallback callback, void* callback_data);
                public void get_cell_allocation (Gtk.CellAreaContext context, Gtk.Widget widget, Gtk.CellRenderer renderer, Gdk.Rectangle cell_area, Gdk.Rectangle allocation);
                public unowned Gtk.CellRenderer get_cell_at_position (Gtk.CellAreaContext context, Gtk.Widget widget, Gdk.Rectangle cell_area, int x, int y, Gdk.Rectangle alloc_area);
@@ -1289,7 +1295,7 @@ namespace Gtk {
                public CheckButton.with_mnemonic (string label);
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public class CheckMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable {
+       public class CheckMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, Gtk.Actionable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public CheckMenuItem ();
                [NoWrapper]
@@ -1588,7 +1594,7 @@ namespace Gtk {
                public CssProvider ();
                public static GLib.Quark error_quark ();
                public static unowned Gtk.CssProvider get_default ();
-               public static unowned Gtk.CssProvider get_named (string name, string variant);
+               public static unowned Gtk.CssProvider get_named (string name, string? variant);
                public bool load_from_data (string data, ssize_t length) throws GLib.Error;
                public bool load_from_file (GLib.File file) throws GLib.Error;
                public bool load_from_path (string path) throws GLib.Error;
@@ -1642,10 +1648,13 @@ namespace Gtk {
                public Entry ();
                public bool get_activates_default ();
                public float get_alignment ();
+               public unowned Pango.AttrList get_attributes ();
                public unowned Gtk.EntryBuffer get_buffer ();
                public unowned Gtk.EntryCompletion get_completion ();
                public int get_current_icon_drag_source ();
                public unowned Gtk.Adjustment get_cursor_hadjustment ();
+               [NoWrapper]
+               public virtual void get_frame_size (int x, int y, int width, int height);
                public bool get_has_frame ();
                public bool get_icon_activatable (Gtk.EntryIconPosition icon_pos);
                public void get_icon_area (Gtk.EntryIconPosition icon_pos, Gdk.Rectangle icon_area);
@@ -1659,6 +1668,8 @@ namespace Gtk {
                public unowned string get_icon_tooltip_markup (Gtk.EntryIconPosition icon_pos);
                public unowned string get_icon_tooltip_text (Gtk.EntryIconPosition icon_pos);
                public unowned Gtk.Border? get_inner_border ();
+               public Gtk.InputHints get_input_hints ();
+               public Gtk.InputPurpose get_input_purpose ();
                public unichar get_invisible_char ();
                public unowned Pango.Layout get_layout ();
                public void get_layout_offsets (out int x, out int y);
@@ -1680,6 +1691,7 @@ namespace Gtk {
                public void reset_im_context ();
                public void set_activates_default (bool setting);
                public void set_alignment (float xalign);
+               public void set_attributes (Pango.AttrList attrs);
                public void set_buffer (Gtk.EntryBuffer buffer);
                public void set_completion (Gtk.EntryCompletion completion);
                public void set_cursor_hadjustment (Gtk.Adjustment adjustment);
@@ -1695,6 +1707,8 @@ namespace Gtk {
                public void set_icon_tooltip_text (Gtk.EntryIconPosition icon_pos, string? tooltip);
                [Deprecated (since = "3.4")]
                public void set_inner_border (Gtk.Border border);
+               public void set_input_hints (Gtk.InputHints hints);
+               public void set_input_purpose (Gtk.InputPurpose purpose);
                public void set_invisible_char (unichar ch);
                public void set_max_length (int max);
                public void set_overwrite_mode (bool overwrite);
@@ -1709,6 +1723,7 @@ namespace Gtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Entry.with_buffer (Gtk.EntryBuffer buffer);
                public bool activates_default { get; set; }
+               public Pango.AttrList attributes { get; set; }
                public Gtk.EntryBuffer buffer { get; set construct; }
                [NoAccessorMethod]
                public bool caps_lock_warning { get; set; }
@@ -1722,6 +1737,8 @@ namespace Gtk {
                public string im_module { owned get; set; }
                [Deprecated (since = "3.4")]
                public Gtk.Border inner_border { get; set; }
+               public Gtk.InputHints input_hints { get; set; }
+               public Gtk.InputPurpose input_purpose { get; set; }
                public uint invisible_char { get; set; }
                [NoAccessorMethod]
                public bool invisible_char_set { get; set; }
@@ -1914,7 +1931,7 @@ namespace Gtk {
                public void set_title (string title);
                public void set_width_chars (int n_chars);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public FileChooserButton.with_dialog (Gtk.Widget dialog);
+               public FileChooserButton.with_dialog (Gtk.Dialog dialog);
                public Gtk.FileChooser dialog { construct; }
                public bool focus_on_click { get; set; }
                public string title { get; set; }
@@ -2178,6 +2195,10 @@ namespace Gtk {
                public virtual void set_cursor_location (Gdk.Rectangle area);
                public virtual void set_surrounding (string text, int len, int cursor_index);
                public virtual void set_use_preedit (bool use_preedit);
+               [NoAccessorMethod]
+               public Gtk.InputHints input_hints { get; set; }
+               [NoAccessorMethod]
+               public Gtk.InputPurpose input_purpose { get; set; }
                public virtual signal void commit (string str);
                [HasEmitter]
                public virtual signal bool delete_surrounding (int offset, int n_chars);
@@ -2445,7 +2466,7 @@ namespace Gtk {
                public bool use_fallback { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public class ImageMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable {
+       public class ImageMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, Gtk.Actionable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ImageMenuItem ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
@@ -2756,19 +2777,21 @@ namespace Gtk {
                public MenuButton ();
                public unowned Gtk.Widget get_align_widget ();
                public Gtk.ArrowType get_direction ();
-               public unowned Gtk.Menu get_menu ();
                public unowned GLib.MenuModel get_menu_model ();
+               public unowned Gtk.Menu get_popup ();
                public void set_align_widget (Gtk.Widget align_widget);
                public void set_direction (Gtk.ArrowType direction);
-               public void set_menu (Gtk.Widget menu);
                public void set_menu_model (GLib.MenuModel menu_model);
+               public void set_popup (Gtk.Widget popup);
                public Gtk.Container align_widget { get; set; }
                public Gtk.ArrowType direction { get; set; }
-               public Gtk.Menu menu { get; set; }
+               [NoAccessorMethod]
+               public Gtk.Menu menu { owned get; set; }
                public GLib.MenuModel menu_model { get; set; }
+               public Gtk.Menu popup { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public class MenuItem : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.Activatable {
+       public class MenuItem : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, Gtk.Actionable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public MenuItem ();
                public unowned string get_accel_path ();
@@ -2810,6 +2833,7 @@ namespace Gtk {
                protected MenuShell ();
                public void activate_item (Gtk.Widget menu_item, bool force_deactivate);
                public void append ([CCode (type = "GtkWidget*")] Gtk.MenuItem child);
+               public void bind_model (GLib.MenuModel model, string action_namespace, bool with_separators);
                public void deselect ();
                public unowned Gtk.Widget get_parent_shell ();
                [NoWrapper]
@@ -3351,7 +3375,7 @@ namespace Gtk {
                public virtual signal void group_changed ();
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public class RadioMenuItem : Gtk.CheckMenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable {
+       public class RadioMenuItem : Gtk.CheckMenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, Gtk.Actionable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public RadioMenuItem (GLib.SList<Gtk.RadioMenuItem>? group);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
@@ -3738,7 +3762,7 @@ namespace Gtk {
                public Separator (Gtk.Orientation orientation);
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public class SeparatorMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable {
+       public class SeparatorMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, Gtk.Actionable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public SeparatorMenuItem ();
        }
@@ -3855,6 +3879,8 @@ namespace Gtk {
                [NoAccessorMethod]
                public string gtk_modules { owned get; set; }
                [NoAccessorMethod]
+               public bool gtk_primary_button_warps_slider { get; set; }
+               [NoAccessorMethod]
                public string gtk_print_backends { owned get; set; }
                [NoAccessorMethod]
                public string gtk_print_preview_command { owned get; set; }
@@ -3941,7 +3967,7 @@ namespace Gtk {
                public virtual signal bool plug_removed ();
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public class SpinButton : Gtk.Entry, Atk.Implementor, Gtk.Buildable, Gtk.Editable, Gtk.CellEditable {
+       public class SpinButton : Gtk.Entry, Atk.Implementor, Gtk.Buildable, Gtk.Editable, Gtk.CellEditable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public SpinButton (Gtk.Adjustment adjustment, double climb_rate, uint digits);
                public void configure (Gtk.Adjustment adjustment, double climb_rate, uint digits);
@@ -4387,7 +4413,7 @@ namespace Gtk {
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
        [Deprecated (since = "3.4")]
-       public class TearoffMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable {
+       public class TearoffMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, Gtk.Actionable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public TearoffMenuItem ();
        }
@@ -4733,6 +4759,8 @@ namespace Gtk {
                public bool get_editable ();
                public unowned Gtk.Adjustment get_hadjustment ();
                public int get_indent ();
+               public Gtk.InputHints get_input_hints ();
+               public Gtk.InputPurpose get_input_purpose ();
                public void get_iter_at_location (out Gtk.TextIter iter, int x, int y);
                public void get_iter_at_position (out Gtk.TextIter iter, out int trailing, int x, int y);
                public void get_iter_location (Gtk.TextIter iter, out Gdk.Rectangle location);
@@ -4766,6 +4794,8 @@ namespace Gtk {
                public void set_cursor_visible (bool setting);
                public void set_editable (bool setting);
                public void set_indent (int indent);
+               public void set_input_hints (Gtk.InputHints hints);
+               public void set_input_purpose (Gtk.InputPurpose purpose);
                public void set_justification (Gtk.Justification justification);
                public void set_left_margin (int left_margin);
                public void set_overwrite (bool overwrite);
@@ -4786,6 +4816,8 @@ namespace Gtk {
                [NoAccessorMethod]
                public string im_module { owned get; set; }
                public int indent { get; set; }
+               public Gtk.InputHints input_hints { get; set; }
+               public Gtk.InputPurpose input_purpose { get; set; }
                public Gtk.Justification justification { get; set; }
                public int left_margin { get; set; }
                public bool overwrite { get; set; }
@@ -5650,6 +5682,7 @@ namespace Gtk {
                public bool hide_on_delete ();
                public bool in_destruction ();
                public void input_shape_combine_region (Cairo.Region region);
+               public void insert_action_group (string name, GLib.ActionGroup group);
                [CCode (cname = "gtk_widget_class_install_style_property")]
                public class void install_style_property (GLib.ParamSpec pspec);
                [CCode (cname = "gtk_widget_class_install_style_property_parser")]
@@ -6185,7 +6218,7 @@ namespace Gtk {
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
        public interface ColorChooser : GLib.Object {
-               public abstract void add_palette (Gtk.Orientation orientation, int colors_per_line, int n_colors, Gdk.RGBA colors);
+               public abstract void add_palette (Gtk.Orientation orientation, int colors_per_line, [CCode (array_length_pos = 2.9)] Gdk.RGBA[]? colors);
                public abstract Gdk.RGBA get_rgba ();
                public bool get_use_alpha ();
                public abstract void set_rgba (Gdk.RGBA color);
@@ -6830,7 +6863,8 @@ namespace Gtk {
                RULESET,
                SELECTOR,
                DECLARATION,
-               VALUE
+               VALUE,
+               KEYFRAMES
        }
        [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DEBUG_")]
        [Flags]
@@ -6988,6 +7022,32 @@ namespace Gtk {
                ICON_NAME,
                GICON
        }
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_INPUT_HINT_")]
+       [Flags]
+       public enum InputHints {
+               NONE,
+               SPELLCHECK,
+               NO_SPELLCHECK,
+               WORD_COMPLETION,
+               LOWERCASE,
+               UPPERCASE_CHARS,
+               UPPERCASE_WORDS,
+               UPPERCASE_SENTENCES,
+               INHIBIT_OSK
+       }
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_INPUT_PURPOSE_")]
+       public enum InputPurpose {
+               FREE_FORM,
+               ALPHA,
+               DIGITS,
+               NUMBER,
+               PHONE,
+               URL,
+               EMAIL,
+               NAME,
+               PASSWORD,
+               PIN
+       }
        [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_JUNCTION_")]
        [Flags]
        public enum JunctionSides {
@@ -8100,6 +8160,8 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public const string STYLE_CLASS_COMBOBOX_ENTRY;
        [CCode (cheader_filename = "gtk/gtk.h")]
+       public const string STYLE_CLASS_CURSOR_HANDLE;
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public const string STYLE_CLASS_DEFAULT;
        [CCode (cheader_filename = "gtk/gtk.h")]
        public const string STYLE_CLASS_DIM_LABEL;
@@ -8282,7 +8344,7 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static int distribute_natural_allocation (int extra_space, uint n_requested_sizes, Gtk.RequestedSize sizes);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gdk.DragContext drag_begin (Gtk.Widget widget, Gtk.TargetList targets, Gdk.DragAction actions, int button, Gdk.Event event);
+       public static unowned Gdk.DragContext drag_begin (Gtk.Widget widget, Gtk.TargetList targets, Gdk.DragAction actions, int button, Gdk.Event? event);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool drag_check_threshold (Gtk.Widget widget, int start_x, int start_y, int current_x, int current_y);
        [CCode (cheader_filename = "gtk/gtk.h")]
@@ -8403,7 +8465,7 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void icon_size_register_alias (string alias, Gtk.IconSize target);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void init ([CCode (array_length_pos = 0.9)] ref unowned string[] argv);
+       public static void init ([CCode (array_length_pos = 0.9)] ref unowned string[]? argv);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool init_check ([CCode (array_length_pos = 0.9)] ref unowned string[] argv);
        [CCode (cheader_filename = "gtk/gtk.h")]
index 9b70857..8072d3b 100644 (file)
@@ -2,12 +2,6 @@
 
 [CCode (cprefix = "Gtk", gir_namespace = "GtkSource", gir_version = "3.0", lower_case_cprefix = "gtk_")]
 namespace Gtk {
-       namespace SourceCompletionCapability {
-               [CCode (cheader_filename = "gtksourceview/gtksource.h", cname = "GTK_SOURCE_COMPLETION_CAPABILITY_AUTOMATIC")]
-               public const string AUTOMATIC;
-               [CCode (cheader_filename = "gtksourceview/gtksource.h", cname = "GTK_SOURCE_COMPLETION_CAPABILITY_INTERACTIVE")]
-               public const string INTERACTIVE;
-       }
        [CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_buffer_get_type ()")]
        [GIR (name = "Buffer")]
        public class SourceBuffer : Gtk.TextBuffer {
@@ -70,6 +64,7 @@ namespace Gtk {
                public unowned Gtk.SourceCompletionInfo get_info_window ();
                public unowned GLib.List<Gtk.SourceCompletionProvider> get_providers ();
                public unowned Gtk.SourceView get_view ();
+               [Deprecated (since = "3.8")]
                public void move_window (Gtk.TextIter iter);
                [NoWrapper]
                public virtual bool proposal_activated (Gtk.SourceCompletionProvider provider, Gtk.SourceCompletionProposal proposal);
@@ -107,7 +102,7 @@ namespace Gtk {
        public class SourceCompletionContext : GLib.InitiallyUnowned {
                [CCode (has_construct_function = false)]
                protected SourceCompletionContext ();
-               public void add_proposals (Gtk.SourceCompletionProvider provider, GLib.List<Gtk.SourceCompletionProposal> proposals, bool finished);
+               public void add_proposals (Gtk.SourceCompletionProvider provider, GLib.List<Gtk.SourceCompletionProposal>? proposals, bool finished);
                public Gtk.SourceCompletionActivation get_activation ();
                public Gtk.TextIter get_iter ();
                [NoAccessorMethod]
@@ -123,8 +118,10 @@ namespace Gtk {
        public class SourceCompletionInfo : Gtk.Window, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false)]
                public SourceCompletionInfo ();
+               [Deprecated (since = "3.8")]
                public unowned Gtk.Widget get_widget ();
                public void move_to_iter (Gtk.TextView view, Gtk.TextIter? iter);
+               [Deprecated (since = "3.8")]
                public void set_widget (Gtk.Widget? widget);
                public virtual signal void before_show ();
        }
@@ -148,11 +145,6 @@ namespace Gtk {
                [NoAccessorMethod]
                public string text { owned get; set; }
        }
-       [CCode (cheader_filename = "gtksourceview/gtksource.h")]
-       [Compact]
-       [GIR (name = "CompletionModel")]
-       public class SourceCompletionModel {
-       }
        [CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_words_get_type ()")]
        [GIR (name = "CompletionWords")]
        public class SourceCompletionWords : GLib.Object, Gtk.SourceCompletionProvider {
@@ -175,16 +167,6 @@ namespace Gtk {
                [NoAccessorMethod]
                public uint scan_batch_size { get; set construct; }
        }
-       [CCode (cheader_filename = "gtksourceview/gtksource.h")]
-       [Compact]
-       [GIR (name = "ContextEngine")]
-       public class SourceContextEngine {
-       }
-       [CCode (cheader_filename = "gtksourceview/gtksource.h")]
-       [Compact]
-       [GIR (name = "Engine")]
-       public class SourceEngine {
-       }
        [CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_get_type ()")]
        [GIR (name = "Gutter")]
        public class SourceGutter : GLib.Object {
@@ -261,16 +243,6 @@ namespace Gtk {
                [HasEmitter]
                public virtual signal void queue_draw ();
        }
-       [CCode (cheader_filename = "gtksourceview/gtksource.h")]
-       [Compact]
-       [GIR (name = "GutterRendererLines")]
-       public class SourceGutterRendererLines {
-       }
-       [CCode (cheader_filename = "gtksourceview/gtksource.h")]
-       [Compact]
-       [GIR (name = "GutterRendererMarks")]
-       public class SourceGutterRendererMarks {
-       }
        [CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_renderer_pixbuf_get_type ()")]
        [GIR (name = "GutterRendererPixbuf")]
        public class SourceGutterRendererPixbuf : Gtk.SourceGutterRenderer {
@@ -381,11 +353,6 @@ namespace Gtk {
                public signal string query_tooltip_markup (Gtk.SourceMark mark);
                public signal string query_tooltip_text (Gtk.SourceMark mark);
        }
-       [CCode (cheader_filename = "gtksourceview/gtksource.h")]
-       [Compact]
-       [GIR (name = "PixbufHelper")]
-       public class SourcePixbufHelper {
-       }
        [CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_print_compositor_get_type ()")]
        [GIR (name = "PrintCompositor")]
        public class SourcePrintCompositor : GLib.Object {
@@ -441,11 +408,6 @@ namespace Gtk {
                public uint tab_width { get; set; }
                public Gtk.WrapMode wrap_mode { get; set; }
        }
-       [CCode (cheader_filename = "gtksourceview/gtksource.h")]
-       [Compact]
-       [GIR (name = "Regex")]
-       public class SourceRegex {
-       }
        [CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_get_type ()")]
        [GIR (name = "Style")]
        public class SourceStyle : GLib.Object {
@@ -518,11 +480,6 @@ namespace Gtk {
                [CCode (array_length = false, array_null_terminated = true)]
                public string[] search_path { get; set; }
        }
-       [CCode (cheader_filename = "gtksourceview/gtksource.h")]
-       [Compact]
-       [GIR (name = "UndoManagerDefault")]
-       public class SourceUndoManagerDefault {
-       }
        [CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_view_get_type ()")]
        [GIR (name = "View")]
        public class SourceView : Gtk.TextView, Atk.Implementor, Gtk.Buildable, Gtk.Scrollable {
index 9e76baa..1b939d4 100644 (file)
@@ -44,6 +44,7 @@ namespace GData {
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_PRESENTATION_PPT")]
                public const string PPT;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_PRESENTATION_SWF")]
+               [Deprecated (since = "SWF export has been deprecated in the protocol due to low demand for it; PDF export (using %GDATA_DOCUMENTS_PRESENTATION_PDF) is recommended instead. (Since")]
                public const string SWF;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_PRESENTATION_TXT")]
                public const string TXT;
index 7799dd5..6e1f2ab 100644 (file)
@@ -1,14 +1,14 @@
 /* libgsf-1.vapi generated by vapigen, do not modify. */
 
 namespace Gsf {
-       [CCode (cheader_filename = "gsf/gsf-blob.h")]
+       [CCode (cheader_filename = "gsf/gsf-blob.h", type_id = "GSF_BLOB_TYPE")]
        public class Blob : GLib.Object {
                [CCode (has_construct_function = false)]
                public Blob (size_t size, void* data_to_copy) throws GLib.Error;
                public size_t get_size ();
                public void* peek_data ();
        }
-       [CCode (cheader_filename = "gsf/gsf-clip-data.h")]
+       [CCode (cheader_filename = "gsf/gsf-clip-data.h", type_id = "GSF_CLIP_DATA_TYPE")]
        public class ClipData : GLib.Object {
                [CCode (has_construct_function = false)]
                public ClipData (Gsf.ClipFormat format, Gsf.Blob data_blob);
@@ -17,7 +17,7 @@ namespace Gsf {
                public Gsf.ClipFormatWindows get_windows_clipboard_format () throws GLib.Error;
                public void* peek_real_data (size_t ret_size) throws GLib.Error;
        }
-       [CCode (cheader_filename = "gsf/gsf-doc-meta-data.h")]
+       [CCode (cheader_filename = "gsf/gsf-doc-meta-data.h", type_id = "GSF_DOC_META_DATA_TYPE")]
        public class DocMetaData : GLib.Object {
                [CCode (has_construct_function = false)]
                public DocMetaData ();
@@ -42,7 +42,7 @@ namespace Gsf {
                public void set_val (owned GLib.Value val);
                public GLib.Value swap_val (GLib.Value val);
        }
-       [CCode (cheader_filename = "gsf/gsf-docprop-vector.h")]
+       [CCode (cheader_filename = "gsf/gsf-docprop-vector.h", type_id = "GSF_DOC_PROP_VECTOR_TYPE")]
        public class DocPropVector : GLib.Object {
                [CCode (cname = "gsf_docprop_vector_new", has_construct_function = false)]
                public DocPropVector ();
@@ -51,11 +51,11 @@ namespace Gsf {
                [CCode (cname = "gsf_docprop_vector_as_string")]
                public string as_string ();
        }
-       [CCode (cheader_filename = "gsf/gsf-infile-impl.h")]
+       [CCode (cheader_filename = "gsf/gsf-infile-impl.h", type_id = "GSF_INFILE_TYPE")]
        public class Infile : Gsf.Input {
                [CCode (has_construct_function = false)]
                protected Infile ();
-               public unowned Gsf.Input child_by_aname (string[] names);
+               public unowned Gsf.Input child_by_aname ([CCode (array_length = false)] string[] names);
                public virtual unowned Gsf.Input? child_by_index (int i);
                public virtual unowned Gsf.Input? child_by_name (string name);
                public unowned Gsf.Input child_by_vaname (void* names);
@@ -63,21 +63,21 @@ namespace Gsf {
                public virtual unowned string? name_by_index (int i);
                public virtual int num_children ();
        }
-       [CCode (cheader_filename = "gsf/gsf-infile-msole.h")]
+       [CCode (cheader_filename = "gsf/gsf-infile-msole.h", type_id = "GSF_INFILE_MSOLE_TYPE")]
        public class InfileMSOle : Gsf.Infile {
                [CCode (cname = "gsf_infile_msole_new", has_construct_function = false, type = "GsfInfile*")]
                public InfileMSOle (Gsf.Input source) throws GLib.Error;
                [CCode (cname = "gsf_infile_msole_get_class_id")]
                public bool get_class_id (uchar res);
        }
-       [CCode (cheader_filename = "gsf/gsf-infile-msvba.h")]
+       [CCode (cheader_filename = "gsf/gsf-infile-msvba.h", type_id = "GSF_INFILE_MSVBA_TYPE")]
        public class InfileMSVBA : Gsf.Infile {
                [CCode (has_construct_function = false, type = "GsfInfile*")]
                public InfileMSVBA (Gsf.Infile source) throws GLib.Error;
                public unowned GLib.HashTable get_modules ();
                public unowned GLib.HashTable steal_modules ();
        }
-       [CCode (cheader_filename = "gsf/gsf-infile-stdio.h")]
+       [CCode (cheader_filename = "gsf/gsf-infile-stdio.h", type_id = "GSF_INFILE_STDIO_TYPE")]
        public class InfileStdio : Gsf.Infile {
                [CCode (has_construct_function = false, type = "GsfInfile*")]
                public InfileStdio (string root) throws GLib.Error;
@@ -89,7 +89,7 @@ namespace Gsf {
                [NoAccessorMethod]
                public Gsf.Input source { owned get; construct; }
        }
-       [CCode (cheader_filename = "gsf/gsf-infile-zip.h")]
+       [CCode (cheader_filename = "gsf/gsf-infile-zip.h", type_id = "GSF_INFILE_GZIP_TYPE")]
        public class InfileZip : Gsf.Infile {
                [CCode (has_construct_function = false, type = "GsfInfile*")]
                public InfileZip (Gsf.Input source) throws GLib.Error;
@@ -99,7 +99,7 @@ namespace Gsf {
                [NoAccessorMethod]
                public Gsf.Input source { owned get; construct; }
        }
-       [CCode (cheader_filename = "gsf/gsf-input-impl.h")]
+       [CCode (cheader_filename = "gsf/gsf-input-impl.h", type_id = "GSF_INPUT_TYPE")]
        public class Input : GLib.Object {
                public Gsf.off_t cur_offset;
                [CCode (has_construct_function = false)]
@@ -139,7 +139,7 @@ namespace Gsf {
                [NoAccessorMethod]
                public int64 position { get; }
        }
-       [CCode (cheader_filename = "gsf/gsf-input-gzip.h")]
+       [CCode (cheader_filename = "gsf/gsf-input-gzip.h", type_id = "GSF_INPUT_GZIP_TYPE")]
        public class InputGZip : Gsf.Input {
                [CCode (has_construct_function = false, type = "GsfInput*")]
                public InputGZip (Gsf.Input source) throws GLib.Error;
@@ -159,7 +159,7 @@ namespace Gsf {
                [CCode (has_construct_function = false, type = "GsfInput*")]
                public InputGio.for_uri (string uri) throws GLib.Error;
        }
-       [CCode (cheader_filename = "gsf/gsf-input-http.h")]
+       [CCode (cheader_filename = "gsf/gsf-input-http.h", type_id = "GSF_INPUT_HTTP_TYPE")]
        public class InputHTTP : Gsf.Input {
                [CCode (has_construct_function = false, type = "GsfInput*")]
                public InputHTTP (string url) throws GLib.Error;
@@ -168,30 +168,30 @@ namespace Gsf {
                public string content_type { get; construct; }
                public string url { get; construct; }
        }
-       [CCode (cheader_filename = "gsf/gsf-input-memory.h")]
+       [CCode (cheader_filename = "gsf/gsf-input-memory.h", type_id = "GSF_INPUT_MEMORY_TYPE")]
        public class InputMemory : Gsf.Input {
                [CCode (has_construct_function = false, type = "GsfInput*")]
-               public InputMemory (uchar buf, Gsf.off_t length, bool needs_free);
+               public InputMemory ([CCode (array_length_type = "Gsf.off_t")] uint8[] buf, bool needs_free);
                [CCode (has_construct_function = false, type = "GsfInput*")]
-               public InputMemory.clone (uchar buf, Gsf.off_t length);
+               public InputMemory.clone ([CCode (array_length_type = "Gsf.off_t")] uint8[] buf);
                [CCode (has_construct_function = false, type = "GsfInput*")]
                public InputMemory.from_bzip (Gsf.Input source) throws GLib.Error;
                [CCode (has_construct_function = false, type = "GsfInput*")]
                public InputMemory.from_iochannel (GLib.IOChannel channel) throws GLib.Error;
        }
-       [CCode (cheader_filename = "gsf/gsf-input-proxy.h")]
+       [CCode (cheader_filename = "gsf/gsf-input-proxy.h", type_id = "GSF_INPUT_PROXY_TYPE")]
        public class InputProxy : Gsf.Input {
                [CCode (has_construct_function = false, type = "GsfInput*")]
                public InputProxy (Gsf.Input source);
                [CCode (has_construct_function = false, type = "GsfInput*")]
                public InputProxy.section (Gsf.Input source, Gsf.off_t offset, Gsf.off_t size);
        }
-       [CCode (cheader_filename = "gsf/gsf-input-stdio.h")]
+       [CCode (cheader_filename = "gsf/gsf-input-stdio.h", type_id = "GSF_INPUT_STDIO_TYPE")]
        public class InputStdio : Gsf.Input {
                [CCode (has_construct_function = false, type = "GsfInput*")]
                public InputStdio (string filename) throws GLib.Error;
        }
-       [CCode (cheader_filename = "gsf/gsf-input-textline.h")]
+       [CCode (cheader_filename = "gsf/gsf-input-textline.h", type_id = "GSF_INPUT_TEXTLINE_TYPE")]
        public class InputTextline : Gsf.Input {
                [CCode (has_construct_function = false, type = "GsfInput*")]
                public InputTextline (Gsf.Input source);
@@ -217,7 +217,7 @@ namespace Gsf {
                public Gsf.Output new_child (string name, bool is_dir);
                public Gsf.Output new_child_full (string name, bool is_dir, ...);
        }
-       [CCode (cheader_filename = "gsf/gsf-outfile-msole.h")]
+       [CCode (cheader_filename = "gsf/gsf-outfile-msole.h", type_id = "GSF_OUTFILE_MSOLE_TYPE")]
        public class OutfileMSOle : Gsf.Outfile {
                [CCode (cname = "gsf_outfile_msole_new", has_construct_function = false, type = "GsfOutfile*")]
                public OutfileMSOle (Gsf.Output sink);
@@ -242,14 +242,14 @@ namespace Gsf {
                [NoAccessorMethod]
                public Gsf.Outfile sink { owned get; construct; }
        }
-       [CCode (cheader_filename = "gsf/gsf-outfile-stdio.h")]
+       [CCode (cheader_filename = "gsf/gsf-outfile-stdio.h", type_id = "GSF_OUTFILE_STDIO_TYPE")]
        public class OutfileStdio : Gsf.Outfile {
                [CCode (has_construct_function = false, type = "GsfOutfile*")]
                public OutfileStdio (string root) throws GLib.Error;
                [CCode (has_construct_function = false, type = "GsfOutfile*")]
                public OutfileStdio.full (string root, ...) throws GLib.Error;
        }
-       [CCode (cheader_filename = "gsf/gsf-outfile-zip.h")]
+       [CCode (cheader_filename = "gsf/gsf-outfile-zip.h", type_id = "GSF_OUTFILE_ZIP_TYPE")]
        public class OutfileZip : Gsf.Outfile {
                [CCode (has_construct_function = false, type = "GsfOutfile*")]
                public OutfileZip (Gsf.Output sink) throws GLib.Error;
@@ -261,7 +261,7 @@ namespace Gsf {
                [NoAccessorMethod]
                public Gsf.Output sink { owned get; construct; }
        }
-       [CCode (cheader_filename = "gsf/gsf-output-impl.h")]
+       [CCode (cheader_filename = "gsf/gsf-output-impl.h", type_id = "GSF_OUTPUT_TYPE")]
        public class Output : GLib.Object {
                public Gsf.off_t cur_offset;
                public Gsf.off_t cur_size;
@@ -298,12 +298,12 @@ namespace Gsf {
                [NoAccessorMethod]
                public int64 position { get; }
        }
-       [CCode (cheader_filename = "gsf/gsf-output-bzip.h")]
+       [CCode (cheader_filename = "gsf/gsf-output-bzip.h", type_id = "GSF_OUTPUT_BZIP_TYPE")]
        public class OutputBzip : Gsf.Output {
                [CCode (has_construct_function = false, type = "GsfOutput*")]
                public OutputBzip (Gsf.Output sink) throws GLib.Error;
        }
-       [CCode (cheader_filename = "gsf/gsf-output-csv.h")]
+       [CCode (cheader_filename = "gsf/gsf-output-csv.h", type_id = "GSF_OUTPUT_CSV_TYPE")]
        public class OutputCsv : Gsf.Output {
                public weak GLib.StringBuilder buf;
                public size_t eol_len;
@@ -329,7 +329,7 @@ namespace Gsf {
                [NoAccessorMethod]
                public Gsf.Output sink { owned get; set; }
        }
-       [CCode (cheader_filename = "gsf/gsf-output-gzip.h")]
+       [CCode (cheader_filename = "gsf/gsf-output-gzip.h", type_id = "GSF_OUTPUT_GZIP_TYPE")]
        public class OutputGZip : Gsf.Output {
                [CCode (has_construct_function = false, type = "GsfOutput*")]
                public OutputGZip (Gsf.Output sink) throws GLib.Error;
@@ -338,7 +338,7 @@ namespace Gsf {
                [NoAccessorMethod]
                public Gsf.Output sink { owned get; construct; }
        }
-       [CCode (cheader_filename = "gsf/gsf-output-gio.h")]
+       [CCode (cheader_filename = "gsf/gsf-output-gio.h", type_id = "GSF_OUTPUT_GIO_TYPE")]
        public class OutputGio : Gsf.Output {
                [CCode (has_construct_function = false, type = "GsfOutput*")]
                public OutputGio (GLib.File file);
@@ -347,12 +347,12 @@ namespace Gsf {
                [CCode (has_construct_function = false, type = "GsfOutput*")]
                public OutputGio.for_uri (string uri) throws GLib.Error;
        }
-       [CCode (cheader_filename = "gsf/gsf-output-iochannel.h")]
+       [CCode (cheader_filename = "gsf/gsf-output-iochannel.h", type_id = "GSF_OUTPUT_IOCHANNEL_TYPE")]
        public class OutputIOChannel : Gsf.Output {
                [CCode (cname = "gsf_output_iochannel_new", has_construct_function = false, type = "GsfOutput*")]
                public OutputIOChannel (GLib.IOChannel channel);
        }
-       [CCode (cheader_filename = "gsf/gsf-output-iconv.h")]
+       [CCode (cheader_filename = "gsf/gsf-output-iconv.h", type_id = "GSF_OUTPUT_ICONV_TYPE")]
        public class OutputIconv : Gsf.Output {
                [CCode (has_construct_function = false, type = "GsfOutput*")]
                public OutputIconv (Gsf.Output sink, string dst, string src);
@@ -365,21 +365,21 @@ namespace Gsf {
                [NoAccessorMethod]
                public Gsf.Output sink { owned get; construct; }
        }
-       [CCode (cheader_filename = "gsf/gsf-output-memory.h")]
+       [CCode (cheader_filename = "gsf/gsf-output-memory.h", type_id = "GSF_OUTPUT_MEMORY_TYPE")]
        public class OutputMemory : Gsf.Output {
                [CCode (has_construct_function = false, type = "GsfOutput*")]
                public OutputMemory ();
                [CCode (array_length = false)]
                public unowned uchar[] get_bytes ();
        }
-       [CCode (cheader_filename = "gsf/gsf-output-stdio.h")]
+       [CCode (cheader_filename = "gsf/gsf-output-stdio.h", type_id = "GSF_OUTPUT_STDIO_TYPE")]
        public class OutputStdio : Gsf.Output {
                [CCode (has_construct_function = false, type = "GsfOutput*")]
                public OutputStdio (string filename) throws GLib.Error;
                [CCode (has_construct_function = false, type = "GsfOutput*")]
                public OutputStdio.full (string filename, ...) throws GLib.Error;
        }
-       [CCode (cheader_filename = "gsf/gsf-infile-msvba.h")]
+       [CCode (cheader_filename = "gsf/gsf-infile-msvba.h", type_id = "GSF_SHARED_MEMORY_TYPE")]
        public class SharedMemory : GLib.Object {
                public void* buf;
                public bool needs_free;
@@ -389,7 +389,7 @@ namespace Gsf {
                public SharedMemory (void* buf, Gsf.off_t size, bool needs_free);
                public static unowned Gsf.SharedMemory mmapped_new (void* buf, Gsf.off_t size);
        }
-       [CCode (cheader_filename = "gsf/gsf-structured-blob.h")]
+       [CCode (cheader_filename = "gsf/gsf-structured-blob.h", type_id = "GSF_STRUCTURED_BLOB_TYPE")]
        public class StructuredBlob : Gsf.Infile {
                [CCode (has_construct_function = false)]
                protected StructuredBlob ();
@@ -459,7 +459,7 @@ namespace Gsf {
                public weak GLib.Callback start;
                public void* user_data;
        }
-       [CCode (cheader_filename = "gsf/gsf-libxml.h")]
+       [CCode (cheader_filename = "gsf/gsf-libxml.h", type_id = "GSF_XML_OUT_TYPE")]
        public class XMLOut : GLib.Object {
                [CCode (has_construct_function = false)]
                public XMLOut (Gsf.Output output);
index 01b9232..e59e175 100644 (file)
@@ -112,16 +112,21 @@ namespace Soup {
                public string get_info ();
                public virtual GLib.SList<string> get_protection_space (Soup.URI source_uri);
                public unowned string get_realm ();
+               public unowned string get_saved_password (string user);
                public unowned string get_scheme_name ();
+               public void has_saved_password (string username, string password);
+               public virtual bool is_ready (Soup.Message msg);
+               public void save_password (string username, string password);
                public virtual bool update (Soup.Message msg, GLib.HashTable<void*,void*> auth_header);
-               public string host { get; construct; }
+               [NoAccessorMethod]
+               public string host { owned get; set; }
                [NoAccessorMethod]
                public virtual bool is_authenticated { get; }
                [NoAccessorMethod]
-               public bool is_for_proxy { get; construct; }
-               public string realm { get; construct; }
+               public bool is_for_proxy { get; set; }
+               [NoAccessorMethod]
+               public string realm { owned get; set; }
                public string scheme_name { get; }
-               public signal void save_password (string username, string password);
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_basic_get_type ()")]
        public class AuthBasic : Soup.Auth {
@@ -182,6 +187,13 @@ namespace Soup {
                [NoAccessorMethod]
                public void* auth_data { get; set; }
        }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_manager_get_type ()")]
+       public class AuthManager : GLib.Object, Soup.SessionFeature {
+               [CCode (has_construct_function = false)]
+               protected AuthManager ();
+               public void use_auth (Soup.URI uri, Soup.Auth auth);
+               public virtual signal void authenticate (Soup.Message msg, Soup.Auth auth, bool retrying);
+       }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_ntlm_get_type ()")]
        public class AuthNTLM : Soup.Auth {
                [CCode (has_construct_function = false)]
@@ -310,6 +322,13 @@ namespace Soup {
                public bool read_only { get; construct; }
                public virtual signal void changed (Soup.Cookie old_cookie, Soup.Cookie new_cookie);
        }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_db_get_type ()")]
+       public class CookieJarDB : Soup.CookieJar, Soup.SessionFeature {
+               [CCode (has_construct_function = false, type = "SoupCookieJar*")]
+               public CookieJarDB (string filename, bool read_only);
+               [NoAccessorMethod]
+               public string filename { owned get; construct; }
+       }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_text_get_type ()")]
        public class CookieJarText : Soup.CookieJar, Soup.SessionFeature {
                [CCode (has_construct_function = false, type = "SoupCookieJar*")]
@@ -557,6 +576,7 @@ namespace Soup {
                public Soup.Message get_message ();
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_requester_get_type ()")]
+       [Deprecated (replacement = "Session", since = "2.42")]
        public class Requester : GLib.Object, Soup.SessionFeature {
                [CCode (has_construct_function = false)]
                public Requester ();
@@ -601,9 +621,9 @@ namespace Soup {
                public virtual signal void request_started (Soup.Message msg, Soup.ClientContext client);
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_session_get_type ()")]
-       public abstract class Session : GLib.Object {
+       public class Session : GLib.Object {
                [CCode (has_construct_function = false)]
-               protected Session ();
+               public Session ();
                public void abort ();
                public void add_feature (Soup.SessionFeature feature);
                public void add_feature_by_type (GLib.Type feature_type);
@@ -616,6 +636,7 @@ namespace Soup {
                public unowned Soup.SessionFeature get_feature (GLib.Type feature_type);
                public unowned Soup.SessionFeature get_feature_for_message (GLib.Type feature_type, Soup.Message msg);
                public GLib.SList<Soup.SessionFeature> get_features (GLib.Type feature_type);
+               public bool has_feature (GLib.Type feature_type);
                [NoWrapper]
                public virtual void kick ();
                public void pause_message (Soup.Message msg);
@@ -626,9 +647,16 @@ namespace Soup {
                public bool redirect_message (Soup.Message msg);
                public void remove_feature (Soup.SessionFeature feature);
                public void remove_feature_by_type (GLib.Type feature_type);
+               public Soup.Request request (string uri_string) throws GLib.Error;
+               public Soup.RequestHTTP request_http (string method, string uri_string) throws GLib.Error;
+               public Soup.RequestHTTP request_http_uri (string method, Soup.URI uri) throws GLib.Error;
+               public Soup.Request request_uri (Soup.URI uri) throws GLib.Error;
                public virtual void requeue_message (Soup.Message msg);
+               public async void send_async (Soup.Message msg, GLib.Cancellable? cancellable);
                public virtual uint send_message (Soup.Message msg);
                public void unpause_message (Soup.Message msg);
+               [CCode (has_construct_function = false)]
+               public Session.with_options (string optname1, ...);
                public bool would_redirect (Soup.Message msg);
                [NoAccessorMethod]
                public string accept_language { owned get; set; }
@@ -644,6 +672,8 @@ namespace Soup {
                [NoAccessorMethod]
                public uint idle_timeout { get; set; }
                [NoAccessorMethod]
+               public Soup.Address local_address { owned get; construct; }
+               [NoAccessorMethod]
                public int max_conns { get; set; }
                [NoAccessorMethod]
                public int max_conns_per_host { get; set; }
@@ -782,6 +812,10 @@ namespace Soup {
                [CCode (has_construct_function = false)]
                public URI.with_base (Soup.URI @base, string uri_string);
        }
+       [CCode (cheader_filename = "libsoup/soup.h", type_cname = "SoupPasswordManagerInterface", type_id = "soup_password_manager_get_type ()")]
+       public interface PasswordManager : Soup.SessionFeature, GLib.Object {
+               public abstract void get_passwords_sync (Soup.Message arg0, Soup.Auth arg1, GLib.Cancellable? arg2 = null);
+       }
        [CCode (cheader_filename = "libsoup/soup.h", type_cname = "SoupProxyResolverInterface", type_id = "soup_proxy_resolver_get_type ()")]
        [Deprecated (replacement = "Soup.ProxyURIResolver")]
        public interface ProxyResolver : Soup.SessionFeature, GLib.Object {
@@ -991,6 +1025,14 @@ namespace Soup {
                EOF,
                ERROR
        }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_REQUEST_ERROR_")]
+       public errordomain RequestError {
+               BAD_URI,
+               UNSUPPORTED_URI_SCHEME,
+               PARSING,
+               ENCODING;
+               public static GLib.Quark quark ();
+       }
        [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_REQUESTER_ERROR_")]
        public errordomain RequesterError {
                BAD_URI,
@@ -1031,6 +1073,8 @@ namespace Soup {
        public delegate void LoggerPrinter (Soup.Logger logger, Soup.LoggerLogLevel level, char direction, string data);
        [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
        public delegate void MessageHeadersForeachFunc (string name, string value);
+       [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
+       public delegate void PasswordManagerCallback (Soup.PasswordManager arg0, Soup.Message arg1, Soup.Auth arg2, bool retrying);
        [CCode (cheader_filename = "libsoup/soup.h")]
        public delegate void ProxyResolverCallback (Soup.ProxyResolver p1, Soup.Message p2, uint p3, Soup.Address p4);
        [CCode (cheader_filename = "libsoup/soup.h", has_target = false)]
@@ -1093,6 +1137,8 @@ namespace Soup {
        public const string AUTH_IS_AUTHENTICATED;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_AUTH_IS_FOR_PROXY")]
        public const string AUTH_IS_FOR_PROXY;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_AUTH_MANAGER_H")]
+       public const int AUTH_MANAGER_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_AUTH_REALM")]
        public const string AUTH_REALM;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_AUTH_SCHEME_NAME")]
@@ -1117,6 +1163,10 @@ namespace Soup {
        public const int COOKIE_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_JAR_ACCEPT_POLICY")]
        public const string COOKIE_JAR_ACCEPT_POLICY;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_JAR_DB_FILENAME")]
+       public const string COOKIE_JAR_DB_FILENAME;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_JAR_DB_H")]
+       public const int COOKIE_JAR_DB_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_JAR_H")]
        public const int COOKIE_JAR_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_JAR_READ_ONLY")]
@@ -1243,6 +1293,8 @@ namespace Soup {
        public const string SESSION_HTTP_ALIASES;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_IDLE_TIMEOUT")]
        public const string SESSION_IDLE_TIMEOUT;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_LOCAL_ADDRESS")]
+       public const string SESSION_LOCAL_ADDRESS;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_MAX_CONNS")]
        public const string SESSION_MAX_CONNS;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_MAX_CONNS_PER_HOST")]
similarity index 99%
rename from vapi/libvala-0.18.vapi
rename to vapi/libvala-0.20.vapi
index ad91e3f..aa49807 100644 (file)
@@ -2621,6 +2621,7 @@ namespace Vala {
                public override void visit_data_type (Vala.DataType data_type);
                public override void visit_declaration_statement (Vala.DeclarationStatement stmt);
                public override void visit_delegate (Vala.Delegate cb);
+               public override void visit_delete_statement (Vala.DeleteStatement stmt);
                public override void visit_destructor (Vala.Destructor d);
                public override void visit_do_statement (Vala.DoStatement stmt);
                public override void visit_element_access (Vala.ElementAccess expr);
index d49f74f..4e7c1f4 100644 (file)
@@ -120,7 +120,6 @@ namespace Wnck {
                public void set_grouping (Wnck.TasklistGroupingType grouping);
                public void set_grouping_limit (int limit);
                public void set_include_all_workspaces (bool include_all_workspaces);
-               public void set_orientation (Gtk.Orientation orient);
                public void set_switch_workspace_on_unminimize (bool switch_workspace_on_unminimize);
        }
        [CCode (cheader_filename = "libwnck/libwnck.h", type_id = "wnck_window_get_type ()")]
@@ -145,6 +144,7 @@ namespace Wnck {
                public unowned Gdk.Pixbuf get_mini_icon ();
                public unowned string get_name ();
                public int get_pid ();
+               public unowned string get_role ();
                public unowned Wnck.Screen get_screen ();
                public unowned string get_session_id ();
                public unowned string get_session_id_utf8 ();
@@ -205,9 +205,11 @@ namespace Wnck {
                public void unshade ();
                public void unstick ();
                public virtual signal void actions_changed (Wnck.WindowActions changed_mask, Wnck.WindowActions new_actions);
+               public virtual signal void class_changed ();
                public virtual signal void geometry_changed ();
                public virtual signal void icon_changed ();
                public virtual signal void name_changed ();
+               public virtual signal void role_changed ();
                public virtual signal void state_changed (Wnck.WindowState changed_mask, Wnck.WindowState new_state);
                public virtual signal void workspace_changed ();
        }
index bf51c53..e0f5ef6 100644 (file)
@@ -323,6 +323,19 @@ namespace Xml {
        }
 
        [Compact]
+       [CCode (cname = "xmlBuffer", free_function = "xmlBufferFree", cheader_filename = "libxml/tree.h")]
+       public class Buffer {
+               [CCode (cname = "xmlBufferCreate")]
+               public Buffer ();
+
+               [CCode (cname = "xmlBufferContent")]
+               public unowned string content ();
+
+               [CCode (cname = "xmlNodeDump")]
+               public int node_dump (Xml.Doc *doc, Xml.Node *cur, int level, int format);
+       }
+
+       [Compact]
        [CCode (cname = "xmlDoc", free_function = "xmlFreeDoc", cheader_filename = "libxml/tree.h,libxml/parser.h")]
        public class Doc {
                public ElementType type;
@@ -448,6 +461,12 @@ namespace Xml {
 
                [CCode (cname = "xmlStringLenGetNodeList")]
                public Node* string_len_get_node_list (string str, int len);
+
+               [CCode (cname = "xmlSearchNs")]
+               public Ns* search_ns(Node* node, string? prefix);
+
+               [CCode (cname = "xmlSearchNsByHref")]
+               public Ns* search_ns_by_href(Node* node, string? href);
        }
 
        [Compact]
@@ -462,7 +481,9 @@ namespace Xml {
                public Node* prev;
                public Doc* doc;
 
+               [CCode (cname = "ExternalID")]
                public weak string external_id;
+               [CCode (cname = "SystemID")]
                public weak string system_id;
 
                [CCode (cname = "xmlNewDtd")]
@@ -587,6 +608,36 @@ namespace Xml {
                public const string name;
        }
 
+       [CCode (has_target = false, cname = "xmlHashScannerFull", cheader_filename = "libxml/hash.h")]
+       public delegate void HashScannerFull (void *payload, void *user_data, string name, string name2, string name3);
+
+       [CCode (has_target = false, cname = "xmlHashDeallocator", cheader_filename = "libxml/hash.h")]
+       public delegate void HashDeallocator (void *payload, string name);
+
+       [Compact]
+       [CCode (cname = "xmlHashTable", cheader_filename="libxml/hash.h")]
+       public class HashTable {
+               [CCode (cname = "xmlHashCreate")]
+               public HashTable (int size);
+
+               [CCode (cname = "xmlHashAddEntry")]
+               public int add_entry (string name, void *user_data);
+
+               [CCode (cname = "xmlHashFree")]
+               public void free (HashDeallocator? f);
+
+               [CCode (cname = "xmlHashLookup")]
+               public void *lookup (string name);
+
+               [CCode (cname = "xmlHashRemoveEntry")]
+               public int remove_entry (string name, HashDeallocator? f);
+
+               [CCode (cname = "xmlHashScanFull")]
+               public void scan_full (HashScannerFull f, void *user_data);
+
+               [CCode (cname = "xmlHashSize")]
+               public int size ();
+       }
 
        [Compact]
        [CCode (cname = "xmlNode", free_function = "xmlFreeNode", cheader_filename = "libxml/tree.h")]
@@ -736,6 +787,9 @@ namespace Xml {
                [CCode (cname = "xmlSetListDoc")]
                public void set_list_doc (Doc* doc);
 
+               [CCode (cname = "xmlSetNs")]
+               public void set_ns (Ns* ns);
+
                [CCode (cname = "xmlSetNsProp")]
                public Attr* set_ns_prop (Ns* ns, string name, string value);
 
@@ -935,8 +989,29 @@ namespace Xml {
        /* xmlschemas - incomplete XML Schemas structure implementation */
 
        [Compact]
-       [CCode (cname = "xmlSchemaValidCtxt", cheader_filename = "libxml/xmlreader.h")]
+       [CCode (cname = "xmlSchema", free_function = "xmlSchemaFree", cheader_filename = "libxml/xmlschemas.h")]
+       public class Schema {
+               [CCode (cname = "xmlSchemaDump", instance_pos = -1)]
+               public void dump (GLib.FileStream output);
+       }
+
+       [Compact]
+       [CCode (cname = "xmlSchemaParserCtxt", free_function = "xmlSchemaFreeParserCtxt", cheader_filename = "libxml/xmlschemas.h")]
+       public class SchemaParserCtxt {
+               [CCode (cname = "xmlSchemaNewParserCtxt")]
+               public SchemaParserCtxt (string URL);
+               [CCode (cname = "xmlSchemaNewDocParserCtxt")]
+               public SchemaParserCtxt.from_doc (Xml.Doc doc);
+               [CCode (cname = "xmlSchemaNewMemParserCtxt")]
+               public SchemaParserCtxt.from_buffer (uint8[] buffer);
+               [CCode (cname = "xmlSchemaParse")]
+               public Xml.Schema parse ();
+       }
+
+       [Compact]
+       [CCode (cname = "xmlSchemaValidCtxt", free_function = "xmlSchemaFreeValidCtxt", cheader_filename = "libxml/xmlschemas.h")]
        public class SchemaValidCtxt {
+               public SchemaValidCtxt (Xml.Schema schema);
        }
 
        /* xmlsave */
@@ -1687,7 +1762,7 @@ namespace Html {
                [CCode (cname = "htmlNewDoc")]
                public Doc (string? uri = null, string? external_id = null);
 
-               [CCode (cname = "htmlNewNoDtD")]
+               [CCode (cname = "htmlNewDocNoDtD")]
                public Doc.new_no_dtd (string? uri = null, string? external_id = null);
 
                [CCode (cname = "htmlSAXParseDoc")]
index 47ebe57..ffa7ce4 100644 (file)
@@ -1335,7 +1335,7 @@ namespace Linux {
         public static int getifaddrs (out IfAddrs ifap);
 
         [CCode (cprefix = "IFA_", has_type_id = false, cheader_filename = "linux/if_addr.h")]
-        enum IfAddrType {
+        public enum IfAddrType {
             UNSPEC,
             ADDRESS,
             LOCAL,
@@ -1352,7 +1352,7 @@ namespace Linux {
         public Linux.Netlink.RtAttr* IFA_RTA (Linux.Network.IfAddrMsg* msg);
 
         [CCode (cprefix = "ARPHRD_", has_type_id = false, cheader_filename = "linux/if_arp.h")]
-        enum IfArpHeaderType {
+        public enum IfArpHeaderType {
             NETROM,
             ETHER,
             EETHER,
@@ -1417,7 +1417,7 @@ namespace Linux {
         }
 
         [CCode (cprefix = "ARPOP_", has_type_id = false, cheader_filename = "linux/if_arp.h")]
-        enum IfArpOpcode {
+        public enum IfArpOpcode {
             REQUEST,
             REPLY,
             RREQUEST,
index fdc4a46..f25950b 100644 (file)
@@ -118,7 +118,7 @@ namespace Mx {
                [CCode (has_construct_function = false)]
                protected Bin ();
                public void allocate_child (Clutter.ActorBox box, Clutter.AllocationFlags flags);
-               public void get_alignment (Mx.Align x_align, Mx.Align y_align);
+               public void get_alignment (out Mx.Align x_align, out Mx.Align y_align);
                public unowned Clutter.Actor get_child ();
                public void get_fill (out bool x_fill, out bool y_fill);
                public void set_alignment (Mx.Align x_align, Mx.Align y_align);
@@ -529,10 +529,10 @@ namespace Mx {
                public uint get_scale_width_threshold ();
                public uint get_transition_duration ();
                public void set_allow_upscale (bool allow);
-               public bool set_from_buffer ([CCode (array_length_cname = "buffer_size", array_length_pos = 1.5, array_length_type = "gsize", type = "guchar*")] owned uint8[]? buffer, GLib.DestroyNotify? buffer_free_func) throws GLib.Error;
-               public bool set_from_buffer_at_size ([CCode (array_length_cname = "buffer_size", array_length_pos = 1.5, array_length_type = "gsize", type = "guchar*")] owned uint8[]? buffer, GLib.DestroyNotify? buffer_free_func, int width, int height) throws GLib.Error;
+               public bool set_from_buffer ([CCode (array_length_cname = "buffer_size", array_length_pos = 1.5, array_length_type = "gsize")] owned uint8[]? buffer, GLib.DestroyNotify? buffer_free_func) throws GLib.Error;
+               public bool set_from_buffer_at_size ([CCode (array_length_cname = "buffer_size", array_length_pos = 1.5, array_length_type = "gsize")] owned uint8[]? buffer, GLib.DestroyNotify? buffer_free_func, int width, int height) throws GLib.Error;
                public bool set_from_cogl_texture (Cogl.Handle texture);
-               public bool set_from_data ([CCode (array_length = false, type = "const guchar*")] uint8[]? data, Cogl.PixelFormat pixel_format, int width, int height, int rowstride) throws GLib.Error;
+               public bool set_from_data ([CCode (array_length = false)] uint8[]? data, Cogl.PixelFormat pixel_format, int width, int height, int rowstride) throws GLib.Error;
                public bool set_from_file (string filename) throws GLib.Error;
                public bool set_from_file_at_size (string filename, int width, int height) throws GLib.Error;
                public void set_image_rotation (float rotation);
@@ -1007,7 +1007,7 @@ namespace Mx {
                [CCode (has_construct_function = false)]
                protected Tooltip ();
                public unowned string get_text ();
-               public Clutter.Geometry get_tip_area ();
+               public unowned Clutter.Geometry? get_tip_area ();
                public void hide ();
                public static bool is_in_browse_mode ();
                public void set_text (string text);
@@ -1043,7 +1043,7 @@ namespace Mx {
                public unowned Clutter.Actor get_border_image ();
                public bool get_disabled ();
                public unowned Mx.Menu get_menu ();
-               public void get_padding (Mx.Padding padding);
+               public Mx.Padding get_padding ();
                public uint get_tooltip_delay ();
                public unowned string get_tooltip_text ();
                public void hide_tooltip ();
index db57f6d..3af047b 100644 (file)
@@ -122,6 +122,7 @@ namespace Pango {
        public class Context : GLib.Object {
                [CCode (has_construct_function = false)]
                public Context ();
+               public void changed ();
                public Pango.Direction get_base_dir ();
                public Pango.Gravity get_base_gravity ();
                public unowned Pango.FontDescription get_font_description ();
@@ -129,8 +130,9 @@ namespace Pango {
                public Pango.Gravity get_gravity ();
                public Pango.GravityHint get_gravity_hint ();
                public Pango.Language get_language ();
-               public Pango.Matrix get_matrix ();
+               public unowned Pango.Matrix? get_matrix ();
                public Pango.FontMetrics get_metrics (Pango.FontDescription? desc, Pango.Language? language);
+               public uint get_serial ();
                public void list_families ([CCode (array_length_cname = "n_families", array_length_pos = 1.1)] out Pango.FontFamily[] families);
                public Pango.Font load_font (Pango.FontDescription desc);
                public Pango.Fontset load_fontset (Pango.FontDescription desc, Pango.Language language);
@@ -234,6 +236,7 @@ namespace Pango {
                [CCode (has_construct_function = false)]
                protected FontMap ();
                public Pango.Context create_context ();
+               public uint get_serial ();
                public void list_families ([CCode (array_length_cname = "n_families", array_length_pos = 1.1)] out Pango.FontFamily[] families);
                public Pango.Font load_font (Pango.Context context, Pango.FontDescription desc);
                public Pango.Fontset load_fontset (Pango.Context context, Pango.FontDescription desc, Pango.Language language);
@@ -347,6 +350,7 @@ namespace Pango {
                public unowned Pango.LogAttr[] get_log_attrs_readonly ();
                public void get_pixel_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
                public void get_pixel_size (out int width, out int height);
+               public uint get_serial ();
                public bool get_single_paragraph_mode ();
                public void get_size (out int width, out int height);
                public int get_spacing ();
@@ -445,10 +449,10 @@ namespace Pango {
                public virtual void draw_trapezoid (Pango.RenderPart part, double y1_, double x11, double x21, double y2, double x12, double x22);
                [NoWrapper]
                public virtual void end ();
-               public Pango.Color get_color (Pango.RenderPart part);
+               public Pango.Color? get_color (Pango.RenderPart part);
                public unowned Pango.Layout get_layout ();
                public unowned Pango.LayoutLine get_layout_line ();
-               public Pango.Matrix get_matrix ();
+               public unowned Pango.Matrix? get_matrix ();
                public virtual void part_changed (Pango.RenderPart part);
                [NoWrapper]
                public virtual void prepare_run (Pango.LayoutRun run);
@@ -497,7 +501,7 @@ namespace Pango {
                public uint16 red;
                public uint16 green;
                public uint16 blue;
-               public Pango.Color copy ();
+               public Pango.Color? copy ();
                public void free ();
                public bool parse (string spec);
                public string to_string ();
@@ -528,7 +532,7 @@ namespace Pango {
                public int end_glyph;
                public int end_index;
                public int end_char;
-               public Pango.GlyphItemIter copy ();
+               public Pango.GlyphItemIter? copy ();
                public void free ();
                public bool init_end (Pango.GlyphItem glyph_item, string text);
                public bool init_start (Pango.GlyphItem glyph_item, string text);
@@ -568,7 +572,7 @@ namespace Pango {
                public double x0;
                public double y0;
                public void concat (Pango.Matrix new_matrix);
-               public Pango.Matrix copy ();
+               public Pango.Matrix? copy ();
                public void free ();
                public double get_font_scale_factor ();
                public void rotate (double degrees);
@@ -964,6 +968,10 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h")]
        public static uint8 log2vis_get_embedding_levels (string text, int length, Pango.Direction pbase_dir);
        [CCode (cheader_filename = "pango/pango.h")]
+       public static bool markup_parser_finish (GLib.MarkupParseContext context, out Pango.AttrList attr_list, out string text, out unichar accel_char) throws GLib.Error;
+       [CCode (cheader_filename = "pango/pango.h")]
+       public static unowned GLib.MarkupParseContext markup_parser_new (unichar accel_marker);
+       [CCode (cheader_filename = "pango/pango.h")]
        public static bool parse_enum (GLib.Type type, string? str, out int value, bool warn, out string possible_values);
        [CCode (cheader_filename = "pango/pango.h")]
        public static bool parse_markup (string markup_text, int length, unichar accel_marker, out Pango.AttrList attr_list, out string text, out unichar accel_char) throws GLib.Error;
@@ -996,6 +1004,8 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h")]
        public static void shape (string text, int length, Pango.Analysis analysis, Pango.GlyphString glyphs);
        [CCode (cheader_filename = "pango/pango.h")]
+       public static void shape_full (string item_text, int item_length, string? paragraph_text, int paragraph_length, Pango.Analysis analysis, Pango.GlyphString glyphs);
+       [CCode (cheader_filename = "pango/pango.h")]
        public static bool skip_space (ref string pos);
        [CCode (array_length = false, array_null_terminated = true, cheader_filename = "pango/pango.h")]
        public static string[] split_file_list (string str);
index 883c537..aa96be1 100644 (file)
@@ -63,8 +63,7 @@ namespace Pixman {
 
        [CCode (cname = "struct pixman_transform", has_type_id = false)]
        public struct Transform {
-               [CCode (array_length = false)]
-               public Pixman.Fixed[,] matrix;
+               public Pixman.Fixed matrix[9];
 
                [CCode (cname = "pixman_transform_init_identity")]
                public Transform.identity ();
@@ -404,7 +403,7 @@ namespace Pixman {
                public bool supported_source ();
        }
 
-       [CCode (cname = "pixman_image_t", cprefix = "pixman_", ref_function = "pixman_image_ref", unref_function = "pixman_image_unref", has_type_id = false)]
+       [CCode (cname = "pixman_image_t", cprefix = "pixman_image_", ref_function = "pixman_image_ref", unref_function = "pixman_image_unref", has_type_id = false)]
        public class Image {
                [CCode (cname = "pixman_image_create_solid_fill")]
                public Image.solid_fill (Pixman.Color color);
@@ -415,7 +414,7 @@ namespace Pixman {
                [CCode (cname = "pixman_image_create_conical_gradient")]
                public Image.conical_gradient (Pixman.PointFixed center, Pixman.Fixed angle, Pixman.GradientStop[] stops);
                [CCode (cname = "pixman_image_create_bits")]
-               public Image.bits (Pixman.Format format, int width, int height, [CCode (type = "uint32_t*", array_length = false)] uint8[] bits, int rowstride_bytes);
+               public Image.bits (Pixman.Format format, int width, int height, [CCode (type = "uint32_t*", array_length = false)] uint8[]? bits, int rowstride_bytes);
 
                public bool set_clip_region (Pixman.Region16 clip_region);
                public Pixman.Region16 clip_region { set; }
@@ -427,7 +426,7 @@ namespace Pixman {
                public Pixman.Transform transform { set; }
                public void set_repeat (Pixman.Repeat repeat);
                public Pixman.Repeat repeat { set; }
-               public bool set_filter (Pixman.Filter filter, Pixman.Fixed[] filter_params);
+               public bool set_filter (Pixman.Filter filter, Pixman.Fixed[]? filter_params);
                public void set_source_clipping (bool source_clipping);
                public bool source_clipping { set; }
                public void set_alpha_map (Pixman.Image alpha_map, int16 x, int16 y);
@@ -437,7 +436,7 @@ namespace Pixman {
                public bool set_indexed (Pixman.Indexed indexed);
                public Pixman.Indexed indexed { set; }
                [CCode (array_length = false)]
-               public uint32[] get_data ();
+               public unowned uint32[] get_data ();
                public int get_width ();
                public int width { get; }
                public int get_height ();
@@ -450,12 +449,15 @@ namespace Pixman {
                public bool fill_rectangles (Pixman.Operation op, Pixman.Color color, [CCode (array_length_pos = 2.1)] Pixman.Rectangle16[] rects);
 
                public static bool compute_composite_region (Pixman.Region16 region, Pixman.Image src_image, Pixman.Image? mask_image, Pixman.Image dst_image, int src_x, int src_y, int mask_x, int mask_y, int dest_x, int dest_y, int width, int height);
-               [CCode (cname = "pixman_image_composite")]
                public static void composite (Pixman.Operation op, Pixman.Image src, Pixman.Image? mask, Pixman.Image dest, int16 src_x, int16 src_y, int16 mask_x, int16 mask_y, int16 dest_x, int16 dest_y, uint16 width, uint16 height);
 
+               [CCode (cname = "pixman_rasterize_edges")]
                public void rasterize_edges (Pixman.Edge l, Pixman.Edge r, Pixman.Fixed t, Pixman.Fixed b);
+               [CCode (cname = "pixman_add_traps")]
                public void add_traps (int16 x_off, int16 y_off, [CCode (array_length_pos = 2.9)] Pixman.Trap[] traps);
+               [CCode (cname = "pixman_add_trapezoids")]
                public void add_trapezoids (int16 x_off, int y_off, [CCode (array_length_pos = 2.9)] Pixman.Trap[] traps);
+               [CCode (cname = "pixman_rasterize_trapezoid")]
                public void rasterize_trapezoid (Pixman.Trapezoid trap, int x_off, int y_off);
        }
 
index 9d9cc11..4479a8b 100644 (file)
@@ -96,7 +96,7 @@ namespace Poppler {
        public class AnnotMarkup : Poppler.Annot {
                [CCode (has_construct_function = false)]
                protected AnnotMarkup ();
-               public GLib.Date get_date ();
+               public GLib.Date? get_date ();
                public Poppler.AnnotExternalDataType get_external_data ();
                public string get_label ();
                public double get_opacity ();
@@ -526,7 +526,7 @@ namespace Poppler {
                public double y2;
                [CCode (has_construct_function = false, type = "PopplerRectangle*")]
                public Rectangle ();
-               public Poppler.Rectangle copy ();
+               public Poppler.Rectangle? copy ();
                public void free ();
        }
        [CCode (cheader_filename = "poppler.h", cprefix = "POPPLER_ACTION_LAYER_", type_id = "poppler_action_layer_action_get_type ()")]
index ea2d025..fba3e7c 100644 (file)
@@ -326,6 +326,15 @@ namespace Posix {
        [CCode (cheader_filename = "fcntl.h")]
        public int posix_fallocate (int fd, long offset, long len);
 
+       [CCode (cname = "struct flock", cheader_filename = "fcntl.h")]
+       public struct Flock {
+               public int l_type;
+               public int l_whence;
+               public off_t l_start;
+               public off_t l_len;
+               public pid_t l_pid;
+       }
+
        [Compact]
        [CCode (cname = "struct group", cheader_filename = "grp.h")]
        public class Group {
@@ -1026,7 +1035,7 @@ namespace Posix {
        public int mkostemp (string template, int flags);
 
        [CCode (cheader_filename = "stdlib.h")]
-       public string? realpath (string path, uint8[]? resolved_path = null);
+       public string? realpath (string path, [CCode (array_length = false)] uint8[]? resolved_path = null);
 
        [CCode (cheader_filename = "stdlib.h")]
        public int posix_openpt (int flags);
@@ -1494,6 +1503,8 @@ namespace Posix {
        [CCode (cheader_filename = "sys/stat.h")]
        public int chmod (string filename, mode_t mode);
        [CCode (cheader_filename = "sys/stat.h")]
+       public int fchmod (int fd, mode_t mode);
+       [CCode (cheader_filename = "sys/stat.h")]
        public mode_t umask (mode_t mask);
        [CCode (cheader_filename = "sys/stat.h")]
        public int mkdir (string path, mode_t mode);
@@ -1581,6 +1592,13 @@ namespace Posix {
        public struct dev_t {
        }
 
+       [CCode (cheader_filename = "sys/types.h")]
+       uint major (dev_t dev);
+       [CCode (cheader_filename = "sys/types.h")]
+       uint minor (dev_t dev);
+       [CCode (cheader_filename = "sys/types.h")]
+       dev_t makedev (int maj, int min);
+
        [SimpleType]
        [IntegerType (rank = 9)]
        [CCode (cheader_filename = "sys/types.h")]
@@ -1693,7 +1711,9 @@ namespace Posix {
        [CCode (cheader_filename = "unistd.h")]
        public ssize_t readlink (string path, char[] buf);
        [CCode (cheader_filename = "sys/uio.h")]
-       public ssize_t readv (int fd, iovector vector, int iovcnt);
+       public ssize_t readv (int fd, iovector vector, int iovcnt = 1);
+       [CCode (cname = "readv", cheader_filename = "sys/uio.h")]
+       public ssize_t read_vectors (int fd, iovector[] vector);
        [CCode (cheader_filename = "unistd.h,sys/types.h")]
        public int setgid (gid_t gid);
        [CCode (cheader_filename = "unistd.h,sys/types.h")]
@@ -1705,7 +1725,9 @@ namespace Posix {
        [CCode (cheader_filename = "unistd.h")]
        public ssize_t pwrite (int fd, void* buf, size_t count, off_t offset);
        [CCode (cheader_filename = "sys/uio.h")]
-       public ssize_t writev (int fd, iovector vector, int iovcnt);
+       public ssize_t writev (int fd, iovector vector, int iovcnt = 1);
+       [CCode (cname = "writev", cheader_filename = "sys/uio.h")]
+       public ssize_t write_vectors (int fd, iovector[] vector);
        [CCode (cheader_filename = "unistd.h")]
        public off_t lseek(int fildes, off_t offset, int whence);
 
index 0099037..130cf01 100644 (file)
@@ -22,20 +22,27 @@ namespace UDisks {
        public class Client : GLib.Object, GLib.AsyncInitable, GLib.Initable {
                [CCode (cname = "udisks_client_new", has_construct_function = false)]
                public async Client (GLib.Cancellable? cancellable) throws GLib.Error;
+               public GLib.List<UDisks.Block> get_all_blocks_for_mdraid (UDisks.MDRaid raid);
                public UDisks.Block get_block_for_dev (uint64 block_device_number);
                public UDisks.Block get_block_for_drive (UDisks.Drive drive, bool get_physical);
                public GLib.List<UDisks.Block> get_block_for_label (string label);
+               public UDisks.Block get_block_for_mdraid (UDisks.MDRaid raid);
                public GLib.List<UDisks.Block> get_block_for_uuid (string uuid);
                public UDisks.Block get_cleartext_block (UDisks.Block block);
                public UDisks.Drive get_drive_for_block (UDisks.Block block);
+               [Deprecated (since = "2.1")]
                public void get_drive_info (UDisks.Drive drive, out string out_name, out string out_description, out GLib.Icon out_drive_icon, out string out_media_description, out GLib.Icon out_media_icon);
+               public GLib.List<UDisks.Drive> get_drive_siblings (UDisks.Drive drive);
                public string get_id_for_display (string usage, string type, string version, bool long_string);
                public string get_job_description (UDisks.Job job);
                public GLib.List<UDisks.Job> get_jobs_for_object (UDisks.Object object);
                public UDisks.Loop get_loop_for_block (UDisks.Block block);
                public unowned UDisks.Manager get_manager ();
+               public UDisks.MDRaid get_mdraid_for_block (UDisks.Block block);
                public string get_media_compat_for_display (string media_compat);
+               public GLib.List<UDisks.Block> get_members_for_mdraid (UDisks.MDRaid raid);
                public UDisks.Object get_object (string object_path);
+               public UDisks.ObjectInfo get_object_info (UDisks.Object object);
                public unowned GLib.DBusObjectManager get_object_manager ();
                public string get_partition_info (UDisks.Partition partition);
                public UDisks.PartitionTable get_partition_table (UDisks.Partition partition);
@@ -48,6 +55,7 @@ namespace UDisks {
                public GLib.List<UDisks.Partition> get_partitions (UDisks.PartitionTable table);
                public string get_size_for_display (uint64 size, bool use_pow2, bool long_string);
                public unowned UDisks.Object peek_object (string object_path);
+               public void queue_changed ();
                public void settle ();
                [CCode (has_construct_function = false)]
                public Client.sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -151,6 +159,22 @@ namespace UDisks {
                [CCode (has_construct_function = false, type = "UDisksLoop*")]
                public LoopSkeleton ();
        }
+       [CCode (cheader_filename = "udisks/udisks.h", lower_case_csuffix = "mdraid_proxy", type_id = "udisks_mdraid_proxy_get_type ()")]
+       public class MDRaidProxy : GLib.DBusProxy, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable, UDisks.MDRaid {
+               [CCode (cname = "udisks_mdraid_proxy_new", has_construct_function = false)]
+               public async MDRaidProxy (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, string? name, string object_path, GLib.Cancellable? cancellable) throws GLib.Error;
+               [CCode (cname = "udisks_mdraid_proxy_new_for_bus", has_construct_function = false)]
+               public async MDRaidProxy.for_bus (GLib.BusType bus_type, GLib.DBusProxyFlags flags, string name, string object_path, GLib.Cancellable? cancellable) throws GLib.Error;
+               [CCode (has_construct_function = false, type = "UDisksMDRaid*")]
+               public MDRaidProxy.for_bus_sync (GLib.BusType bus_type, GLib.DBusProxyFlags flags, string name, string object_path, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [CCode (has_construct_function = false, type = "UDisksMDRaid*")]
+               public MDRaidProxy.sync (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, string? name, string object_path, GLib.Cancellable? cancellable = null) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "udisks/udisks.h", lower_case_csuffix = "mdraid_skeleton", type_id = "udisks_mdraid_skeleton_get_type ()")]
+       public class MDRaidSkeleton : GLib.DBusInterfaceSkeleton, GLib.DBusInterface, UDisks.MDRaid {
+               [CCode (has_construct_function = false, type = "UDisksMDRaid*")]
+               public MDRaidSkeleton ();
+       }
        [CCode (cheader_filename = "udisks/udisks.h", type_id = "udisks_manager_proxy_get_type ()")]
        public class ManagerProxy : GLib.DBusProxy, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable, UDisks.Manager {
                [CCode (cname = "udisks_manager_proxy_new", has_construct_function = false)]
@@ -167,6 +191,21 @@ namespace UDisks {
                [CCode (has_construct_function = false, type = "UDisksManager*")]
                public ManagerSkeleton ();
        }
+       [CCode (cheader_filename = "udisks/udisks.h", type_id = "udisks_object_info_get_type ()")]
+       public class ObjectInfo : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected ObjectInfo ();
+               public unowned string get_description ();
+               public unowned GLib.Icon get_icon ();
+               public unowned GLib.Icon get_icon_symbolic ();
+               public unowned string get_media_description ();
+               public unowned GLib.Icon get_media_icon ();
+               public unowned GLib.Icon get_media_icon_symbolic ();
+               public unowned string get_name ();
+               public unowned UDisks.Object get_object ();
+               public unowned string get_one_liner ();
+               public unowned string get_sort_key ();
+       }
        [CCode (cheader_filename = "udisks/udisks.h", type_id = "udisks_object_manager_client_get_type ()")]
        public class ObjectManagerClient : GLib.DBusObjectManagerClient, GLib.AsyncInitable, GLib.DBusObjectManager, GLib.Initable {
                [CCode (cname = "udisks_object_manager_client_new", has_construct_function = false)]
@@ -196,6 +235,7 @@ namespace UDisks {
                public void set_job (UDisks.Job? interface_);
                public void set_loop (UDisks.Loop? interface_);
                public void set_manager (UDisks.Manager? interface_);
+               public void set_mdraid (UDisks.MDRaid? interface_);
                public void set_partition (UDisks.Partition? interface_);
                public void set_partition_table (UDisks.PartitionTable? interface_);
                public void set_swapspace (UDisks.Swapspace? interface_);
@@ -309,8 +349,12 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract bool hint_partitionable { get; set; }
                [NoAccessorMethod]
+               public abstract string hint_symbolic_icon_name { owned get; set; }
+               [NoAccessorMethod]
                public abstract bool hint_system { get; set; }
                [NoAccessorMethod]
+               public abstract string id { owned get; set; }
+               [NoAccessorMethod]
                public abstract string id_label { owned get; set; }
                [NoAccessorMethod]
                public abstract string id_type { owned get; set; }
@@ -321,6 +365,10 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract string id_version { owned get; set; }
                [NoAccessorMethod]
+               public abstract string mdraid { owned get; set; }
+               [NoAccessorMethod]
+               public abstract string mdraid_member { owned get; set; }
+               [NoAccessorMethod]
                public abstract string preferred_device { owned get; set; }
                [NoAccessorMethod]
                public abstract bool read_only { get; set; }
@@ -343,13 +391,18 @@ namespace UDisks {
        public interface Drive : GLib.Object {
                public async bool call_eject (GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
                public bool call_eject_sync (GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public async bool call_power_off (GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
+               public bool call_power_off_sync (GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async bool call_set_configuration (GLib.Variant arg_value, GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
                public bool call_set_configuration_sync (GLib.Variant arg_value, GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public void complete_eject (owned GLib.DBusMethodInvocation invocation);
+               public void complete_power_off (owned GLib.DBusMethodInvocation invocation);
                public void complete_set_configuration (owned GLib.DBusMethodInvocation invocation);
                public static unowned GLib.DBusInterfaceInfo interface_info ();
                public static uint override_properties (GLib.ObjectClass klass, uint property_id_begin);
                [NoAccessorMethod]
+               public abstract bool can_power_off { get; set; }
+               [NoAccessorMethod]
                public abstract GLib.Variant configuration { owned get; set; }
                [NoAccessorMethod]
                public abstract string connection_bus { owned get; set; }
@@ -393,6 +446,8 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract string serial { owned get; set; }
                [NoAccessorMethod]
+               public abstract string sibling_id { owned get; set; }
+               [NoAccessorMethod]
                public abstract uint64 size { get; set; }
                [NoAccessorMethod]
                public abstract string sort_key { owned get; set; }
@@ -405,6 +460,7 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract string wwn { owned get; set; }
                public virtual signal bool handle_eject (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
+               public virtual signal bool handle_power_off (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
                public virtual signal bool handle_set_configuration (GLib.DBusMethodInvocation invocation, GLib.Variant arg_value, GLib.Variant arg_options);
        }
        [CCode (cheader_filename = "udisks/udisks.h", type_id = "udisks_drive_ata_get_type ()")]
@@ -423,6 +479,8 @@ namespace UDisks {
                public bool call_smart_selftest_abort_sync (GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async bool call_smart_selftest_start (string arg_type, GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
                public bool call_smart_selftest_start_sync (string arg_type, GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public async bool call_smart_set_enabled (bool arg_value, GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
+               public bool call_smart_set_enabled_sync (bool arg_value, GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async bool call_smart_update (GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
                public bool call_smart_update_sync (GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public void complete_pm_get_state (owned GLib.DBusMethodInvocation invocation, uint8 state);
@@ -432,6 +490,7 @@ namespace UDisks {
                public void complete_smart_get_attributes (owned GLib.DBusMethodInvocation invocation, GLib.Variant attributes);
                public void complete_smart_selftest_abort (owned GLib.DBusMethodInvocation invocation);
                public void complete_smart_selftest_start (owned GLib.DBusMethodInvocation invocation);
+               public void complete_smart_set_enabled (owned GLib.DBusMethodInvocation invocation);
                public void complete_smart_update (owned GLib.DBusMethodInvocation invocation);
                public static unowned GLib.DBusInterfaceInfo interface_info ();
                public static uint override_properties (GLib.ObjectClass klass, uint property_id_begin);
@@ -477,6 +536,10 @@ namespace UDisks {
                public abstract double smart_temperature { get; set; }
                [NoAccessorMethod]
                public abstract uint64 smart_updated { get; set; }
+               [NoAccessorMethod]
+               public abstract bool write_cache_enabled { get; set; }
+               [NoAccessorMethod]
+               public abstract bool write_cache_supported { get; set; }
                public virtual signal bool handle_pm_get_state (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
                public virtual signal bool handle_pm_standby (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
                public virtual signal bool handle_pm_wakeup (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
@@ -484,6 +547,7 @@ namespace UDisks {
                public virtual signal bool handle_smart_get_attributes (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
                public virtual signal bool handle_smart_selftest_abort (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
                public virtual signal bool handle_smart_selftest_start (GLib.DBusMethodInvocation invocation, string arg_type, GLib.Variant arg_options);
+               public virtual signal bool handle_smart_set_enabled (GLib.DBusMethodInvocation invocation, bool arg_value, GLib.Variant arg_options);
                public virtual signal bool handle_smart_update (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
        }
        [CCode (cheader_filename = "udisks/udisks.h", type_id = "udisks_encrypted_get_type ()")]
@@ -532,6 +596,8 @@ namespace UDisks {
                public static unowned GLib.DBusInterfaceInfo interface_info ();
                public static uint override_properties (GLib.ObjectClass klass, uint property_id_begin);
                [NoAccessorMethod]
+               public abstract uint64 bytes { get; set; }
+               [NoAccessorMethod]
                public abstract bool cancelable { get; set; }
                [NoAccessorMethod]
                public abstract uint64 expected_end_time { get; set; }
@@ -545,6 +611,8 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract bool progress_valid { get; set; }
                [NoAccessorMethod]
+               public abstract uint64 rate { get; set; }
+               [NoAccessorMethod]
                public abstract uint64 start_time { get; set; }
                [NoAccessorMethod]
                public abstract uint started_by_uid { get; set; }
@@ -570,16 +638,75 @@ namespace UDisks {
                public virtual signal bool handle_delete (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
                public virtual signal bool handle_set_autoclear (GLib.DBusMethodInvocation invocation, bool arg_value, GLib.Variant arg_options);
        }
+       [CCode (cheader_filename = "udisks/udisks.h", lower_case_csuffix = "mdraid", type_id = "udisks_mdraid_get_type ()")]
+       public interface MDRaid : GLib.Object {
+               public async bool call_add_device (string arg_device, GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
+               public bool call_add_device_sync (string arg_device, GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public async bool call_remove_device (string arg_device, GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
+               public bool call_remove_device_sync (string arg_device, GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public async bool call_request_sync_action (string arg_sync_action, GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
+               public bool call_request_sync_action_sync (string arg_sync_action, GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public async bool call_set_bitmap_location (string arg_value, GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
+               public bool call_set_bitmap_location_sync (string arg_value, GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public async bool call_start (GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
+               public bool call_start_sync (GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public async bool call_stop (GLib.Variant arg_options, GLib.Cancellable? cancellable) throws GLib.Error;
+               public bool call_stop_sync (GLib.Variant arg_options, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public void complete_add_device (owned GLib.DBusMethodInvocation invocation);
+               public void complete_remove_device (owned GLib.DBusMethodInvocation invocation);
+               public void complete_request_sync_action (owned GLib.DBusMethodInvocation invocation);
+               public void complete_set_bitmap_location (owned GLib.DBusMethodInvocation invocation);
+               public void complete_start (owned GLib.DBusMethodInvocation invocation);
+               public void complete_stop (owned GLib.DBusMethodInvocation invocation);
+               public static unowned GLib.DBusInterfaceInfo interface_info ();
+               public static uint override_properties (GLib.ObjectClass klass, uint property_id_begin);
+               [NoAccessorMethod]
+               public abstract GLib.Variant active_devices { owned get; set; }
+               [NoAccessorMethod]
+               public abstract string bitmap_location { owned get; set; }
+               [NoAccessorMethod]
+               public abstract uint64 chunk_size { get; set; }
+               [NoAccessorMethod]
+               public abstract uint degraded { get; set; }
+               [NoAccessorMethod]
+               public abstract string level { owned get; set; }
+               [NoAccessorMethod]
+               public abstract string name { owned get; set; }
+               [NoAccessorMethod]
+               public abstract uint num_devices { get; set; }
+               [NoAccessorMethod]
+               public abstract uint64 size { get; set; }
+               [NoAccessorMethod]
+               public abstract string sync_action { owned get; set; }
+               [NoAccessorMethod]
+               public abstract double sync_completed { get; set; }
+               [NoAccessorMethod]
+               public abstract uint64 sync_rate { get; set; }
+               [NoAccessorMethod]
+               public abstract uint64 sync_remaining_time { get; set; }
+               [NoAccessorMethod]
+               public abstract string uuid { owned get; set; }
+               public virtual signal bool handle_add_device (GLib.DBusMethodInvocation invocation, string arg_device, GLib.Variant arg_options);
+               public virtual signal bool handle_remove_device (GLib.DBusMethodInvocation invocation, string arg_device, GLib.Variant arg_options);
+               public virtual signal bool handle_request_sync_action (GLib.DBusMethodInvocation invocation, string arg_sync_action, GLib.Variant arg_options);
+               public virtual signal bool handle_set_bitmap_location (GLib.DBusMethodInvocation invocation, string arg_value, GLib.Variant arg_options);
+               public virtual signal bool handle_start (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
+               public virtual signal bool handle_stop (GLib.DBusMethodInvocation invocation, GLib.Variant arg_options);
+       }
        [CCode (cheader_filename = "udisks/udisks.h", type_id = "udisks_manager_get_type ()")]
        public interface Manager : GLib.Object {
                public async bool call_loop_setup (GLib.Variant arg_fd, GLib.Variant arg_options, GLib.UnixFDList? fd_list, GLib.Cancellable? cancellable, out string out_resulting_device, out GLib.UnixFDList out_fd_list) throws GLib.Error;
                public bool call_loop_setup_sync (GLib.Variant arg_fd, GLib.Variant arg_options, GLib.UnixFDList? fd_list, out string out_resulting_device, out GLib.UnixFDList out_fd_list, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public async bool call_mdraid_create (string arg_blocks, string arg_level, string arg_name, uint64 arg_chunk, GLib.Variant arg_options, GLib.Cancellable? cancellable, out string out_resulting_array) throws GLib.Error;
+               public bool call_mdraid_create_sync (string arg_blocks, string arg_level, string arg_name, uint64 arg_chunk, GLib.Variant arg_options, out string out_resulting_array, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public void complete_loop_setup (owned GLib.DBusMethodInvocation invocation, GLib.UnixFDList? fd_list, string resulting_device);
+               public void complete_mdraid_create (owned GLib.DBusMethodInvocation invocation, string resulting_array);
                public static unowned GLib.DBusInterfaceInfo interface_info ();
                public static uint override_properties (GLib.ObjectClass klass, uint property_id_begin);
                [NoAccessorMethod]
                public abstract string version { owned get; set; }
                public virtual signal bool handle_loop_setup (GLib.DBusMethodInvocation invocation, GLib.UnixFDList? fd_list, GLib.Variant arg_fd, GLib.Variant arg_options);
+               public virtual signal bool handle_mdraid_create (GLib.DBusMethodInvocation invocation, [CCode (array_length = false, array_null_terminated = true)] string[] arg_blocks, string arg_level, string arg_name, uint64 arg_chunk, GLib.Variant arg_options);
        }
        [CCode (cheader_filename = "udisks/udisks.h", type_id = "udisks_object_get_type ()")]
        public interface Object : GLib.DBusObject, GLib.Object {
@@ -591,6 +718,7 @@ namespace UDisks {
                public UDisks.Job get_job ();
                public UDisks.Loop get_loop ();
                public UDisks.Manager get_manager ();
+               public UDisks.MDRaid get_mdraid ();
                public UDisks.Partition get_partition ();
                public UDisks.PartitionTable get_partition_table ();
                public UDisks.Swapspace get_swapspace ();
@@ -611,6 +739,8 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract UDisks.Manager manager { owned get; set; }
                [NoAccessorMethod]
+               public abstract UDisks.MDRaid mdraid { owned get; set; }
+               [NoAccessorMethod]
                public abstract UDisks.Partition partition { owned get; set; }
                [NoAccessorMethod]
                public abstract UDisks.PartitionTable partition_table { owned get; set; }
@@ -754,6 +884,10 @@ namespace UDisks {
        [CCode (cheader_filename = "udisks/udisks.h")]
        public static uint manager_override_properties (GLib.ObjectClass klass, uint property_id_begin);
        [CCode (cheader_filename = "udisks/udisks.h")]
+       public static unowned GLib.DBusInterfaceInfo mdraid_interface_info ();
+       [CCode (cheader_filename = "udisks/udisks.h")]
+       public static uint mdraid_override_properties (GLib.ObjectClass klass, uint property_id_begin);
+       [CCode (cheader_filename = "udisks/udisks.h")]
        public static unowned GLib.DBusInterfaceInfo partition_interface_info ();
        [CCode (cheader_filename = "udisks/udisks.h")]
        public static uint partition_override_properties (GLib.ObjectClass klass, uint property_id_begin);
index 8401f79..356e9b2 100644 (file)
@@ -51,6 +51,9 @@ namespace Vte {
                public unowned Vte.Pty get_pty_object ();
                public long get_row_count ();
                public unowned string get_status_line ();
+               public string get_text ([CCode (delegate_target_pos = 1.5)] Vte.SelectionFunc? is_selected, out GLib.Array<Vte.CharAttributes> attributes);
+               public string get_text_include_trailing_spaces ([CCode (delegate_target_pos = 1.5)] Vte.SelectionFunc? is_selected, out GLib.Array<Vte.CharAttributes> attributes);
+               public string get_text_range (long start_row, long start_col, long end_row, long end_col, [CCode (delegate_target_pos = 5.5)] Vte.SelectionFunc? is_selected, out GLib.Array<Vte.CharAttributes> attributes);
                public bool get_visible_bell ();
                public unowned string get_window_title ();
                public void im_append_menuitems (Gtk.MenuShell menushell);
@@ -192,8 +195,8 @@ namespace Vte {
                public virtual signal void text_scrolled (int delta);
                public virtual signal void window_title_changed ();
        }
-       [CCode (cheader_filename = "vte/vte.h", cname = "_VteCharAttributes", has_type_id = false)]
-       public struct _CharAttributes {
+       [CCode (cheader_filename = "vte/vte.h", has_type_id = false)]
+       public struct CharAttributes {
        }
        [CCode (cheader_filename = "vte/vte.h", cprefix = "VTE_PTY_", type_id = "vte_pty_flags_get_type ()")]
        [Flags]
index d431f31..0f4ca51 100644 (file)
@@ -310,6 +310,15 @@ namespace X {
 
                [CCode (cname = "XQueryExtension")]
                public bool query_extension(string name, out int major_opcode, out int first_event_return, out int first_error_return);
+
+               [CCode (cname = "XListProperties")]
+               public X.Atom[] list_properties (Window w);
+
+               [CCode (cname = "XGetVisualInfo")]
+               public X.VisualInfo? get_visual_info (long vinfo_mask, X.VisualInfo template, out int nitems_return);
+
+               [CCode (cname = "XMatchVisualInfo")]
+               public X.Status match_visual_info (int screen, int depth, int @class, out X.VisualInfo vinfo_return);
        }
 
        [Compact]
@@ -410,6 +419,21 @@ namespace X {
        public struct VisualID {
        }
 
+       [CCode (cname = "XVisualInfo")]
+       public struct VisualInfo {
+               public unowned X.Visual visual;
+               public X.VisualID visualid;
+               public int screen;
+               public int depth;
+               public int @class;
+               public ulong red_mask;
+               public ulong green_mask;
+               public ulong blue_mask;
+               public int colormap_size;
+               public int bits_per_rgb;
+       }
+
+
        [SimpleType]
        [IntegerType (rank = 9)]
        [CCode (cname = "Time")]
@@ -464,6 +488,7 @@ namespace X {
        [CCode (ref_function = "", unref_function = "")]
        [Compact]
        public class Visual {
+               public VisualID get_visual_id ();
        }
 
        public struct WindowChanges {
@@ -539,8 +564,7 @@ namespace X {
                public Cursor cursor;           /* cursor to be displayed (or None) */
        }
 
-       [CCode(cname = "XWindowAttributes",
-              cheader_filename = "X11/Xlib.h,X11/Xatom.h,X11/Xutil.h")]
+       [CCode (cname = "XWindowAttributes", has_destroy_function = false, cheader_filename = "X11/Xlib.h,X11/Xatom.h,X11/Xutil.h")]
        public struct WindowAttributes {
                public int x;
                public int y;                   /* location of window */
@@ -567,12 +591,39 @@ namespace X {
                public Screen screen;           /* back pointer to correct screen */
        }
 
+       [CCode (cname = "ParentRelative")]
+       public const ulong PARENT_RELATIVE;
+
        [CCode (cname = "CopyFromParent")]
-       public const int COPY_FROM_PARENT;
+       public const ulong COPY_FROM_PARENT;
+
+       [CCode (cname = "PointerWindow")]
+       public const ulong POINTER_WINDOW;
+
+       [CCode (cname = "InputFocus")]
+       public const ulong INPUT_FOCUS;
+
+       [CCode (cname = "PointerRoot")]
+       public const ulong POINTER_ROOT;
+
+       [CCode (cname = "AnyPropertyType")]
+       public const ulong ANY_PROPERTY_TYPE;
+
+       [CCode (cname = "AnyKey")]
+       public const ulong ANY_KEY;
+
+       [CCode (cname = "AnyButton")]
+       public const ulong ANY_BUTTON;
+
+       [CCode (cname = "AllTemporary")]
+       public const ulong ALL_TEMPORARY;
 
        [CCode (cname = "CurrentTime")]
        public const ulong CURRENT_TIME;
 
+       [CCode (cname = "NoSymbol")]
+       public const ulong NO_SYMBOL;
+
        [CCode (cname = "Success")]
        public int Success;
 
@@ -632,6 +683,7 @@ namespace X {
        }
 
        [CCode (cprefix = "CW", cname = "int")]
+       [Flags]
        public enum CW {
                BackPixmap,
                BackPixel,
@@ -664,6 +716,7 @@ namespace X {
        }
 
        [CCode (cprefix = "")]
+       [Flags]
        public enum EventMask {
                NoEventMask,
                KeyPressMask,
@@ -694,6 +747,7 @@ namespace X {
        }
 
        [CCode (cprefix = "")]
+       [Flags]
        public enum KeyMask {
                ShiftMask,
                LockMask,
@@ -744,6 +798,7 @@ namespace X {
        }
 
        // union
+       [GIR (name = "XEvent")]
        [CCode (cname = "XEvent")]
        public struct Event {
                public int type;
@@ -1183,15 +1238,73 @@ namespace X {
 
        public const X.ID None;
 
+       public const X.Atom XA_PRIMARY;
+       public const X.Atom XA_SECONDARY;
+       public const X.Atom XA_ARC;
        public const X.Atom XA_ATOM;
+       public const X.Atom XA_BITMAP;
        public const X.Atom XA_CARDINAL;
+       public const X.Atom XA_COLORMAP;
+       public const X.Atom XA_CURSOR;
+       public const X.Atom XA_CUT_BUFFER0;
+       public const X.Atom XA_CUT_BUFFER1;
+       public const X.Atom XA_CUT_BUFFER2;
+       public const X.Atom XA_CUT_BUFFER3;
+       public const X.Atom XA_CUT_BUFFER4;
+       public const X.Atom XA_CUT_BUFFER5;
+       public const X.Atom XA_CUT_BUFFER6;
+       public const X.Atom XA_CUT_BUFFER7;
+       public const X.Atom XA_DRAWABLE;
+       public const X.Atom XA_FONT;
+       public const X.Atom XA_INTEGER;
+       public const X.Atom XA_PIXMAP;
+       public const X.Atom XA_POINT;
+       public const X.Atom XA_RECTANGLE;
+       public const X.Atom XA_RESOURCE_MANAGER;
+       public const X.Atom XA_RGB_COLOR_MAP;
+       public const X.Atom XA_RGB_BEST_MAP;
+       public const X.Atom XA_RGB_BLUE_MAP;
+       public const X.Atom XA_RGB_DEFAULT_MAP;
+       public const X.Atom XA_RGB_GRAY_MAP;
+       public const X.Atom XA_RGB_GREEN_MAP;
+       public const X.Atom XA_RGB_RED_MAP;
        public const X.Atom XA_STRING;
+       public const X.Atom XA_VISUALID;
        public const X.Atom XA_WINDOW;
-       public const X.Atom XA_WM_CLASS;
+       public const X.Atom XA_WM_COMMAND;
        public const X.Atom XA_WM_HINTS;
+       public const X.Atom XA_WM_CLIENT_MACHINE;
        public const X.Atom XA_WM_ICON_NAME;
+       public const X.Atom XA_WM_ICON_SIZE;
        public const X.Atom XA_WM_NAME;
        public const X.Atom XA_WM_NORMAL_HINTS;
+       public const X.Atom XA_WM_SIZE_HINTS;
+       public const X.Atom XA_WM_ZOOM_HINTS;
+       public const X.Atom XA_MIN_SPACE;
+       public const X.Atom XA_NORM_SPACE;
+       public const X.Atom XA_MAX_SPACE;
+       public const X.Atom XA_END_SPACE;
+       public const X.Atom XA_SUPERSCRIPT_X;
+       public const X.Atom XA_SUPERSCRIPT_Y;
+       public const X.Atom XA_SUBSCRIPT_X;
+       public const X.Atom XA_SUBSCRIPT_Y;
+       public const X.Atom XA_UNDERLINE_POSITION;
+       public const X.Atom XA_UNDERLINE_THICKNESS;
+       public const X.Atom XA_STRIKEOUT_ASCENT;
+       public const X.Atom XA_STRIKEOUT_DESCENT;
+       public const X.Atom XA_ITALIC_ANGLE;
+       public const X.Atom XA_X_HEIGHT;
+       public const X.Atom XA_QUAD_WIDTH;
+       public const X.Atom XA_WEIGHT;
+       public const X.Atom XA_POINT_SIZE;
+       public const X.Atom XA_RESOLUTION;
+       public const X.Atom XA_COPYRIGHT;
+       public const X.Atom XA_NOTICE;
+       public const X.Atom XA_FONT_NAME;
+       public const X.Atom XA_FAMILY_NAME;
+       public const X.Atom XA_FULL_NAME;
+       public const X.Atom XA_CAP_HEIGHT;
+       public const X.Atom XA_WM_CLASS;
        public const X.Atom XA_WM_TRANSIENT_FOR;
 
        public const uint XK_Num_Lock;
index 693bc35..23efb25 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -52,7 +52,7 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = vapigen$(EXEEXT) vapicheck$(EXEEXT) $(am__EXEEXT_1)
 subdir = vapigen
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(srcdir)/vapigen.pc.in $(top_srcdir)/build-aux/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -124,13 +124,14 @@ am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
 SOURCES = $(vapicheck_SOURCES) $(vapigen_SOURCES)
 DIST_SOURCES = $(vapicheck_SOURCES) $(vapigen_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -166,9 +167,29 @@ am__uninstall_files_from_dir = { \
 DATA = $(aclocal_DATA) $(make_DATA) $(pkgconfig_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
        distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
@@ -454,10 +475,12 @@ install-binPROGRAMS: $(bin_PROGRAMS)
        fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
-       while read p p1; do if test -f $$p || test -f $$p1; \
-         then echo "$$p"; echo "$$p"; else :; fi; \
+       while read p p1; do if test -f $$p \
+        || test -f $$p1 \
+         ; then echo "$$p"; echo "$$p"; else :; fi; \
        done | \
-       sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+       sed -e 'p;s,.*/,,;n;h' \
+           -e 's|.*|.|' \
            -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
        sed 'N;N;N;s,\n, ,g' | \
        $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -478,7 +501,8 @@ uninstall-binPROGRAMS:
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
        files=`for p in $$list; do echo "$$p"; done | \
          sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-             -e 's/$$/$(EXEEXT)/' `; \
+             -e 's/$$/$(EXEEXT)/' \
+       `; \
        test -n "$$list" || exit 0; \
        echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
        cd "$(DESTDIR)$(bindir)" && rm -f $$files
@@ -604,7 +628,7 @@ uninstall-pkgconfigDATA:
 # (1) if the variable is set in 'config.status', edit 'config.status'
 #     (which will cause the Makefiles to be regenerated when you run 'make');
 # (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
+$(am__recursive_targets):
        @fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -632,31 +656,13 @@ $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
        if test "$$dot_seen" = "no"; then \
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-cscopelist-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
-       done
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -672,12 +678,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -689,15 +690,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -706,9 +703,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
 
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -898,14 +896,12 @@ ps-am:
 uninstall-am: uninstall-aclocalDATA uninstall-binPROGRAMS \
        uninstall-makeDATA uninstall-pkgconfigDATA
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       cscopelist-recursive ctags-recursive install install-am \
-       install-data-am install-exec-am install-strip tags-recursive
+.MAKE: $(am__recursive_targets) all check install install-am \
+       install-data-am install-exec-am install-strip
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic clean-libtool cscopelist cscopelist-recursive \
-       ctags ctags-recursive distclean distclean-compile \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-binPROGRAMS clean-generic clean-libtool \
+       cscopelist-am ctags ctags-am distclean distclean-compile \
        distclean-generic distclean-libtool distclean-tags distdir dvi \
        dvi-am html html-am info info-am install install-aclocalDATA \
        install-am install-binPROGRAMS install-data install-data-am \
@@ -917,8 +913,8 @@ uninstall-am: uninstall-aclocalDATA uninstall-binPROGRAMS \
        installdirs installdirs-am maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags tags-recursive uninstall uninstall-aclocalDATA \
-       uninstall-am uninstall-binPROGRAMS uninstall-makeDATA \
+       tags tags-am uninstall uninstall-aclocalDATA uninstall-am \
+       uninstall-binPROGRAMS uninstall-makeDATA \
        uninstall-pkgconfigDATA
 
 
index 30e515b..03fb2e4 100644 (file)
@@ -53,6 +53,7 @@ $(1): $$($(_vapi_name)_GIR)
          --library $(1:.vapi=) \
          $(foreach _vapi_metadatadir_name,$(if $($(_vapi_name)_METADATADIRS),$($(_vapi_name)_METADATADIRS),$(VAPIGEN_METADATADIRS)),--metadatadir $(_vapi_metadatadir_name)) \
          $(foreach _vapi_dir_name,$(if $($(_vapi_name)_VAPIDIRS),$($(_vapi_name)_VAPIDIRS),$(VAPIGEN_VAPIDIRS)),--vapidir $(_vapi_dir_name)) \
+         $(foreach _gir_dir_name,$(if $($(_vapi_name)_GIRDIRS),$($(_vapi_name)_GIRDIRS),$(VAPIGEN_GIRDIRS)),--girdir $(_gir_dir_name)) \
          $(foreach _vapi_dep_name,$(if $($(_vapi_name)_DEPS),$($(_vapi_name)_DEPS),$(VAPIGEN_DEPS)),--pkg $(_vapi_dep_name)) \
          $$($(_vapi_name)_FILES)
 endef
index 5864511..957211c 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -50,7 +50,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = vapigen/vala-gen-introspect
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(srcdir)/vala-gen-introspect.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -111,6 +111,7 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkgdatadir = @pkgdatadir@
 ACLOCAL = @ACLOCAL@
@@ -335,11 +336,9 @@ mostlyclean-libtool:
 
 clean-libtool:
        -rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
 
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
 
 cscope cscopelist:
 
@@ -482,16 +481,17 @@ uninstall-am: uninstall-binSCRIPTS
 .MAKE: install-am install-exec-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-binSCRIPTS install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-exec-hook \
-       install-html install-html-am install-info install-info-am \
-       install-man install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
-       ps ps-am uninstall uninstall-am uninstall-binSCRIPTS
+       cscopelist-am ctags-am distclean distclean-generic \
+       distclean-libtool distdir dvi dvi-am html html-am info info-am \
+       install install-am install-binSCRIPTS install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-exec-hook install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-binSCRIPTS
 
        $(NULL)
 
index 051ccd2..2c435e7 100644 (file)
@@ -16,15 +16,20 @@ dnl You should have received a copy of the GNU Lesser General Public
 dnl License along with this library; if not, write to the Free Software
 dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 
-# VAPIGEN_CHECK([VERSION], [API_VERSION], [FOUND-INTROSPECTION], [DEFAULT])
+# VAPIGEN_CHECK([VERSION], [API_VERSION], [FOUND_INTROSPECTION], [DEFAULT])
 # --------------------------------------
 # Check vapigen existence and version
 #
 # See http://live.gnome.org/Vala/UpstreamGuide for detailed documentation
 AC_DEFUN([VAPIGEN_CHECK],
 [
-  AC_BEFORE([GOBJECT_INTROSPECTION_CHECK],[$0])
-  AC_BEFORE([GOBJECT_INTROSPECTION_REQUIRE],[$0])
+  AS_IF([test "x$3" != "xyes"], [
+      m4_provide_if([GOBJECT_INTROSPECTION_CHECK], [], [
+          m4_provide_if([GOBJECT_INTROSPECTION_REQUIRE], [], [
+              AC_MSG_ERROR([[You must call GOBJECT_INTROSPECTION_CHECK or GOBJECT_INTROSPECTION_REQUIRE before using VAPIGEN_CHECK unless using the FOUND_INTROSPECTION argument is "yes"]])
+            ])
+        ])
+    ])
 
   AC_ARG_ENABLE([vala],
     [AS_HELP_STRING([--enable-vala[=@<:@no/auto/yes@:>@]],[build Vala bindings @<:@default=]ifelse($4,,auto,$4)[@:>@])],,[