/* gitg-stage-status-enumerator.c generated by valac 0.32.1, the Vala compiler
 * generated from gitg-stage-status-enumerator.vala, do not modify */

/*
 * This file is part of gitg
 *
 * Copyright (C) 2013 - Jesse van den Kieboom
 *
 * gitg 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
 * (at your option) any later version.
 *
 * gitg 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 gitg. If not, see <http://www.gnu.org/licenses/>.
 */

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <libgit2-glib/ggit.h>
#include <gio/gio.h>
#include <gee.h>
#include <stdio.h>


#define GITG_TYPE_STAGE_STATUS_ITEM (gitg_stage_status_item_get_type ())
#define GITG_STAGE_STATUS_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_STAGE_STATUS_ITEM, GitgStageStatusItem))
#define GITG_IS_STAGE_STATUS_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_STAGE_STATUS_ITEM))
#define GITG_STAGE_STATUS_ITEM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_TYPE_STAGE_STATUS_ITEM, GitgStageStatusItemIface))

typedef struct _GitgStageStatusItem GitgStageStatusItem;
typedef struct _GitgStageStatusItemIface GitgStageStatusItemIface;

#define GITG_TYPE_STAGE_STATUS_FILE (gitg_stage_status_file_get_type ())
#define GITG_STAGE_STATUS_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_STAGE_STATUS_FILE, GitgStageStatusFile))
#define GITG_STAGE_STATUS_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_STAGE_STATUS_FILE, GitgStageStatusFileClass))
#define GITG_IS_STAGE_STATUS_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_STAGE_STATUS_FILE))
#define GITG_IS_STAGE_STATUS_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_STAGE_STATUS_FILE))
#define GITG_STAGE_STATUS_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_STAGE_STATUS_FILE, GitgStageStatusFileClass))

typedef struct _GitgStageStatusFile GitgStageStatusFile;
typedef struct _GitgStageStatusFileClass GitgStageStatusFileClass;
typedef struct _GitgStageStatusFilePrivate GitgStageStatusFilePrivate;
#define _g_free0(var) (var = (g_free (var), NULL))

#define GITG_TYPE_STAGE_STATUS_SUBMODULE (gitg_stage_status_submodule_get_type ())
#define GITG_STAGE_STATUS_SUBMODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_STAGE_STATUS_SUBMODULE, GitgStageStatusSubmodule))
#define GITG_STAGE_STATUS_SUBMODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_STAGE_STATUS_SUBMODULE, GitgStageStatusSubmoduleClass))
#define GITG_IS_STAGE_STATUS_SUBMODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_STAGE_STATUS_SUBMODULE))
#define GITG_IS_STAGE_STATUS_SUBMODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_STAGE_STATUS_SUBMODULE))
#define GITG_STAGE_STATUS_SUBMODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_STAGE_STATUS_SUBMODULE, GitgStageStatusSubmoduleClass))

typedef struct _GitgStageStatusSubmodule GitgStageStatusSubmodule;
typedef struct _GitgStageStatusSubmoduleClass GitgStageStatusSubmoduleClass;
typedef struct _GitgStageStatusSubmodulePrivate GitgStageStatusSubmodulePrivate;
#define _ggit_submodule_unref0(var) ((var == NULL) ? NULL : (var = (ggit_submodule_unref (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define GITG_TYPE_STAGE_STATUS_ENUMERATOR (gitg_stage_status_enumerator_get_type ())
#define GITG_STAGE_STATUS_ENUMERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_STAGE_STATUS_ENUMERATOR, GitgStageStatusEnumerator))
#define GITG_STAGE_STATUS_ENUMERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_STAGE_STATUS_ENUMERATOR, GitgStageStatusEnumeratorClass))
#define GITG_IS_STAGE_STATUS_ENUMERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_STAGE_STATUS_ENUMERATOR))
#define GITG_IS_STAGE_STATUS_ENUMERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_STAGE_STATUS_ENUMERATOR))
#define GITG_STAGE_STATUS_ENUMERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_STAGE_STATUS_ENUMERATOR, GitgStageStatusEnumeratorClass))

typedef struct _GitgStageStatusEnumerator GitgStageStatusEnumerator;
typedef struct _GitgStageStatusEnumeratorClass GitgStageStatusEnumeratorClass;
typedef struct _GitgStageStatusEnumeratorPrivate GitgStageStatusEnumeratorPrivate;

#define GITG_TYPE_REPOSITORY (gitg_repository_get_type ())
#define GITG_REPOSITORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_REPOSITORY, GitgRepository))
#define GITG_REPOSITORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_REPOSITORY, GitgRepositoryClass))
#define GITG_IS_REPOSITORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_REPOSITORY))
#define GITG_IS_REPOSITORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_REPOSITORY))
#define GITG_REPOSITORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_REPOSITORY, GitgRepositoryClass))

typedef struct _GitgRepository GitgRepository;
typedef struct _GitgRepositoryClass GitgRepositoryClass;
#define _g_thread_unref0(var) ((var == NULL) ? NULL : (var = (g_thread_unref (var), NULL)))
#define __vala_GgitStatusOptions_free0(var) ((var == NULL) ? NULL : (var = (_vala_GgitStatusOptions_free (var), NULL)))
typedef struct _Block21Data Block21Data;
typedef struct _GitgStageStatusEnumeratorNextItemsData GitgStageStatusEnumeratorNextItemsData;
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

struct _GitgStageStatusItemIface {
	GTypeInterface parent_iface;
	gchar* (*get_path) (GitgStageStatusItem* self);
	gboolean (*get_is_staged) (GitgStageStatusItem* self);
	gboolean (*get_is_unstaged) (GitgStageStatusItem* self);
	gboolean (*get_is_untracked) (GitgStageStatusItem* self);
	gchar* (*get_icon_name) (GitgStageStatusItem* self);
};

struct _GitgStageStatusFile {
	GObject parent_instance;
	GitgStageStatusFilePrivate * priv;
};

struct _GitgStageStatusFileClass {
	GObjectClass parent_class;
};

struct _GitgStageStatusFilePrivate {
	gchar* d_path;
	GgitStatusFlags d_flags;
};

struct _GitgStageStatusSubmodule {
	GObject parent_instance;
	GitgStageStatusSubmodulePrivate * priv;
};

struct _GitgStageStatusSubmoduleClass {
	GObjectClass parent_class;
};

struct _GitgStageStatusSubmodulePrivate {
	GgitSubmodule* d_submodule;
	gchar* d_path;
	GgitSubmoduleStatus d_flags;
};

struct _GitgStageStatusEnumerator {
	GObject parent_instance;
	GitgStageStatusEnumeratorPrivate * priv;
};

struct _GitgStageStatusEnumeratorClass {
	GObjectClass parent_class;
};

struct _GitgStageStatusEnumeratorPrivate {
	GitgRepository* d_repository;
	GThread* d_thread;
	GitgStageStatusItem** d_items;
	gint d_items_length1;
	gint _d_items_size_;
	GRecMutex __lock_d_items;
	gint d_offset;
	gint d_callback_num;
	GCancellable* d_cancellable;
	GSourceFunc d_callback;
	gpointer d_callback_target;
	GDestroyNotify d_callback_target_destroy_notify;
	GgitStatusOptions* d_options;
	GeeHashSet* d_ignored_submodules;
};

typedef void (*GitgStageStatusEnumeratorAddItem) (GitgStageStatusItem* item, void* user_data);
struct _Block21Data {
	int _ref_count_;
	GitgStageStatusEnumerator* self;
	GitgStageStatusEnumeratorAddItem add;
	gpointer add_target;
	GDestroyNotify add_target_destroy_notify;
	GeeHashSet* submodule_paths;
};

struct _GitgStageStatusEnumeratorNextItemsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	GitgStageStatusEnumerator* self;
	gint num;
	GitgStageStatusItem** result;
	gint result_length1;
	GSourceFunc callback;
	void* callback_target;
	GDestroyNotify callback_target_destroy_notify;
	GitgStageStatusItem** ret;
	gint ret_length1;
	gint _ret_size_;
	GitgStageStatusItem** _tmp0_;
	gint _tmp0__length1;
	GCancellable* _tmp1_;
	gint _tmp2_;
	gint _tmp3_;
	GitgStageStatusItem** _tmp4_;
	GitgStageStatusItem** _tmp5_;
	gint _tmp5__length1;
	GitgStageStatusItem** _tmp6_;
	gint _tmp6__length1;
	GSourceFunc _tmp7_;
	void* _tmp7__target;
	GDestroyNotify _tmp7__target_destroy_notify;
	gint _tmp8_;
	GitgStageStatusItem** _tmp9_;
	gint _tmp9__length1;
	GitgStageStatusItem** _tmp10_;
	gint _tmp10__length1;
	gint _tmp11_;
	gint _tmp12_;
	GitgStageStatusItem** _tmp13_;
	GitgStageStatusItem** _tmp14_;
	gint _tmp14__length1;
	GitgStageStatusItem** _tmp15_;
	gint _tmp15__length1;
	gint _tmp16_;
	GitgStageStatusItem** _tmp17_;
	gint _tmp17__length1;
	GError * _inner_error_;
};


static gpointer gitg_stage_status_file_parent_class = NULL;
static GgitStatusFlags gitg_stage_status_file_s_index_flags;
static GgitStatusFlags gitg_stage_status_file_s_index_flags = (((GGIT_STATUS_INDEX_NEW | GGIT_STATUS_INDEX_MODIFIED) | GGIT_STATUS_INDEX_DELETED) | GGIT_STATUS_INDEX_RENAMED) | GGIT_STATUS_INDEX_TYPECHANGE;
static GgitStatusFlags gitg_stage_status_file_s_work_flags;
static GgitStatusFlags gitg_stage_status_file_s_work_flags = (GGIT_STATUS_WORKING_TREE_MODIFIED | GGIT_STATUS_WORKING_TREE_DELETED) | GGIT_STATUS_WORKING_TREE_TYPECHANGE;
static GgitStatusFlags gitg_stage_status_file_s_untracked_flags;
static GgitStatusFlags gitg_stage_status_file_s_untracked_flags = GGIT_STATUS_WORKING_TREE_NEW;
static GitgStageStatusItemIface* gitg_stage_status_file_gitg_stage_status_item_parent_iface = NULL;
static gpointer gitg_stage_status_submodule_parent_class = NULL;
static GgitSubmoduleStatus gitg_stage_status_submodule_s_index_flags;
static GgitSubmoduleStatus gitg_stage_status_submodule_s_index_flags = (GGIT_SUBMODULE_STATUS_INDEX_ADDED | GGIT_SUBMODULE_STATUS_INDEX_DELETED) | GGIT_SUBMODULE_STATUS_INDEX_MODIFIED;
static GgitSubmoduleStatus gitg_stage_status_submodule_s_work_flags;
static GgitSubmoduleStatus gitg_stage_status_submodule_s_work_flags = (GGIT_SUBMODULE_STATUS_WD_ADDED | GGIT_SUBMODULE_STATUS_WD_DELETED) | GGIT_SUBMODULE_STATUS_WD_MODIFIED;
static GgitSubmoduleStatus gitg_stage_status_submodule_s_untracked_flags;
static GgitSubmoduleStatus gitg_stage_status_submodule_s_untracked_flags = GGIT_SUBMODULE_STATUS_IN_WD;
static GgitSubmoduleStatus gitg_stage_status_submodule_s_tracked_flags;
static GgitSubmoduleStatus gitg_stage_status_submodule_s_tracked_flags = GGIT_SUBMODULE_STATUS_IN_HEAD | GGIT_SUBMODULE_STATUS_IN_INDEX;
static GgitSubmoduleStatus gitg_stage_status_submodule_s_dirty_flags;
static GgitSubmoduleStatus gitg_stage_status_submodule_s_dirty_flags = GGIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED | GGIT_SUBMODULE_STATUS_WD_WD_MODIFIED;
static GitgStageStatusItemIface* gitg_stage_status_submodule_gitg_stage_status_item_parent_iface = NULL;
static gpointer gitg_stage_status_enumerator_parent_class = NULL;
static GRegex* gitg_stage_status_enumerator_s_ignore_regex;
static GRegex* gitg_stage_status_enumerator_s_ignore_regex = NULL;

GType gitg_stage_status_item_get_type (void) G_GNUC_CONST;
gchar* gitg_stage_status_item_get_path (GitgStageStatusItem* self);
gboolean gitg_stage_status_item_get_is_staged (GitgStageStatusItem* self);
gboolean gitg_stage_status_item_get_is_unstaged (GitgStageStatusItem* self);
gboolean gitg_stage_status_item_get_is_untracked (GitgStageStatusItem* self);
gchar* gitg_stage_status_item_get_icon_name (GitgStageStatusItem* self);
GType gitg_stage_status_file_get_type (void) G_GNUC_CONST;
#define GITG_STAGE_STATUS_FILE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GITG_TYPE_STAGE_STATUS_FILE, GitgStageStatusFilePrivate))
enum  {
	GITG_STAGE_STATUS_FILE_DUMMY_PROPERTY,
	GITG_STAGE_STATUS_FILE_PATH,
	GITG_STAGE_STATUS_FILE_IS_STAGED,
	GITG_STAGE_STATUS_FILE_IS_UNSTAGED,
	GITG_STAGE_STATUS_FILE_IS_UNTRACKED,
	GITG_STAGE_STATUS_FILE_FLAGS,
	GITG_STAGE_STATUS_FILE_ICON_NAME
};
GitgStageStatusFile* gitg_stage_status_file_new (const gchar* path, GgitStatusFlags flags);
GitgStageStatusFile* gitg_stage_status_file_construct (GType object_type, const gchar* path, GgitStatusFlags flags);
static gchar* gitg_stage_status_file_icon_for_status (GitgStageStatusFile* self, GgitStatusFlags status);
GgitStatusFlags gitg_stage_status_file_get_flags (GitgStageStatusFile* self);
static void gitg_stage_status_file_finalize (GObject* obj);
static void _vala_gitg_stage_status_file_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
GType gitg_stage_status_submodule_get_type (void) G_GNUC_CONST;
#define GITG_STAGE_STATUS_SUBMODULE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GITG_TYPE_STAGE_STATUS_SUBMODULE, GitgStageStatusSubmodulePrivate))
enum  {
	GITG_STAGE_STATUS_SUBMODULE_DUMMY_PROPERTY,
	GITG_STAGE_STATUS_SUBMODULE_SUBMODULE,
	GITG_STAGE_STATUS_SUBMODULE_PATH,
	GITG_STAGE_STATUS_SUBMODULE_IS_STAGED,
	GITG_STAGE_STATUS_SUBMODULE_IS_UNSTAGED,
	GITG_STAGE_STATUS_SUBMODULE_IS_UNTRACKED,
	GITG_STAGE_STATUS_SUBMODULE_IS_DIRTY,
	GITG_STAGE_STATUS_SUBMODULE_FLAGS,
	GITG_STAGE_STATUS_SUBMODULE_ICON_NAME
};
GitgStageStatusSubmodule* gitg_stage_status_submodule_new (GgitSubmodule* submodule);
GitgStageStatusSubmodule* gitg_stage_status_submodule_construct (GType object_type, GgitSubmodule* submodule);
GgitSubmodule* gitg_stage_status_submodule_get_submodule (GitgStageStatusSubmodule* self);
gboolean gitg_stage_status_submodule_get_is_dirty (GitgStageStatusSubmodule* self);
GgitSubmoduleStatus gitg_stage_status_submodule_get_flags (GitgStageStatusSubmodule* self);
static void gitg_stage_status_submodule_finalize (GObject* obj);
static void _vala_gitg_stage_status_submodule_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
GType gitg_stage_status_enumerator_get_type (void) G_GNUC_CONST;
GType gitg_repository_get_type (void) G_GNUC_CONST;
#define GITG_STAGE_STATUS_ENUMERATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GITG_TYPE_STAGE_STATUS_ENUMERATOR, GitgStageStatusEnumeratorPrivate))
enum  {
	GITG_STAGE_STATUS_ENUMERATOR_DUMMY_PROPERTY
};
static void _vala_GgitStatusOptions_free (GgitStatusOptions* self);
GitgStageStatusEnumerator* gitg_stage_status_enumerator_new (GitgRepository* repository, GgitStatusOptions* options);
GitgStageStatusEnumerator* gitg_stage_status_enumerator_construct (GType object_type, GitgRepository* repository, GgitStatusOptions* options);
static GgitStatusOptions* _vala_GgitStatusOptions_copy (GgitStatusOptions* self);
static gint ___lambda8_ (GitgStageStatusEnumerator* self, GMatchInfo* match, const gchar* val);
static gint ____lambda8__ggit_config_match_callback (GMatchInfo* match_info, const gchar* value, gpointer self);
static void* gitg_stage_status_enumerator_run_status (GitgStageStatusEnumerator* self);
static gpointer _gitg_stage_status_enumerator_run_status_gthread_func (gpointer self);
void gitg_stage_status_enumerator_cancel (GitgStageStatusEnumerator* self);
static Block21Data* block21_data_ref (Block21Data* _data21_);
static void block21_data_unref (void * _userdata_);
static void __lambda9_ (GitgStageStatusEnumerator* self, GitgStageStatusItem* item);
static void _vala_array_add16 (GitgStageStatusItem*** array, int* length, int* size, GitgStageStatusItem* value);
static void ___lambda9__gitg_stage_status_enumerator_add_item (GitgStageStatusItem* item, gpointer self);
static gint ____lambda10_ (Block21Data* _data21_, GgitSubmodule* submodule, const gchar* name);
static gint _____lambda10__ggit_submodule_callback (GgitSubmodule* submodule, const gchar* name, gpointer self);
static gint ___lambda11_ (Block21Data* _data21_, const gchar* path, GgitStatusFlags flags);
static gint ____lambda11__ggit_status_callback (const gchar* path, GgitStatusFlags status_flags, gpointer self);
static GitgStageStatusItem** gitg_stage_status_enumerator_fill_items (GitgStageStatusEnumerator* self, gint num, int* result_length1);
static void _vala_array_add17 (GitgStageStatusItem*** array, int* length, int* size, GitgStageStatusItem* value);
static void gitg_stage_status_enumerator_next_items_data_free (gpointer _data);
void gitg_stage_status_enumerator_next_items (GitgStageStatusEnumerator* self, gint num, GAsyncReadyCallback _callback_, gpointer _user_data_);
GitgStageStatusItem** gitg_stage_status_enumerator_next_items_finish (GitgStageStatusEnumerator* self, GAsyncResult* _res_, int* result_length1);
static gboolean gitg_stage_status_enumerator_next_items_co (GitgStageStatusEnumeratorNextItemsData* _data_);
static gboolean _gitg_stage_status_enumerator_next_items_co_gsource_func (gpointer self);
static void gitg_stage_status_enumerator_finalize (GObject* obj);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);


gchar* gitg_stage_status_item_get_path (GitgStageStatusItem* self) {
#line 25 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 25 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return GITG_STAGE_STATUS_ITEM_GET_INTERFACE (self)->get_path (self);
#line 323 "gitg-stage-status-enumerator.c"
}


gboolean gitg_stage_status_item_get_is_staged (GitgStageStatusItem* self) {
#line 27 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 27 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return GITG_STAGE_STATUS_ITEM_GET_INTERFACE (self)->get_is_staged (self);
#line 332 "gitg-stage-status-enumerator.c"
}


gboolean gitg_stage_status_item_get_is_unstaged (GitgStageStatusItem* self) {
#line 28 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 28 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return GITG_STAGE_STATUS_ITEM_GET_INTERFACE (self)->get_is_unstaged (self);
#line 341 "gitg-stage-status-enumerator.c"
}


gboolean gitg_stage_status_item_get_is_untracked (GitgStageStatusItem* self) {
#line 29 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 29 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return GITG_STAGE_STATUS_ITEM_GET_INTERFACE (self)->get_is_untracked (self);
#line 350 "gitg-stage-status-enumerator.c"
}


gchar* gitg_stage_status_item_get_icon_name (GitgStageStatusItem* self) {
#line 31 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 31 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return GITG_STAGE_STATUS_ITEM_GET_INTERFACE (self)->get_icon_name (self);
#line 359 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_item_base_init (GitgStageStatusItemIface * iface) {
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	static gboolean initialized = FALSE;
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (!initialized) {
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		initialized = TRUE;
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_object_interface_install_property (iface, g_param_spec_string ("path", "path", "path", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_object_interface_install_property (iface, g_param_spec_boolean ("is-staged", "is-staged", "is-staged", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_object_interface_install_property (iface, g_param_spec_boolean ("is-unstaged", "is-unstaged", "is-unstaged", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_object_interface_install_property (iface, g_param_spec_boolean ("is-untracked", "is-untracked", "is-untracked", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_object_interface_install_property (iface, g_param_spec_string ("icon-name", "icon-name", "icon-name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 380 "gitg-stage-status-enumerator.c"
	}
}


GType gitg_stage_status_item_get_type (void) {
	static volatile gsize gitg_stage_status_item_type_id__volatile = 0;
	if (g_once_init_enter (&gitg_stage_status_item_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GitgStageStatusItemIface), (GBaseInitFunc) gitg_stage_status_item_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
		GType gitg_stage_status_item_type_id;
		gitg_stage_status_item_type_id = g_type_register_static (G_TYPE_INTERFACE, "GitgStageStatusItem", &g_define_type_info, 0);
		g_type_interface_add_prerequisite (gitg_stage_status_item_type_id, G_TYPE_OBJECT);
		g_once_init_leave (&gitg_stage_status_item_type_id__volatile, gitg_stage_status_item_type_id);
	}
	return gitg_stage_status_item_type_id__volatile;
}


GitgStageStatusFile* gitg_stage_status_file_construct (GType object_type, const gchar* path, GgitStatusFlags flags) {
	GitgStageStatusFile * self = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	GgitStatusFlags _tmp2_ = 0;
#line 54 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (path != NULL, NULL);
#line 54 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusFile*) g_object_new (object_type, NULL);
#line 56 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = path;
#line 56 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 56 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_free0 (self->priv->d_path);
#line 56 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_path = _tmp1_;
#line 57 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp2_ = flags;
#line 57 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_flags = _tmp2_;
#line 54 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return self;
#line 421 "gitg-stage-status-enumerator.c"
}


GitgStageStatusFile* gitg_stage_status_file_new (const gchar* path, GgitStatusFlags flags) {
#line 54 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return gitg_stage_status_file_construct (GITG_TYPE_STAGE_STATUS_FILE, path, flags);
#line 428 "gitg-stage-status-enumerator.c"
}


static gchar* gitg_stage_status_file_icon_for_status (GitgStageStatusFile* self, GgitStatusFlags status) {
	gchar* result = NULL;
	GgitStatusFlags _tmp0_ = 0;
#line 85 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 87 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = status;
#line 87 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if ((_tmp0_ & (GGIT_STATUS_INDEX_NEW | GGIT_STATUS_WORKING_TREE_NEW)) != 0) {
#line 441 "gitg-stage-status-enumerator.c"
		gchar* _tmp1_ = NULL;
#line 90 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp1_ = g_strdup ("list-add-symbolic");
#line 90 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		result = _tmp1_;
#line 90 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		return result;
#line 449 "gitg-stage-status-enumerator.c"
	} else {
		GgitStatusFlags _tmp2_ = 0;
#line 92 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp2_ = status;
#line 92 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if ((_tmp2_ & ((((GGIT_STATUS_INDEX_MODIFIED | GGIT_STATUS_INDEX_RENAMED) | GGIT_STATUS_INDEX_TYPECHANGE) | GGIT_STATUS_WORKING_TREE_MODIFIED) | GGIT_STATUS_WORKING_TREE_TYPECHANGE)) != 0) {
#line 456 "gitg-stage-status-enumerator.c"
			gchar* _tmp3_ = NULL;
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp3_ = g_strdup ("text-editor-symbolic");
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			result = _tmp3_;
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			return result;
#line 464 "gitg-stage-status-enumerator.c"
		} else {
			GgitStatusFlags _tmp4_ = 0;
#line 100 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp4_ = status;
#line 100 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			if ((_tmp4_ & (GGIT_STATUS_INDEX_DELETED | GGIT_STATUS_WORKING_TREE_DELETED)) != 0) {
#line 471 "gitg-stage-status-enumerator.c"
				gchar* _tmp5_ = NULL;
#line 103 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp5_ = g_strdup ("edit-delete-symbolic");
#line 103 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				result = _tmp5_;
#line 103 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				return result;
#line 479 "gitg-stage-status-enumerator.c"
			}
		}
	}
#line 106 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = NULL;
#line 106 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 487 "gitg-stage-status-enumerator.c"
}


static gchar* gitg_stage_status_file_real_get_path (GitgStageStatusItem* base) {
	gchar* result;
	GitgStageStatusFile* self;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 62 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusFile*) base;
#line 62 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_path;
#line 62 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 62 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp1_;
#line 62 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 506 "gitg-stage-status-enumerator.c"
}


static gboolean gitg_stage_status_file_real_get_is_staged (GitgStageStatusItem* base) {
	gboolean result;
	GitgStageStatusFile* self;
	GgitStatusFlags _tmp0_ = 0;
	GgitStatusFlags _tmp1_ = 0;
#line 67 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusFile*) base;
#line 67 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_flags;
#line 67 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = gitg_stage_status_file_s_index_flags;
#line 67 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = (_tmp0_ & _tmp1_) != 0;
#line 67 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 525 "gitg-stage-status-enumerator.c"
}


static gboolean gitg_stage_status_file_real_get_is_unstaged (GitgStageStatusItem* base) {
	gboolean result;
	GitgStageStatusFile* self;
	GgitStatusFlags _tmp0_ = 0;
	GgitStatusFlags _tmp1_ = 0;
#line 72 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusFile*) base;
#line 72 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_flags;
#line 72 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = gitg_stage_status_file_s_work_flags;
#line 72 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = (_tmp0_ & _tmp1_) != 0;
#line 72 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 544 "gitg-stage-status-enumerator.c"
}


static gboolean gitg_stage_status_file_real_get_is_untracked (GitgStageStatusItem* base) {
	gboolean result;
	GitgStageStatusFile* self;
	GgitStatusFlags _tmp0_ = 0;
	GgitStatusFlags _tmp1_ = 0;
#line 77 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusFile*) base;
#line 77 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_flags;
#line 77 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = gitg_stage_status_file_s_untracked_flags;
#line 77 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = (_tmp0_ & _tmp1_) != 0;
#line 77 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 563 "gitg-stage-status-enumerator.c"
}


GgitStatusFlags gitg_stage_status_file_get_flags (GitgStageStatusFile* self) {
	GgitStatusFlags result;
	GgitStatusFlags _tmp0_ = 0;
#line 82 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 82 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_flags;
#line 82 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp0_;
#line 82 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 578 "gitg-stage-status-enumerator.c"
}


static gchar* gitg_stage_status_file_real_get_icon_name (GitgStageStatusItem* base) {
	gchar* result;
	GitgStageStatusFile* self;
	GgitStatusFlags _tmp0_ = 0;
	gchar* _tmp1_ = NULL;
#line 111 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusFile*) base;
#line 111 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_flags;
#line 111 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = gitg_stage_status_file_icon_for_status (self, _tmp0_);
#line 111 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp1_;
#line 111 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 597 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_file_class_init (GitgStageStatusFileClass * klass) {
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	gitg_stage_status_file_parent_class = g_type_class_peek_parent (klass);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_type_class_add_private (klass, sizeof (GitgStageStatusFilePrivate));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_gitg_stage_status_file_get_property;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	G_OBJECT_CLASS (klass)->finalize = gitg_stage_status_file_finalize;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_FILE_PATH, g_param_spec_string ("path", "path", "path", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_FILE_IS_STAGED, g_param_spec_boolean ("is-staged", "is-staged", "is-staged", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_FILE_IS_UNSTAGED, g_param_spec_boolean ("is-unstaged", "is-unstaged", "is-unstaged", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_FILE_IS_UNTRACKED, g_param_spec_boolean ("is-untracked", "is-untracked", "is-untracked", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_FILE_FLAGS, g_param_spec_flags ("flags", "flags", "flags", ggit_status_flags_get_type (), 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_FILE_ICON_NAME, g_param_spec_string ("icon-name", "icon-name", "icon-name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 622 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_file_gitg_stage_status_item_interface_init (GitgStageStatusItemIface * iface) {
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	gitg_stage_status_file_gitg_stage_status_item_parent_iface = g_type_interface_peek_parent (iface);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	iface->get_path = gitg_stage_status_file_real_get_path;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	iface->get_is_staged = gitg_stage_status_file_real_get_is_staged;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	iface->get_is_unstaged = gitg_stage_status_file_real_get_is_unstaged;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	iface->get_is_untracked = gitg_stage_status_file_real_get_is_untracked;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	iface->get_icon_name = gitg_stage_status_file_real_get_icon_name;
#line 639 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_file_instance_init (GitgStageStatusFile * self) {
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv = GITG_STAGE_STATUS_FILE_GET_PRIVATE (self);
#line 646 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_file_finalize (GObject* obj) {
	GitgStageStatusFile * self;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GITG_TYPE_STAGE_STATUS_FILE, GitgStageStatusFile);
#line 36 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_free0 (self->priv->d_path);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	G_OBJECT_CLASS (gitg_stage_status_file_parent_class)->finalize (obj);
#line 658 "gitg-stage-status-enumerator.c"
}


GType gitg_stage_status_file_get_type (void) {
	static volatile gsize gitg_stage_status_file_type_id__volatile = 0;
	if (g_once_init_enter (&gitg_stage_status_file_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GitgStageStatusFileClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gitg_stage_status_file_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GitgStageStatusFile), 0, (GInstanceInitFunc) gitg_stage_status_file_instance_init, NULL };
		static const GInterfaceInfo gitg_stage_status_item_info = { (GInterfaceInitFunc) gitg_stage_status_file_gitg_stage_status_item_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType gitg_stage_status_file_type_id;
		gitg_stage_status_file_type_id = g_type_register_static (G_TYPE_OBJECT, "GitgStageStatusFile", &g_define_type_info, 0);
		g_type_add_interface_static (gitg_stage_status_file_type_id, GITG_TYPE_STAGE_STATUS_ITEM, &gitg_stage_status_item_info);
		g_once_init_leave (&gitg_stage_status_file_type_id__volatile, gitg_stage_status_file_type_id);
	}
	return gitg_stage_status_file_type_id__volatile;
}


static void _vala_gitg_stage_status_file_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GitgStageStatusFile * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GITG_TYPE_STAGE_STATUS_FILE, GitgStageStatusFile);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	switch (property_id) {
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_FILE_PATH:
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_take_string (value, gitg_stage_status_item_get_path ((GitgStageStatusItem*) self));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_FILE_IS_STAGED:
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_set_boolean (value, gitg_stage_status_item_get_is_staged ((GitgStageStatusItem*) self));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_FILE_IS_UNSTAGED:
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_set_boolean (value, gitg_stage_status_item_get_is_unstaged ((GitgStageStatusItem*) self));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_FILE_IS_UNTRACKED:
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_set_boolean (value, gitg_stage_status_item_get_is_untracked ((GitgStageStatusItem*) self));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_FILE_FLAGS:
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_set_flags (value, gitg_stage_status_file_get_flags (self));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_FILE_ICON_NAME:
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_take_string (value, gitg_stage_status_item_get_icon_name ((GitgStageStatusItem*) self));
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 717 "gitg-stage-status-enumerator.c"
		default:
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 723 "gitg-stage-status-enumerator.c"
	}
}


static gpointer _ggit_submodule_ref0 (gpointer self) {
#line 144 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return self ? ggit_submodule_ref (self) : NULL;
#line 731 "gitg-stage-status-enumerator.c"
}


GitgStageStatusSubmodule* gitg_stage_status_submodule_construct (GType object_type, GgitSubmodule* submodule) {
	GitgStageStatusSubmodule * self = NULL;
	GgitSubmodule* _tmp0_ = NULL;
	GgitSubmodule* _tmp1_ = NULL;
	GgitSubmodule* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	GgitRepository* repository = NULL;
	GgitSubmodule* _tmp5_ = NULL;
	GgitRepository* _tmp6_ = NULL;
	GError * _inner_error_ = NULL;
#line 142 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (submodule != NULL, NULL);
#line 142 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusSubmodule*) g_object_new (object_type, NULL);
#line 144 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = submodule;
#line 144 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = _ggit_submodule_ref0 (_tmp0_);
#line 144 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_ggit_submodule_unref0 (self->priv->d_submodule);
#line 144 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_submodule = _tmp1_;
#line 145 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp2_ = submodule;
#line 145 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp3_ = ggit_submodule_get_path (_tmp2_);
#line 145 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 145 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_free0 (self->priv->d_path);
#line 145 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_path = _tmp4_;
#line 147 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp5_ = submodule;
#line 147 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp6_ = ggit_submodule_get_owner (_tmp5_);
#line 147 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	repository = _tmp6_;
#line 774 "gitg-stage-status-enumerator.c"
	{
		GgitSubmoduleStatus _tmp7_ = 0;
		GgitSubmodule* _tmp8_ = NULL;
		const gchar* _tmp9_ = NULL;
		GgitSubmoduleStatus _tmp10_ = 0;
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp8_ = submodule;
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp9_ = ggit_submodule_get_name (_tmp8_);
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp10_ = ggit_repository_get_submodule_status (repository, _tmp9_, GGIT_SUBMODULE_IGNORE_UNTRACKED, &_inner_error_);
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp7_ = _tmp10_;
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 790 "gitg-stage-status-enumerator.c"
			goto __catch78_g_error;
		}
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		self->priv->d_flags = _tmp7_;
#line 795 "gitg-stage-status-enumerator.c"
	}
	goto __finally78;
	__catch78_g_error:
	{
#line 149 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_clear_error (&_inner_error_);
#line 149 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_inner_error_ = NULL;
#line 804 "gitg-stage-status-enumerator.c"
	}
	__finally78:
#line 149 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 149 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_object_unref0 (repository);
#line 149 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 149 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_clear_error (&_inner_error_);
#line 149 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		return NULL;
#line 817 "gitg-stage-status-enumerator.c"
	}
#line 142 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_object_unref0 (repository);
#line 142 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return self;
#line 823 "gitg-stage-status-enumerator.c"
}


GitgStageStatusSubmodule* gitg_stage_status_submodule_new (GgitSubmodule* submodule) {
#line 142 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return gitg_stage_status_submodule_construct (GITG_TYPE_STAGE_STATUS_SUBMODULE, submodule);
#line 830 "gitg-stage-status-enumerator.c"
}


GgitSubmodule* gitg_stage_status_submodule_get_submodule (GitgStageStatusSubmodule* self) {
	GgitSubmodule* result;
	GgitSubmodule* _tmp0_ = NULL;
#line 158 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 158 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_submodule;
#line 158 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp0_;
#line 158 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 845 "gitg-stage-status-enumerator.c"
}


static gchar* gitg_stage_status_submodule_real_get_path (GitgStageStatusItem* base) {
	gchar* result;
	GitgStageStatusSubmodule* self;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusSubmodule*) base;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_path;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp1_;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 864 "gitg-stage-status-enumerator.c"
}


static gboolean gitg_stage_status_submodule_real_get_is_staged (GitgStageStatusItem* base) {
	gboolean result;
	GitgStageStatusSubmodule* self;
	GgitSubmoduleStatus _tmp0_ = 0;
	GgitSubmoduleStatus _tmp1_ = 0;
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusSubmodule*) base;
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_flags;
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = gitg_stage_status_submodule_s_index_flags;
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = (_tmp0_ & _tmp1_) != 0;
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 883 "gitg-stage-status-enumerator.c"
}


static gboolean gitg_stage_status_submodule_real_get_is_unstaged (GitgStageStatusItem* base) {
	gboolean result;
	GitgStageStatusSubmodule* self;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusSubmodule*) base;
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = gitg_stage_status_item_get_is_untracked ((GitgStageStatusItem*) self);
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp2_ = _tmp1_;
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (!_tmp2_) {
#line 901 "gitg-stage-status-enumerator.c"
		GgitSubmoduleStatus _tmp3_ = 0;
		GgitSubmoduleStatus _tmp4_ = 0;
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp3_ = self->priv->d_flags;
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp4_ = gitg_stage_status_submodule_s_work_flags;
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp0_ = (_tmp3_ & _tmp4_) != 0;
#line 910 "gitg-stage-status-enumerator.c"
	} else {
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp0_ = FALSE;
#line 914 "gitg-stage-status-enumerator.c"
	}
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp0_;
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 920 "gitg-stage-status-enumerator.c"
}


static gboolean gitg_stage_status_submodule_real_get_is_untracked (GitgStageStatusItem* base) {
	gboolean result;
	GitgStageStatusSubmodule* self;
	gboolean _tmp0_ = FALSE;
	GgitSubmoduleStatus _tmp1_ = 0;
	GgitSubmoduleStatus _tmp2_ = 0;
#line 178 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusSubmodule*) base;
#line 180 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = self->priv->d_flags;
#line 180 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp2_ = gitg_stage_status_submodule_s_untracked_flags;
#line 180 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if ((_tmp1_ & _tmp2_) != 0) {
#line 938 "gitg-stage-status-enumerator.c"
		GgitSubmoduleStatus _tmp3_ = 0;
		GgitSubmoduleStatus _tmp4_ = 0;
#line 181 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp3_ = self->priv->d_flags;
#line 181 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp4_ = gitg_stage_status_submodule_s_tracked_flags;
#line 181 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp0_ = (_tmp3_ & _tmp4_) == 0;
#line 947 "gitg-stage-status-enumerator.c"
	} else {
#line 180 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp0_ = FALSE;
#line 951 "gitg-stage-status-enumerator.c"
	}
#line 180 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp0_;
#line 180 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 957 "gitg-stage-status-enumerator.c"
}


gboolean gitg_stage_status_submodule_get_is_dirty (GitgStageStatusSubmodule* self) {
	gboolean result;
	GgitSubmoduleStatus _tmp0_ = 0;
	GgitSubmoduleStatus _tmp1_ = 0;
#line 187 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 187 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_flags;
#line 187 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = gitg_stage_status_submodule_s_dirty_flags;
#line 187 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = (_tmp0_ & _tmp1_) != 0;
#line 187 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 975 "gitg-stage-status-enumerator.c"
}


GgitSubmoduleStatus gitg_stage_status_submodule_get_flags (GitgStageStatusSubmodule* self) {
	GgitSubmoduleStatus result;
	GgitSubmoduleStatus _tmp0_ = 0;
#line 192 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 192 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = self->priv->d_flags;
#line 192 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp0_;
#line 192 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 990 "gitg-stage-status-enumerator.c"
}


static gchar* gitg_stage_status_submodule_real_get_icon_name (GitgStageStatusItem* base) {
	gchar* result;
	GitgStageStatusSubmodule* self;
	gchar* _tmp0_ = NULL;
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusSubmodule*) base;
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = g_strdup ("folder-remote-symbolic");
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp0_;
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 1006 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_submodule_class_init (GitgStageStatusSubmoduleClass * klass) {
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	gitg_stage_status_submodule_parent_class = g_type_class_peek_parent (klass);
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_type_class_add_private (klass, sizeof (GitgStageStatusSubmodulePrivate));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_gitg_stage_status_submodule_get_property;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	G_OBJECT_CLASS (klass)->finalize = gitg_stage_status_submodule_finalize;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_SUBMODULE_SUBMODULE, g_param_spec_boxed ("submodule", "submodule", "submodule", ggit_submodule_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_SUBMODULE_PATH, g_param_spec_string ("path", "path", "path", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_SUBMODULE_IS_STAGED, g_param_spec_boolean ("is-staged", "is-staged", "is-staged", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_SUBMODULE_IS_UNSTAGED, g_param_spec_boolean ("is-unstaged", "is-unstaged", "is-unstaged", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_SUBMODULE_IS_UNTRACKED, g_param_spec_boolean ("is-untracked", "is-untracked", "is-untracked", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_SUBMODULE_IS_DIRTY, g_param_spec_boolean ("is-dirty", "is-dirty", "is-dirty", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_SUBMODULE_FLAGS, g_param_spec_flags ("flags", "flags", "flags", ggit_submodule_status_get_type (), 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_STAGE_STATUS_SUBMODULE_ICON_NAME, g_param_spec_string ("icon-name", "icon-name", "icon-name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 1035 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_submodule_gitg_stage_status_item_interface_init (GitgStageStatusItemIface * iface) {
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	gitg_stage_status_submodule_gitg_stage_status_item_parent_iface = g_type_interface_peek_parent (iface);
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	iface->get_path = gitg_stage_status_submodule_real_get_path;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	iface->get_is_staged = gitg_stage_status_submodule_real_get_is_staged;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	iface->get_is_unstaged = gitg_stage_status_submodule_real_get_is_unstaged;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	iface->get_is_untracked = gitg_stage_status_submodule_real_get_is_untracked;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	iface->get_icon_name = gitg_stage_status_submodule_real_get_icon_name;
#line 1052 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_submodule_instance_init (GitgStageStatusSubmodule * self) {
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv = GITG_STAGE_STATUS_SUBMODULE_GET_PRIVATE (self);
#line 1059 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_submodule_finalize (GObject* obj) {
	GitgStageStatusSubmodule * self;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GITG_TYPE_STAGE_STATUS_SUBMODULE, GitgStageStatusSubmodule);
#line 117 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_ggit_submodule_unref0 (self->priv->d_submodule);
#line 118 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_free0 (self->priv->d_path);
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	G_OBJECT_CLASS (gitg_stage_status_submodule_parent_class)->finalize (obj);
#line 1073 "gitg-stage-status-enumerator.c"
}


GType gitg_stage_status_submodule_get_type (void) {
	static volatile gsize gitg_stage_status_submodule_type_id__volatile = 0;
	if (g_once_init_enter (&gitg_stage_status_submodule_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GitgStageStatusSubmoduleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gitg_stage_status_submodule_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GitgStageStatusSubmodule), 0, (GInstanceInitFunc) gitg_stage_status_submodule_instance_init, NULL };
		static const GInterfaceInfo gitg_stage_status_item_info = { (GInterfaceInitFunc) gitg_stage_status_submodule_gitg_stage_status_item_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType gitg_stage_status_submodule_type_id;
		gitg_stage_status_submodule_type_id = g_type_register_static (G_TYPE_OBJECT, "GitgStageStatusSubmodule", &g_define_type_info, 0);
		g_type_add_interface_static (gitg_stage_status_submodule_type_id, GITG_TYPE_STAGE_STATUS_ITEM, &gitg_stage_status_item_info);
		g_once_init_leave (&gitg_stage_status_submodule_type_id__volatile, gitg_stage_status_submodule_type_id);
	}
	return gitg_stage_status_submodule_type_id__volatile;
}


static void _vala_gitg_stage_status_submodule_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GitgStageStatusSubmodule * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GITG_TYPE_STAGE_STATUS_SUBMODULE, GitgStageStatusSubmodule);
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	switch (property_id) {
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_SUBMODULE_SUBMODULE:
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_set_boxed (value, gitg_stage_status_submodule_get_submodule (self));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_SUBMODULE_PATH:
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_take_string (value, gitg_stage_status_item_get_path ((GitgStageStatusItem*) self));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_SUBMODULE_IS_STAGED:
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_set_boolean (value, gitg_stage_status_item_get_is_staged ((GitgStageStatusItem*) self));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_SUBMODULE_IS_UNSTAGED:
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_set_boolean (value, gitg_stage_status_item_get_is_unstaged ((GitgStageStatusItem*) self));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_SUBMODULE_IS_UNTRACKED:
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_set_boolean (value, gitg_stage_status_item_get_is_untracked ((GitgStageStatusItem*) self));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_SUBMODULE_IS_DIRTY:
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_set_boolean (value, gitg_stage_status_submodule_get_is_dirty (self));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_SUBMODULE_FLAGS:
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_set_flags (value, gitg_stage_status_submodule_get_flags (self));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case GITG_STAGE_STATUS_SUBMODULE_ICON_NAME:
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_value_take_string (value, gitg_stage_status_item_get_icon_name ((GitgStageStatusItem*) self));
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 1144 "gitg-stage-status-enumerator.c"
		default:
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 115 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		break;
#line 1150 "gitg-stage-status-enumerator.c"
	}
}


static void _vala_GgitStatusOptions_free (GgitStatusOptions* self) {
#line 209 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_boxed_free (ggit_status_options_get_type (), self);
#line 1158 "gitg-stage-status-enumerator.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 229 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return self ? g_object_ref (self) : NULL;
#line 1165 "gitg-stage-status-enumerator.c"
}


static GgitStatusOptions* _vala_GgitStatusOptions_copy (GgitStatusOptions* self) {
#line 230 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return g_boxed_copy (ggit_status_options_get_type (), self);
#line 1172 "gitg-stage-status-enumerator.c"
}


static gpointer __vala_GgitStatusOptions_copy0 (gpointer self) {
#line 230 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return self ? _vala_GgitStatusOptions_copy (self) : NULL;
#line 1179 "gitg-stage-status-enumerator.c"
}


static gint ___lambda8_ (GitgStageStatusEnumerator* self, GMatchInfo* match, const gchar* val) {
	gint result = 0;
	const gchar* _tmp0_ = NULL;
	GeeHashSet* _tmp1_ = NULL;
	GMatchInfo* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (match != NULL, 0);
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (val != NULL, 0);
#line 241 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = val;
#line 241 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (g_strcmp0 (_tmp0_, "true") != 0) {
#line 243 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		result = 0;
#line 243 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		return result;
#line 1202 "gitg-stage-status-enumerator.c"
	}
#line 246 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = self->priv->d_ignored_submodules;
#line 246 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp2_ = match;
#line 246 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp3_ = g_match_info_fetch (_tmp2_, 1);
#line 246 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp4_ = _tmp3_;
#line 246 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp1_, _tmp4_);
#line 246 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_free0 (_tmp4_);
#line 247 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = 0;
#line 247 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 1220 "gitg-stage-status-enumerator.c"
}


static gint ____lambda8__ggit_config_match_callback (GMatchInfo* match_info, const gchar* value, gpointer self) {
	gint result;
	result = ___lambda8_ ((GitgStageStatusEnumerator*) self, match_info, value);
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 1229 "gitg-stage-status-enumerator.c"
}


static gpointer _gitg_stage_status_enumerator_run_status_gthread_func (gpointer self) {
	gpointer result;
	result = gitg_stage_status_enumerator_run_status ((GitgStageStatusEnumerator*) self);
#line 253 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_unref (self);
#line 253 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 1240 "gitg-stage-status-enumerator.c"
}


GitgStageStatusEnumerator* gitg_stage_status_enumerator_construct (GType object_type, GitgRepository* repository, GgitStatusOptions* options) {
	GitgStageStatusEnumerator * self = NULL;
	GitgRepository* _tmp0_ = NULL;
	GitgRepository* _tmp1_ = NULL;
	GgitStatusOptions* _tmp2_ = NULL;
	GgitStatusOptions* _tmp3_ = NULL;
	GitgStageStatusItem** _tmp4_ = NULL;
	gint _tmp5_ = 0;
	GCancellable* _tmp6_ = NULL;
	GError * _inner_error_ = NULL;
#line 226 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (repository != NULL, NULL);
#line 226 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = (GitgStageStatusEnumerator*) g_object_new (object_type, NULL);
#line 229 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = repository;
#line 229 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 229 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_object_unref0 (self->priv->d_repository);
#line 229 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_repository = _tmp1_;
#line 230 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp2_ = options;
#line 230 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp3_ = __vala_GgitStatusOptions_copy0 (_tmp2_);
#line 230 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	__vala_GgitStatusOptions_free0 (self->priv->d_options);
#line 230 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_options = _tmp3_;
#line 232 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp4_ = g_new0 (GitgStageStatusItem*, 100 + 1);
#line 232 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_items = (_vala_array_free (self->priv->d_items, self->priv->d_items_length1, (GDestroyNotify) g_object_unref), NULL);
#line 232 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_items = _tmp4_;
#line 232 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_items_length1 = 100;
#line 232 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->_d_items_size_ = self->priv->d_items_length1;
#line 233 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_items_length1 = 0;
#line 233 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp5_ = self->priv->d_items_length1;
#line 234 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp6_ = g_cancellable_new ();
#line 234 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_object_unref0 (self->priv->d_cancellable);
#line 234 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_cancellable = _tmp6_;
#line 1294 "gitg-stage-status-enumerator.c"
	{
		GeeHashSet* _tmp7_ = NULL;
		GgitConfig* _tmp8_ = NULL;
		GitgRepository* _tmp9_ = NULL;
		GgitConfig* _tmp10_ = NULL;
		GgitConfig* _tmp11_ = NULL;
		GgitConfig* _tmp12_ = NULL;
		GgitConfig* _tmp13_ = NULL;
		GgitConfig* _tmp14_ = NULL;
		GgitConfig* _tmp15_ = NULL;
		GgitConfig* _tmp16_ = NULL;
		GgitConfig* _tmp17_ = NULL;
		GRegex* _tmp18_ = NULL;
#line 238 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp7_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL);
#line 238 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_object_unref0 (self->priv->d_ignored_submodules);
#line 238 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		self->priv->d_ignored_submodules = _tmp7_;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp9_ = repository;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp10_ = ggit_repository_get_config ((GgitRepository*) _tmp9_, &_inner_error_);
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp8_ = _tmp10_;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1322 "gitg-stage-status-enumerator.c"
			goto __catch79_g_error;
		}
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp12_ = _tmp8_;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp8_ = NULL;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp13_ = _tmp12_;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp14_ = ggit_config_snapshot (_tmp13_, &_inner_error_);
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp15_ = _tmp14_;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_object_unref0 (_tmp13_);
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp11_ = _tmp15_;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_g_object_unref0 (_tmp8_);
#line 1343 "gitg-stage-status-enumerator.c"
			goto __catch79_g_error;
		}
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp16_ = _tmp11_;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp11_ = NULL;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp17_ = _tmp16_;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp18_ = gitg_stage_status_enumerator_s_ignore_regex;
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		ggit_config_match_foreach (_tmp17_, _tmp18_, ____lambda8__ggit_config_match_callback, self, &_inner_error_);
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_object_unref0 (_tmp17_);
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_g_object_unref0 (_tmp11_);
#line 240 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_g_object_unref0 (_tmp8_);
#line 1364 "gitg-stage-status-enumerator.c"
			goto __catch79_g_error;
		}
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_object_unref0 (_tmp11_);
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_object_unref0 (_tmp8_);
#line 1371 "gitg-stage-status-enumerator.c"
	}
	goto __finally79;
	__catch79_g_error:
	{
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_clear_error (&_inner_error_);
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_inner_error_ = NULL;
#line 1380 "gitg-stage-status-enumerator.c"
	}
	__finally79:
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_clear_error (&_inner_error_);
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		return NULL;
#line 1391 "gitg-stage-status-enumerator.c"
	}
	{
		GThread* _tmp19_ = NULL;
		GThread* _tmp20_ = NULL;
		GThread* _tmp21_ = NULL;
#line 253 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp20_ = g_thread_try_new ("gitg-status-enumerator", _gitg_stage_status_enumerator_run_status_gthread_func, g_object_ref (self), &_inner_error_);
#line 253 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp19_ = _tmp20_;
#line 253 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1403 "gitg-stage-status-enumerator.c"
			goto __catch80_g_error;
		}
#line 253 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp21_ = _tmp19_;
#line 253 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp19_ = NULL;
#line 253 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_thread_unref0 (self->priv->d_thread);
#line 253 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		self->priv->d_thread = _tmp21_;
#line 251 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_thread_unref0 (_tmp19_);
#line 1416 "gitg-stage-status-enumerator.c"
	}
	goto __finally80;
	__catch80_g_error:
	{
#line 251 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_clear_error (&_inner_error_);
#line 251 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_inner_error_ = NULL;
#line 1425 "gitg-stage-status-enumerator.c"
	}
	__finally80:
#line 251 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 251 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 251 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_clear_error (&_inner_error_);
#line 251 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		return NULL;
#line 1436 "gitg-stage-status-enumerator.c"
	}
#line 226 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return self;
#line 1440 "gitg-stage-status-enumerator.c"
}


GitgStageStatusEnumerator* gitg_stage_status_enumerator_new (GitgRepository* repository, GgitStatusOptions* options) {
#line 226 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return gitg_stage_status_enumerator_construct (GITG_TYPE_STAGE_STATUS_ENUMERATOR, repository, options);
#line 1447 "gitg-stage-status-enumerator.c"
}


static gpointer _g_thread_ref0 (gpointer self) {
#line 269 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return self ? g_thread_ref (self) : NULL;
#line 1454 "gitg-stage-status-enumerator.c"
}


void gitg_stage_status_enumerator_cancel (GitgStageStatusEnumerator* self) {
	GThread* _tmp4_ = NULL;
	GError * _inner_error_ = NULL;
#line 257 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_if_fail (self != NULL);
#line 1463 "gitg-stage-status-enumerator.c"
	{
		GitgStageStatusItem** _tmp0_ = NULL;
		gint _tmp0__length1 = 0;
#line 259 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp0_ = self->priv->d_items;
#line 259 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp0__length1 = self->priv->d_items_length1;
#line 259 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_rec_mutex_lock (&self->priv->__lock_d_items);
#line 1473 "gitg-stage-status-enumerator.c"
		{
			GCancellable* _tmp1_ = NULL;
#line 261 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp1_ = self->priv->d_cancellable;
#line 261 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			if (_tmp1_ != NULL) {
#line 1480 "gitg-stage-status-enumerator.c"
				GCancellable* _tmp2_ = NULL;
#line 263 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp2_ = self->priv->d_cancellable;
#line 263 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				g_cancellable_cancel (_tmp2_);
#line 1486 "gitg-stage-status-enumerator.c"
			}
		}
		__finally81:
		{
			GitgStageStatusItem** _tmp3_ = NULL;
			gint _tmp3__length1 = 0;
#line 259 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp3_ = self->priv->d_items;
#line 259 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp3__length1 = self->priv->d_items_length1;
#line 259 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_rec_mutex_unlock (&self->priv->__lock_d_items);
#line 1499 "gitg-stage-status-enumerator.c"
		}
#line 259 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 259 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 259 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_clear_error (&_inner_error_);
#line 259 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			return;
#line 1509 "gitg-stage-status-enumerator.c"
		}
	}
#line 267 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp4_ = self->priv->d_thread;
#line 267 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (_tmp4_ != NULL) {
#line 1516 "gitg-stage-status-enumerator.c"
		GThread* _tmp5_ = NULL;
		GThread* _tmp6_ = NULL;
#line 269 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp5_ = self->priv->d_thread;
#line 269 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp6_ = _g_thread_ref0 (_tmp5_);
#line 269 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_thread_join (_tmp6_);
#line 270 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_thread_unref0 (self->priv->d_thread);
#line 270 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		self->priv->d_thread = NULL;
#line 1529 "gitg-stage-status-enumerator.c"
	}
}


static Block21Data* block21_data_ref (Block21Data* _data21_) {
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_atomic_int_inc (&_data21_->_ref_count_);
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return _data21_;
#line 1539 "gitg-stage-status-enumerator.c"
}


static void block21_data_unref (void * _userdata_) {
	Block21Data* _data21_;
	_data21_ = (Block21Data*) _userdata_;
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (g_atomic_int_dec_and_test (&_data21_->_ref_count_)) {
#line 1548 "gitg-stage-status-enumerator.c"
		GitgStageStatusEnumerator* self;
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		self = _data21_->self;
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_object_unref0 (_data21_->submodule_paths);
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		(_data21_->add_target_destroy_notify == NULL) ? NULL : (_data21_->add_target_destroy_notify (_data21_->add_target), NULL);
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data21_->add = NULL;
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data21_->add_target = NULL;
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data21_->add_target_destroy_notify = NULL;
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_object_unref0 (self);
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_slice_free (Block21Data, _data21_);
#line 1566 "gitg-stage-status-enumerator.c"
	}
}


static void _vala_array_add16 (GitgStageStatusItem*** array, int* length, int* size, GitgStageStatusItem* value) {
#line 281 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if ((*length) == (*size)) {
#line 281 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 281 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		*array = g_renew (GitgStageStatusItem*, *array, (*size) + 1);
#line 1578 "gitg-stage-status-enumerator.c"
	}
#line 281 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	(*array)[(*length)++] = value;
#line 281 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	(*array)[*length] = NULL;
#line 1584 "gitg-stage-status-enumerator.c"
}


static void __lambda9_ (GitgStageStatusEnumerator* self, GitgStageStatusItem* item) {
	GError * _inner_error_ = NULL;
#line 278 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_if_fail (item != NULL);
#line 1592 "gitg-stage-status-enumerator.c"
	{
		GitgStageStatusItem** _tmp0_ = NULL;
		gint _tmp0__length1 = 0;
#line 279 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp0_ = self->priv->d_items;
#line 279 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp0__length1 = self->priv->d_items_length1;
#line 279 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_rec_mutex_lock (&self->priv->__lock_d_items);
#line 1602 "gitg-stage-status-enumerator.c"
		{
			GitgStageStatusItem** _tmp1_ = NULL;
			gint _tmp1__length1 = 0;
			GitgStageStatusItem* _tmp2_ = NULL;
			GitgStageStatusItem* _tmp3_ = NULL;
			gboolean _tmp4_ = FALSE;
			gboolean _tmp5_ = FALSE;
			GSourceFunc _tmp6_ = NULL;
			void* _tmp6__target = NULL;
#line 281 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp1_ = self->priv->d_items;
#line 281 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp1__length1 = self->priv->d_items_length1;
#line 281 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp2_ = item;
#line 281 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp3_ = _g_object_ref0 (_tmp2_);
#line 281 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_vala_array_add16 (&self->priv->d_items, &self->priv->d_items_length1, &self->priv->_d_items_size_, _tmp3_);
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp6_ = self->priv->d_callback;
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp6__target = self->priv->d_callback_target;
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			if (_tmp6_ != NULL) {
#line 1628 "gitg-stage-status-enumerator.c"
				gint _tmp7_ = 0;
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp7_ = self->priv->d_callback_num;
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp5_ = _tmp7_ != -1;
#line 1634 "gitg-stage-status-enumerator.c"
			} else {
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp5_ = FALSE;
#line 1638 "gitg-stage-status-enumerator.c"
			}
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			if (_tmp5_) {
#line 1642 "gitg-stage-status-enumerator.c"
				GitgStageStatusItem** _tmp8_ = NULL;
				gint _tmp8__length1 = 0;
				gint _tmp9_ = 0;
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp8_ = self->priv->d_items;
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp8__length1 = self->priv->d_items_length1;
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp9_ = self->priv->d_callback_num;
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp4_ = _tmp8__length1 >= _tmp9_;
#line 1654 "gitg-stage-status-enumerator.c"
			} else {
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp4_ = FALSE;
#line 1658 "gitg-stage-status-enumerator.c"
			}
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			if (_tmp4_) {
#line 1662 "gitg-stage-status-enumerator.c"
				GSourceFunc cb = NULL;
				GSourceFunc _tmp10_ = NULL;
				void* _tmp10__target = NULL;
				GDestroyNotify _tmp10__target_destroy_notify = NULL;
				void* cb_target = NULL;
				GDestroyNotify cb_target_destroy_notify = NULL;
				GSourceFunc _tmp11_ = NULL;
				void* _tmp11__target = NULL;
				GDestroyNotify _tmp11__target_destroy_notify = NULL;
#line 285 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp10_ = self->priv->d_callback;
#line 285 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp10__target = self->priv->d_callback_target;
#line 285 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp10__target_destroy_notify = self->priv->d_callback_target_destroy_notify;
#line 285 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback_target_destroy_notify = NULL;
#line 285 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb = _tmp10_;
#line 285 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb_target = _tmp10__target;
#line 285 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb_target_destroy_notify = _tmp10__target_destroy_notify;
#line 286 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				(self->priv->d_callback_target_destroy_notify == NULL) ? NULL : (self->priv->d_callback_target_destroy_notify (self->priv->d_callback_target), NULL);
#line 286 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback = NULL;
#line 286 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback_target = NULL;
#line 286 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback_target_destroy_notify = NULL;
#line 286 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback = NULL;
#line 286 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback_target = NULL;
#line 286 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback_target_destroy_notify = NULL;
#line 288 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp11_ = cb;
#line 288 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp11__target = cb_target;
#line 288 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp11__target_destroy_notify = cb_target_destroy_notify;
#line 288 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb_target_destroy_notify = NULL;
#line 288 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _tmp11_, _tmp11__target, _tmp11__target_destroy_notify);
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				(cb_target_destroy_notify == NULL) ? NULL : (cb_target_destroy_notify (cb_target), NULL);
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb = NULL;
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb_target = NULL;
#line 283 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb_target_destroy_notify = NULL;
#line 1718 "gitg-stage-status-enumerator.c"
			}
		}
		__finally82:
		{
			GitgStageStatusItem** _tmp12_ = NULL;
			gint _tmp12__length1 = 0;
#line 279 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp12_ = self->priv->d_items;
#line 279 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp12__length1 = self->priv->d_items_length1;
#line 279 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_rec_mutex_unlock (&self->priv->__lock_d_items);
#line 1731 "gitg-stage-status-enumerator.c"
		}
#line 279 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 279 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 279 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_clear_error (&_inner_error_);
#line 279 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			return;
#line 1741 "gitg-stage-status-enumerator.c"
		}
	}
}


static void ___lambda9__gitg_stage_status_enumerator_add_item (GitgStageStatusItem* item, gpointer self) {
#line 278 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	__lambda9_ ((GitgStageStatusEnumerator*) self, item);
#line 1750 "gitg-stage-status-enumerator.c"
}


static gint ____lambda10_ (Block21Data* _data21_, GgitSubmodule* submodule, const gchar* name) {
	GitgStageStatusEnumerator* self;
	gint result = 0;
	GeeHashSet* _tmp0_ = NULL;
	GgitSubmodule* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	GeeHashSet* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	gint _tmp13_ = 0;
	GCancellable* _tmp14_ = NULL;
	gboolean _tmp15_ = FALSE;
	GError * _inner_error_ = NULL;
#line 301 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = _data21_->self;
#line 301 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (submodule != NULL, 0);
#line 301 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (name != NULL, 0);
#line 302 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = _data21_->submodule_paths;
#line 302 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = submodule;
#line 302 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp2_ = ggit_submodule_get_path (_tmp1_);
#line 302 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp0_, _tmp2_);
#line 304 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp3_ = self->priv->d_ignored_submodules;
#line 304 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp4_ = name;
#line 304 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp5_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp3_, _tmp4_);
#line 304 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (!_tmp5_) {
#line 1789 "gitg-stage-status-enumerator.c"
		{
			GgitSubmodule* _tmp6_ = NULL;
			GitgRepository* _tmp7_ = NULL;
			const gchar* _tmp8_ = NULL;
			GgitSubmodule* _tmp9_ = NULL;
			GitgStageStatusEnumeratorAddItem _tmp10_ = NULL;
			void* _tmp10__target = NULL;
			GitgStageStatusSubmodule* _tmp11_ = NULL;
			GitgStageStatusSubmodule* _tmp12_ = NULL;
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp7_ = self->priv->d_repository;
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp8_ = name;
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp9_ = ggit_repository_lookup_submodule ((GgitRepository*) _tmp7_, _tmp8_, &_inner_error_);
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp6_ = _tmp9_;
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1809 "gitg-stage-status-enumerator.c"
				goto __catch84_g_error;
			}
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp10_ = _data21_->add;
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp10__target = _data21_->add_target;
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp11_ = gitg_stage_status_submodule_new (_tmp6_);
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp12_ = _tmp11_;
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp10_ ((GitgStageStatusItem*) _tmp12_, _tmp10__target);
#line 308 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_g_object_unref0 (_tmp12_);
#line 306 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_ggit_submodule_unref0 (_tmp6_);
#line 1826 "gitg-stage-status-enumerator.c"
		}
		goto __finally84;
		__catch84_g_error:
		{
#line 306 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_clear_error (&_inner_error_);
#line 306 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_inner_error_ = NULL;
#line 1835 "gitg-stage-status-enumerator.c"
		}
		__finally84:
#line 306 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 306 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 306 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_clear_error (&_inner_error_);
#line 306 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			return 0;
#line 1846 "gitg-stage-status-enumerator.c"
		}
	}
#line 312 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp14_ = self->priv->d_cancellable;
#line 312 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp15_ = g_cancellable_is_cancelled (_tmp14_);
#line 312 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (_tmp15_) {
#line 312 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp13_ = 1;
#line 1857 "gitg-stage-status-enumerator.c"
	} else {
#line 312 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp13_ = 0;
#line 1861 "gitg-stage-status-enumerator.c"
	}
#line 312 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp13_;
#line 312 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 1867 "gitg-stage-status-enumerator.c"
}


static gint _____lambda10__ggit_submodule_callback (GgitSubmodule* submodule, const gchar* name, gpointer self) {
	gint result;
	result = ____lambda10_ (self, submodule, name);
#line 301 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 1876 "gitg-stage-status-enumerator.c"
}


static gint ___lambda11_ (Block21Data* _data21_, const gchar* path, GgitStatusFlags flags) {
	GitgStageStatusEnumerator* self;
	gint result = 0;
	GeeHashSet* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	gint _tmp8_ = 0;
	GCancellable* _tmp9_ = NULL;
	gboolean _tmp10_ = FALSE;
#line 319 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = _data21_->self;
#line 319 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (path != NULL, 0);
#line 320 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = _data21_->submodule_paths;
#line 320 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = path;
#line 320 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp2_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp0_, _tmp1_);
#line 320 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (!_tmp2_) {
#line 1901 "gitg-stage-status-enumerator.c"
		GitgStageStatusEnumeratorAddItem _tmp3_ = NULL;
		void* _tmp3__target = NULL;
		const gchar* _tmp4_ = NULL;
		GgitStatusFlags _tmp5_ = 0;
		GitgStageStatusFile* _tmp6_ = NULL;
		GitgStageStatusFile* _tmp7_ = NULL;
#line 322 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp3_ = _data21_->add;
#line 322 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp3__target = _data21_->add_target;
#line 322 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp4_ = path;
#line 322 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp5_ = flags;
#line 322 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp6_ = gitg_stage_status_file_new (_tmp4_, _tmp5_);
#line 322 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp7_ = _tmp6_;
#line 322 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp3_ ((GitgStageStatusItem*) _tmp7_, _tmp3__target);
#line 322 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_object_unref0 (_tmp7_);
#line 1924 "gitg-stage-status-enumerator.c"
	}
#line 325 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp9_ = self->priv->d_cancellable;
#line 325 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp10_ = g_cancellable_is_cancelled (_tmp9_);
#line 325 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (_tmp10_) {
#line 325 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp8_ = 1;
#line 1934 "gitg-stage-status-enumerator.c"
	} else {
#line 325 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp8_ = 0;
#line 1938 "gitg-stage-status-enumerator.c"
	}
#line 325 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp8_;
#line 325 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 1944 "gitg-stage-status-enumerator.c"
}


static gint ____lambda11__ggit_status_callback (const gchar* path, GgitStatusFlags status_flags, gpointer self) {
	gint result;
	result = ___lambda11_ (self, path, status_flags);
#line 319 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 1953 "gitg-stage-status-enumerator.c"
}


static void* gitg_stage_status_enumerator_run_status (GitgStageStatusEnumerator* self) {
	void* result = NULL;
	Block21Data* _data21_;
	GeeHashSet* _tmp0_ = NULL;
	GitgRepository* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	GError * _inner_error_ = NULL;
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data21_ = g_slice_new0 (Block21Data);
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data21_->_ref_count_ = 1;
#line 276 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data21_->self = g_object_ref (self);
#line 278 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data21_->add = ___lambda9__gitg_stage_status_enumerator_add_item;
#line 278 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data21_->add_target = g_object_ref (self);
#line 278 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data21_->add_target_destroy_notify = g_object_unref;
#line 293 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL);
#line 293 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data21_->submodule_paths = _tmp0_;
#line 297 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = self->priv->d_repository;
#line 297 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_get ((GgitRepository*) _tmp1_, "is-bare", &_tmp2_, NULL);
#line 297 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp3_ = _tmp2_;
#line 297 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (!_tmp3_) {
#line 1991 "gitg-stage-status-enumerator.c"
		{
			GitgRepository* _tmp4_ = NULL;
#line 301 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp4_ = self->priv->d_repository;
#line 301 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			ggit_repository_submodule_foreach ((GgitRepository*) _tmp4_, _____lambda10__ggit_submodule_callback, _data21_, &_inner_error_);
#line 301 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2000 "gitg-stage-status-enumerator.c"
				goto __catch83_g_error;
			}
		}
		goto __finally83;
		__catch83_g_error:
		{
#line 299 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_clear_error (&_inner_error_);
#line 299 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_inner_error_ = NULL;
#line 2011 "gitg-stage-status-enumerator.c"
		}
		__finally83:
#line 299 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 299 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			block21_data_unref (_data21_);
#line 299 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data21_ = NULL;
#line 299 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 299 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_clear_error (&_inner_error_);
#line 299 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			return NULL;
#line 2026 "gitg-stage-status-enumerator.c"
		}
	}
	{
		GitgRepository* _tmp5_ = NULL;
		GgitStatusOptions* _tmp6_ = NULL;
#line 319 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp5_ = self->priv->d_repository;
#line 319 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp6_ = self->priv->d_options;
#line 319 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		ggit_repository_file_status_foreach ((GgitRepository*) _tmp5_, _tmp6_, ____lambda11__ggit_status_callback, _data21_, &_inner_error_);
#line 319 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2040 "gitg-stage-status-enumerator.c"
			goto __catch85_g_error;
		}
	}
	goto __finally85;
	__catch85_g_error:
	{
#line 317 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_clear_error (&_inner_error_);
#line 317 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_inner_error_ = NULL;
#line 2051 "gitg-stage-status-enumerator.c"
	}
	__finally85:
#line 317 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 317 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		block21_data_unref (_data21_);
#line 317 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data21_ = NULL;
#line 317 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 317 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_clear_error (&_inner_error_);
#line 317 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		return NULL;
#line 2066 "gitg-stage-status-enumerator.c"
	}
	{
		GitgStageStatusItem** _tmp7_ = NULL;
		gint _tmp7__length1 = 0;
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp7_ = self->priv->d_items;
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp7__length1 = self->priv->d_items_length1;
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_rec_mutex_lock (&self->priv->__lock_d_items);
#line 2077 "gitg-stage-status-enumerator.c"
		{
			gboolean _tmp8_ = FALSE;
			GSourceFunc _tmp9_ = NULL;
			void* _tmp9__target = NULL;
#line 331 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_g_object_unref0 (self->priv->d_cancellable);
#line 331 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			self->priv->d_cancellable = NULL;
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp9_ = self->priv->d_callback;
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp9__target = self->priv->d_callback_target;
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			if (_tmp9_ != NULL) {
#line 2092 "gitg-stage-status-enumerator.c"
				gint _tmp10_ = 0;
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp10_ = self->priv->d_callback_num;
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp8_ = _tmp10_ == -1;
#line 2098 "gitg-stage-status-enumerator.c"
			} else {
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp8_ = FALSE;
#line 2102 "gitg-stage-status-enumerator.c"
			}
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			if (_tmp8_) {
#line 2106 "gitg-stage-status-enumerator.c"
				GSourceFunc cb = NULL;
				GSourceFunc _tmp11_ = NULL;
				void* _tmp11__target = NULL;
				GDestroyNotify _tmp11__target_destroy_notify = NULL;
				void* cb_target = NULL;
				GDestroyNotify cb_target_destroy_notify = NULL;
				GSourceFunc _tmp12_ = NULL;
				void* _tmp12__target = NULL;
				GDestroyNotify _tmp12__target_destroy_notify = NULL;
#line 335 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp11_ = self->priv->d_callback;
#line 335 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp11__target = self->priv->d_callback_target;
#line 335 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp11__target_destroy_notify = self->priv->d_callback_target_destroy_notify;
#line 335 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback_target_destroy_notify = NULL;
#line 335 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb = _tmp11_;
#line 335 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb_target = _tmp11__target;
#line 335 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb_target_destroy_notify = _tmp11__target_destroy_notify;
#line 336 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				(self->priv->d_callback_target_destroy_notify == NULL) ? NULL : (self->priv->d_callback_target_destroy_notify (self->priv->d_callback_target), NULL);
#line 336 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback = NULL;
#line 336 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback_target = NULL;
#line 336 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback_target_destroy_notify = NULL;
#line 336 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback = NULL;
#line 336 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback_target = NULL;
#line 336 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				self->priv->d_callback_target_destroy_notify = NULL;
#line 338 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp12_ = cb;
#line 338 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp12__target = cb_target;
#line 338 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_tmp12__target_destroy_notify = cb_target_destroy_notify;
#line 338 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb_target_destroy_notify = NULL;
#line 338 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _tmp12_, _tmp12__target, _tmp12__target_destroy_notify);
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				(cb_target_destroy_notify == NULL) ? NULL : (cb_target_destroy_notify (cb_target), NULL);
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb = NULL;
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb_target = NULL;
#line 333 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				cb_target_destroy_notify = NULL;
#line 2162 "gitg-stage-status-enumerator.c"
			}
		}
		__finally86:
		{
			GitgStageStatusItem** _tmp13_ = NULL;
			gint _tmp13__length1 = 0;
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp13_ = self->priv->d_items;
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_tmp13__length1 = self->priv->d_items_length1;
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_rec_mutex_unlock (&self->priv->__lock_d_items);
#line 2175 "gitg-stage-status-enumerator.c"
		}
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			block21_data_unref (_data21_);
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data21_ = NULL;
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_clear_error (&_inner_error_);
#line 329 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			return NULL;
#line 2189 "gitg-stage-status-enumerator.c"
		}
	}
#line 342 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = NULL;
#line 342 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	block21_data_unref (_data21_);
#line 342 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data21_ = NULL;
#line 342 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 2200 "gitg-stage-status-enumerator.c"
}


static void _vala_array_add17 (GitgStageStatusItem*** array, int* length, int* size, GitgStageStatusItem* value) {
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if ((*length) == (*size)) {
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		*array = g_renew (GitgStageStatusItem*, *array, (*size) + 1);
#line 2211 "gitg-stage-status-enumerator.c"
	}
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	(*array)[(*length)++] = value;
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	(*array)[*length] = NULL;
#line 2217 "gitg-stage-status-enumerator.c"
}


static GitgStageStatusItem** gitg_stage_status_enumerator_fill_items (GitgStageStatusEnumerator* self, gint num, int* result_length1) {
	GitgStageStatusItem** result = NULL;
	gint n = 0;
	gint _tmp0_ = 0;
	GitgStageStatusItem** ret = NULL;
	gint _tmp3_ = 0;
	GitgStageStatusItem** _tmp4_ = NULL;
	gint _tmp4__length1 = 0;
	gint _tmp5_ = 0;
	gint _tmp6_ = 0;
	GitgStageStatusItem** _tmp7_ = NULL;
	gint ret_length1 = 0;
	gint _ret_size_ = 0;
	gint _tmp8_ = 0;
	GitgStageStatusItem** _tmp20_ = NULL;
	gint _tmp20__length1 = 0;
#line 345 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 347 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	n = 0;
#line 349 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = num;
#line 349 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (_tmp0_ == -1) {
#line 2245 "gitg-stage-status-enumerator.c"
		GitgStageStatusItem** _tmp1_ = NULL;
		gint _tmp1__length1 = 0;
		gint _tmp2_ = 0;
#line 351 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp1_ = self->priv->d_items;
#line 351 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp1__length1 = self->priv->d_items_length1;
#line 351 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp2_ = self->priv->d_offset;
#line 351 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		num = _tmp1__length1 - _tmp2_;
#line 2257 "gitg-stage-status-enumerator.c"
	}
#line 354 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp3_ = num;
#line 354 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp4_ = self->priv->d_items;
#line 354 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp4__length1 = self->priv->d_items_length1;
#line 354 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp5_ = self->priv->d_offset;
#line 354 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp6_ = MIN (_tmp3_, _tmp4__length1 - _tmp5_);
#line 354 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp7_ = g_new0 (GitgStageStatusItem*, _tmp6_ + 1);
#line 354 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	ret = _tmp7_;
#line 354 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	ret_length1 = _tmp6_;
#line 354 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_ret_size_ = ret_length1;
#line 355 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	ret_length1 = 0;
#line 355 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp8_ = ret_length1;
#line 358 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	while (TRUE) {
#line 2283 "gitg-stage-status-enumerator.c"
		gint _tmp9_ = 0;
		GitgStageStatusItem** _tmp10_ = NULL;
		gint _tmp10__length1 = 0;
		gint _tmp11_ = 0;
		gint _tmp12_ = 0;
		GitgStageStatusItem** _tmp13_ = NULL;
		gint _tmp13__length1 = 0;
		GitgStageStatusItem** _tmp14_ = NULL;
		gint _tmp14__length1 = 0;
		gint _tmp15_ = 0;
		GitgStageStatusItem* _tmp16_ = NULL;
		GitgStageStatusItem* _tmp17_ = NULL;
		gint _tmp18_ = 0;
		gint _tmp19_ = 0;
#line 358 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp9_ = self->priv->d_offset;
#line 358 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp10_ = self->priv->d_items;
#line 358 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp10__length1 = self->priv->d_items_length1;
#line 358 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (!(_tmp9_ < _tmp10__length1)) {
#line 358 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			break;
#line 2308 "gitg-stage-status-enumerator.c"
		}
#line 360 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp11_ = n;
#line 360 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp12_ = num;
#line 360 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (_tmp11_ == _tmp12_) {
#line 362 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			break;
#line 2318 "gitg-stage-status-enumerator.c"
		}
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp13_ = ret;
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp13__length1 = ret_length1;
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp14_ = self->priv->d_items;
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp14__length1 = self->priv->d_items_length1;
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp15_ = self->priv->d_offset;
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp16_ = _tmp14_[_tmp15_];
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp17_ = _g_object_ref0 (_tmp16_);
#line 365 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_vala_array_add17 (&ret, &ret_length1, &_ret_size_, _tmp17_);
#line 366 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp18_ = self->priv->d_offset;
#line 366 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		self->priv->d_offset = _tmp18_ + 1;
#line 368 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp19_ = n;
#line 368 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		n = _tmp19_ + 1;
#line 2344 "gitg-stage-status-enumerator.c"
	}
#line 371 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp20_ = ret;
#line 371 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp20__length1 = ret_length1;
#line 371 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (result_length1) {
#line 371 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		*result_length1 = _tmp20__length1;
#line 2354 "gitg-stage-status-enumerator.c"
	}
#line 371 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _tmp20_;
#line 371 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 2360 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_enumerator_next_items_data_free (gpointer _data) {
	GitgStageStatusEnumeratorNextItemsData* _data_;
	_data_ = _data;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->result = (_vala_array_free (_data_->result, _data_->result_length1, (GDestroyNotify) g_object_unref), NULL);
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_object_unref0 (_data_->self);
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_slice_free (GitgStageStatusEnumeratorNextItemsData, _data_);
#line 2373 "gitg-stage-status-enumerator.c"
}


void gitg_stage_status_enumerator_next_items (GitgStageStatusEnumerator* self, gint num, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	GitgStageStatusEnumeratorNextItemsData* _data_;
	GitgStageStatusEnumerator* _tmp0_ = NULL;
	gint _tmp1_ = 0;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_ = g_slice_new0 (GitgStageStatusEnumeratorNextItemsData);
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, gitg_stage_status_enumerator_next_items);
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, gitg_stage_status_enumerator_next_items_data_free);
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->self = _tmp0_;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_tmp1_ = num;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->num = _tmp1_;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	gitg_stage_status_enumerator_next_items_co (_data_);
#line 2397 "gitg-stage-status-enumerator.c"
}


GitgStageStatusItem** gitg_stage_status_enumerator_next_items_finish (GitgStageStatusEnumerator* self, GAsyncResult* _res_, int* result_length1) {
	GitgStageStatusItem** result;
	GitgStageStatusEnumeratorNextItemsData* _data_;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	result = _data_->result;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	*result_length1 = _data_->result_length1;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->result = NULL;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 2414 "gitg-stage-status-enumerator.c"
}


static gboolean _gitg_stage_status_enumerator_next_items_co_gsource_func (gpointer self) {
	gboolean result;
	result = gitg_stage_status_enumerator_next_items_co (self);
#line 376 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return result;
#line 2423 "gitg-stage-status-enumerator.c"
}


static gboolean gitg_stage_status_enumerator_next_items_co (GitgStageStatusEnumeratorNextItemsData* _data_) {
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	switch (_data_->_state_) {
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case 0:
#line 2432 "gitg-stage-status-enumerator.c"
		goto _state_0;
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		case 1:
#line 2436 "gitg-stage-status-enumerator.c"
		goto _state_1;
		default:
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_assert_not_reached ();
#line 2441 "gitg-stage-status-enumerator.c"
	}
	_state_0:
#line 376 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback_target = NULL;
#line 376 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback_target_destroy_notify = NULL;
#line 376 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback = _gitg_stage_status_enumerator_next_items_co_gsource_func;
#line 376 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback_target = _data_;
#line 376 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback_target_destroy_notify = NULL;
#line 377 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->ret_length1 = 0;
#line 377 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_ret_size_ = 0;
#line 2458 "gitg-stage-status-enumerator.c"
	{
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data_->_tmp0_ = NULL;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data_->_tmp0__length1 = 0;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data_->_tmp0_ = _data_->self->priv->d_items;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data_->_tmp0__length1 = _data_->self->priv->d_items_length1;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_rec_mutex_lock (&_data_->self->priv->__lock_d_items);
#line 2470 "gitg-stage-status-enumerator.c"
		{
#line 381 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp1_ = NULL;
#line 381 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp1_ = _data_->self->priv->d_cancellable;
#line 381 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			if (_data_->_tmp1_ == NULL) {
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp2_ = 0;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp2_ = _data_->num;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp3_ = 0;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp4_ = NULL;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp4_ = gitg_stage_status_enumerator_fill_items (_data_->self, _data_->_tmp2_, &_data_->_tmp3_);
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp5_ = NULL;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp5__length1 = 0;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp5_ = _data_->_tmp4_;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp5__length1 = _data_->_tmp3_;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->result_length1 = _data_->_tmp5__length1;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->result = _data_->_tmp5_;
#line 2500 "gitg-stage-status-enumerator.c"
				{
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
					_data_->_tmp6_ = NULL;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
					_data_->_tmp6__length1 = 0;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
					_data_->_tmp6_ = _data_->self->priv->d_items;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
					_data_->_tmp6__length1 = _data_->self->priv->d_items_length1;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
					g_rec_mutex_unlock (&_data_->self->priv->__lock_d_items);
#line 2512 "gitg-stage-status-enumerator.c"
				}
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->ret = (_vala_array_free (_data_->ret, _data_->ret_length1, (GDestroyNotify) g_object_unref), NULL);
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				(_data_->callback_target_destroy_notify == NULL) ? NULL : (_data_->callback_target_destroy_notify (_data_->callback_target), NULL);
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->callback = NULL;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->callback_target = NULL;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->callback_target_destroy_notify = NULL;
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				if (_data_->_state_ == 0) {
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
					g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2528 "gitg-stage-status-enumerator.c"
				} else {
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
					g_simple_async_result_complete (_data_->_async_result);
#line 2532 "gitg-stage-status-enumerator.c"
				}
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				g_object_unref (_data_->_async_result);
#line 384 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				return FALSE;
#line 2538 "gitg-stage-status-enumerator.c"
			} else {
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp7_ = NULL;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp7__target = NULL;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp7__target_destroy_notify = NULL;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp7_ = _data_->callback;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp7__target = _data_->callback_target;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp7__target_destroy_notify = _data_->callback_target_destroy_notify;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->callback_target_destroy_notify = NULL;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				(_data_->self->priv->d_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->d_callback_target_destroy_notify (_data_->self->priv->d_callback_target), NULL);
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->self->priv->d_callback = NULL;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->self->priv->d_callback_target = NULL;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->self->priv->d_callback_target_destroy_notify = NULL;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->self->priv->d_callback = _data_->_tmp7_;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->self->priv->d_callback_target = _data_->_tmp7__target;
#line 388 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->self->priv->d_callback_target_destroy_notify = _data_->_tmp7__target_destroy_notify;
#line 389 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp8_ = 0;
#line 389 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->_tmp8_ = _data_->num;
#line 389 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
				_data_->self->priv->d_callback_num = _data_->_tmp8_;
#line 2574 "gitg-stage-status-enumerator.c"
			}
		}
		__finally87:
		{
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp9_ = NULL;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp9__length1 = 0;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp9_ = _data_->self->priv->d_items;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp9__length1 = _data_->self->priv->d_items_length1;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_rec_mutex_unlock (&_data_->self->priv->__lock_d_items);
#line 2589 "gitg-stage-status-enumerator.c"
		}
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->ret = (_vala_array_free (_data_->ret, _data_->ret_length1, (GDestroyNotify) g_object_unref), NULL);
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			(_data_->callback_target_destroy_notify == NULL) ? NULL : (_data_->callback_target_destroy_notify (_data_->callback_target), NULL);
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->callback = NULL;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->callback_target = NULL;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->callback_target_destroy_notify = NULL;
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_clear_error (&_data_->_inner_error_);
#line 379 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			return FALSE;
#line 2609 "gitg-stage-status-enumerator.c"
		}
	}
#line 393 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_state_ = 1;
#line 393 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return FALSE;
#line 2616 "gitg-stage-status-enumerator.c"
	_state_1:
	;
	{
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data_->_tmp10_ = NULL;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data_->_tmp10__length1 = 0;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data_->_tmp10_ = _data_->self->priv->d_items;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_data_->_tmp10__length1 = _data_->self->priv->d_items_length1;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_rec_mutex_lock (&_data_->self->priv->__lock_d_items);
#line 2630 "gitg-stage-status-enumerator.c"
		{
#line 397 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp11_ = 0;
#line 397 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp11_ = _data_->num;
#line 397 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp12_ = 0;
#line 397 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp13_ = NULL;
#line 397 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp13_ = gitg_stage_status_enumerator_fill_items (_data_->self, _data_->_tmp11_, &_data_->_tmp12_);
#line 397 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->ret = (_vala_array_free (_data_->ret, _data_->ret_length1, (GDestroyNotify) g_object_unref), NULL);
#line 397 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->ret = _data_->_tmp13_;
#line 397 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->ret_length1 = _data_->_tmp12_;
#line 397 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_ret_size_ = _data_->ret_length1;
#line 2650 "gitg-stage-status-enumerator.c"
		}
		__finally88:
		{
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp14_ = NULL;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp14__length1 = 0;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp14_ = _data_->self->priv->d_items;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->_tmp14__length1 = _data_->self->priv->d_items_length1;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_rec_mutex_unlock (&_data_->self->priv->__lock_d_items);
#line 2664 "gitg-stage-status-enumerator.c"
		}
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->ret = (_vala_array_free (_data_->ret, _data_->ret_length1, (GDestroyNotify) g_object_unref), NULL);
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			(_data_->callback_target_destroy_notify == NULL) ? NULL : (_data_->callback_target_destroy_notify (_data_->callback_target), NULL);
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->callback = NULL;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->callback_target = NULL;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			_data_->callback_target_destroy_notify = NULL;
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			g_clear_error (&_data_->_inner_error_);
#line 395 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
			return FALSE;
#line 2684 "gitg-stage-status-enumerator.c"
		}
	}
#line 400 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_tmp15_ = NULL;
#line 400 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_tmp15__length1 = 0;
#line 400 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_tmp15_ = _data_->ret;
#line 400 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_tmp15__length1 = _data_->ret_length1;
#line 400 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_tmp16_ = 0;
#line 400 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_tmp16_ = _data_->num;
#line 400 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (_data_->_tmp15__length1 != _data_->_tmp16_) {
#line 402 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		gitg_stage_status_enumerator_cancel (_data_->self);
#line 2703 "gitg-stage-status-enumerator.c"
	}
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_tmp17_ = NULL;
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_tmp17__length1 = 0;
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_tmp17_ = _data_->ret;
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->_tmp17__length1 = _data_->ret_length1;
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->result_length1 = _data_->_tmp17__length1;
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->result = _data_->_tmp17_;
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	(_data_->callback_target_destroy_notify == NULL) ? NULL : (_data_->callback_target_destroy_notify (_data_->callback_target), NULL);
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback = NULL;
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback_target = NULL;
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback_target_destroy_notify = NULL;
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (_data_->_state_ == 0) {
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2729 "gitg-stage-status-enumerator.c"
	} else {
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2733 "gitg-stage-status-enumerator.c"
	}
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_unref (_data_->_async_result);
#line 405 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return FALSE;
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->ret = (_vala_array_free (_data_->ret, _data_->ret_length1, (GDestroyNotify) g_object_unref), NULL);
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	(_data_->callback_target_destroy_notify == NULL) ? NULL : (_data_->callback_target_destroy_notify (_data_->callback_target), NULL);
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback = NULL;
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback_target = NULL;
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_data_->callback_target_destroy_notify = NULL;
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (_data_->_state_ == 0) {
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2753 "gitg-stage-status-enumerator.c"
	} else {
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2757 "gitg-stage-status-enumerator.c"
	}
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_object_unref (_data_->_async_result);
#line 374 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	return FALSE;
#line 2763 "gitg-stage-status-enumerator.c"
}


static const gchar* string_to_string (const gchar* self) {
	const gchar* result = NULL;
#line 1412 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1413 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
	result = self;
#line 1413 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
	return result;
#line 2775 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_enumerator_class_init (GitgStageStatusEnumeratorClass * klass) {
	GError * _inner_error_ = NULL;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	gitg_stage_status_enumerator_parent_class = g_type_class_peek_parent (klass);
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_type_class_add_private (klass, sizeof (GitgStageStatusEnumeratorPrivate));
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	G_OBJECT_CLASS (klass)->finalize = gitg_stage_status_enumerator_finalize;
#line 2787 "gitg-stage-status-enumerator.c"
	{
		GRegex* _tmp0_ = NULL;
		GRegex* _tmp1_ = NULL;
		GRegex* _tmp2_ = NULL;
#line 218 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp1_ = g_regex_new ("submodule\\.(.*)\\.gitgignore", 0, 0, &_inner_error_);
#line 218 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp0_ = _tmp1_;
#line 218 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2798 "gitg-stage-status-enumerator.c"
			goto __catch89_g_error;
		}
#line 218 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp2_ = _tmp0_;
#line 218 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp0_ = NULL;
#line 218 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_regex_unref0 (gitg_stage_status_enumerator_s_ignore_regex);
#line 218 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		gitg_stage_status_enumerator_s_ignore_regex = _tmp2_;
#line 216 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_regex_unref0 (_tmp0_);
#line 2811 "gitg-stage-status-enumerator.c"
	}
	goto __finally89;
	__catch89_g_error:
	{
		GError* e = NULL;
		FILE* _tmp3_ = NULL;
		GError* _tmp4_ = NULL;
		const gchar* _tmp5_ = NULL;
		const gchar* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
		gchar* _tmp8_ = NULL;
#line 216 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		e = _inner_error_;
#line 216 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_inner_error_ = NULL;
#line 222 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp3_ = stderr;
#line 222 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp4_ = e;
#line 222 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp5_ = _tmp4_->message;
#line 222 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp6_ = string_to_string (_tmp5_);
#line 222 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp7_ = g_strconcat ("Failed to compile stage status enumerator regex: ", _tmp6_, "\n", NULL);
#line 222 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_tmp8_ = _tmp7_;
#line 222 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		fprintf (_tmp3_, "%s", _tmp8_);
#line 222 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_free0 (_tmp8_);
#line 216 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		_g_error_free0 (e);
#line 2845 "gitg-stage-status-enumerator.c"
	}
	__finally89:
#line 216 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 216 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 216 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
		g_clear_error (&_inner_error_);
#line 2854 "gitg-stage-status-enumerator.c"
	}
}


static void gitg_stage_status_enumerator_instance_init (GitgStageStatusEnumerator * self) {
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv = GITG_STAGE_STATUS_ENUMERATOR_GET_PRIVATE (self);
#line 204 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_rec_mutex_init (&self->priv->__lock_d_items);
#line 2864 "gitg-stage-status-enumerator.c"
}


static void gitg_stage_status_enumerator_finalize (GObject* obj) {
	GitgStageStatusEnumerator * self;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GITG_TYPE_STAGE_STATUS_ENUMERATOR, GitgStageStatusEnumerator);
#line 202 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_object_unref0 (self->priv->d_repository);
#line 203 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_thread_unref0 (self->priv->d_thread);
#line 204 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	g_rec_mutex_clear (&self->priv->__lock_d_items);
#line 204 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_items = (_vala_array_free (self->priv->d_items, self->priv->d_items_length1, (GDestroyNotify) g_object_unref), NULL);
#line 207 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_object_unref0 (self->priv->d_cancellable);
#line 208 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	(self->priv->d_callback_target_destroy_notify == NULL) ? NULL : (self->priv->d_callback_target_destroy_notify (self->priv->d_callback_target), NULL);
#line 208 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_callback = NULL;
#line 208 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_callback_target = NULL;
#line 208 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	self->priv->d_callback_target_destroy_notify = NULL;
#line 209 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	__vala_GgitStatusOptions_free0 (self->priv->d_options);
#line 210 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	_g_object_unref0 (self->priv->d_ignored_submodules);
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-stage-status-enumerator.vala"
	G_OBJECT_CLASS (gitg_stage_status_enumerator_parent_class)->finalize (obj);
#line 2896 "gitg-stage-status-enumerator.c"
}


GType gitg_stage_status_enumerator_get_type (void) {
	static volatile gsize gitg_stage_status_enumerator_type_id__volatile = 0;
	if (g_once_init_enter (&gitg_stage_status_enumerator_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GitgStageStatusEnumeratorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gitg_stage_status_enumerator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GitgStageStatusEnumerator), 0, (GInstanceInitFunc) gitg_stage_status_enumerator_instance_init, NULL };
		GType gitg_stage_status_enumerator_type_id;
		gitg_stage_status_enumerator_type_id = g_type_register_static (G_TYPE_OBJECT, "GitgStageStatusEnumerator", &g_define_type_info, 0);
		g_once_init_leave (&gitg_stage_status_enumerator_type_id__volatile, gitg_stage_status_enumerator_type_id);
	}
	return gitg_stage_status_enumerator_type_id__volatile;
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}



