/* gitg-diff-view-lines-renderer.c generated by valac 0.32.1, the Vala compiler
 * generated from gitg-diff-view-lines-renderer.vala, do not modify */

/*
 * This file is part of gitg
 *
 * Copyright (C) 2015 - 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 <gtksourceview/gtksource.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include <libgit2-glib/ggit.h>
#include <gtk/gtk.h>


#define GITG_TYPE_DIFF_VIEW_LINES_RENDERER (gitg_diff_view_lines_renderer_get_type ())
#define GITG_DIFF_VIEW_LINES_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_DIFF_VIEW_LINES_RENDERER, GitgDiffViewLinesRenderer))
#define GITG_DIFF_VIEW_LINES_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_DIFF_VIEW_LINES_RENDERER, GitgDiffViewLinesRendererClass))
#define GITG_IS_DIFF_VIEW_LINES_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_DIFF_VIEW_LINES_RENDERER))
#define GITG_IS_DIFF_VIEW_LINES_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_DIFF_VIEW_LINES_RENDERER))
#define GITG_DIFF_VIEW_LINES_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_DIFF_VIEW_LINES_RENDERER, GitgDiffViewLinesRendererClass))

typedef struct _GitgDiffViewLinesRenderer GitgDiffViewLinesRenderer;
typedef struct _GitgDiffViewLinesRendererClass GitgDiffViewLinesRendererClass;
typedef struct _GitgDiffViewLinesRendererPrivate GitgDiffViewLinesRendererPrivate;

#define GITG_DIFF_VIEW_LINES_RENDERER_TYPE_HUNK_INFO (gitg_diff_view_lines_renderer_hunk_info_get_type ())
typedef struct _GitgDiffViewLinesRendererHunkInfo GitgDiffViewLinesRendererHunkInfo;

#define GITG_DIFF_VIEW_LINES_RENDERER_TYPE_STYLE (gitg_diff_view_lines_renderer_style_get_type ())
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _gitg_diff_view_lines_renderer_hunk_info_free0(var) ((var == NULL) ? NULL : (var = (gitg_diff_view_lines_renderer_hunk_info_free (var), NULL)))
#define _ggit_diff_line_unref0(var) ((var == NULL) ? NULL : (var = (ggit_diff_line_unref (var), NULL)))
#define _ggit_diff_hunk_unref0(var) ((var == NULL) ? NULL : (var = (ggit_diff_hunk_unref (var), NULL)))

struct _GitgDiffViewLinesRenderer {
	GtkSourceGutterRendererText parent_instance;
	GitgDiffViewLinesRendererPrivate * priv;
};

struct _GitgDiffViewLinesRendererClass {
	GtkSourceGutterRendererTextClass parent_class;
};

struct _GitgDiffViewLinesRendererHunkInfo {
	gint start;
	gint end;
	gint hunk_line;
	GgitDiffHunk* hunk;
	gchar** line_infos;
	gint line_infos_length1;
	gint _line_infos_size_;
};

typedef enum  {
	GITG_DIFF_VIEW_LINES_RENDERER_STYLE_OLD,
	GITG_DIFF_VIEW_LINES_RENDERER_STYLE_NEW,
	GITG_DIFF_VIEW_LINES_RENDERER_STYLE_SYMBOL
} GitgDiffViewLinesRendererStyle;

struct _GitgDiffViewLinesRendererPrivate {
	gchar* d_num_digits_fmts;
	gchar* d_num_digits_fill;
	gulong d_view_style_updated_id;
	GeeArrayList* d_hunks_list;
	GitgDiffViewLinesRendererStyle _style;
	gint d_maxlines;
};


static gpointer gitg_diff_view_lines_renderer_parent_class = NULL;

GType gitg_diff_view_lines_renderer_get_type (void) G_GNUC_CONST;
static GType gitg_diff_view_lines_renderer_hunk_info_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
static GitgDiffViewLinesRendererHunkInfo* gitg_diff_view_lines_renderer_hunk_info_dup (const GitgDiffViewLinesRendererHunkInfo* self);
static void gitg_diff_view_lines_renderer_hunk_info_free (GitgDiffViewLinesRendererHunkInfo* self);
static void gitg_diff_view_lines_renderer_hunk_info_copy (const GitgDiffViewLinesRendererHunkInfo* self, GitgDiffViewLinesRendererHunkInfo* dest);
static void gitg_diff_view_lines_renderer_hunk_info_destroy (GitgDiffViewLinesRendererHunkInfo* self);
GType gitg_diff_view_lines_renderer_style_get_type (void) G_GNUC_CONST;
#define GITG_DIFF_VIEW_LINES_RENDERER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GITG_TYPE_DIFF_VIEW_LINES_RENDERER, GitgDiffViewLinesRendererPrivate))
enum  {
	GITG_DIFF_VIEW_LINES_RENDERER_DUMMY_PROPERTY,
	GITG_DIFF_VIEW_LINES_RENDERER_STYLE,
	GITG_DIFF_VIEW_LINES_RENDERER_MAXLINES,
	GITG_DIFF_VIEW_LINES_RENDERER_BUFFER
};
GitgDiffViewLinesRenderer* gitg_diff_view_lines_renderer_new (GitgDiffViewLinesRendererStyle style);
GitgDiffViewLinesRenderer* gitg_diff_view_lines_renderer_construct (GType object_type, GitgDiffViewLinesRendererStyle style);
static void gitg_diff_view_lines_renderer_real_query_data (GtkSourceGutterRenderer* base, GtkTextIter* start, GtkTextIter* end, GtkSourceGutterRendererState state);
GitgDiffViewLinesRendererStyle gitg_diff_view_lines_renderer_get_style (GitgDiffViewLinesRenderer* self);
static void gitg_diff_view_lines_renderer_on_view_style_updated (GitgDiffViewLinesRenderer* self);
static void gitg_diff_view_lines_renderer_recalculate_size (GitgDiffViewLinesRenderer* self);
static void gitg_diff_view_lines_renderer_real_change_view (GtkSourceGutterRenderer* base, GtkTextView* old_view);
static void _gitg_diff_view_lines_renderer_on_view_style_updated_gtk_widget_style_updated (GtkWidget* _sender, gpointer self);
static void gitg_diff_view_lines_renderer_calculate_num_digits (GitgDiffViewLinesRenderer* self);
static gchar** gitg_diff_view_lines_renderer_precalculate_line_strings (GitgDiffViewLinesRenderer* self, GgitDiffHunk* hunk, GeeArrayList* lines, int* result_length1);
void gitg_diff_view_lines_renderer_add_hunk (GitgDiffViewLinesRenderer* self, gint buffer_line_start, gint buffer_line_end, GgitDiffHunk* hunk, GeeArrayList* lines);
void gitg_diff_view_lines_renderer_set_style (GitgDiffViewLinesRenderer* self, GitgDiffViewLinesRendererStyle value);
gint gitg_diff_view_lines_renderer_get_maxlines (GitgDiffViewLinesRenderer* self);
void gitg_diff_view_lines_renderer_set_maxlines (GitgDiffViewLinesRenderer* self, gint value);
GtkTextBuffer* gitg_diff_view_lines_renderer_get_buffer (GitgDiffViewLinesRenderer* self);
static GObject * gitg_diff_view_lines_renderer_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
static gchar** _vala_array_dup12 (gchar** self, int length);
static void gitg_diff_view_lines_renderer_finalize (GObject* obj);
static void _vala_gitg_diff_view_lines_renderer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gitg_diff_view_lines_renderer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
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);


GType gitg_diff_view_lines_renderer_style_get_type (void) {
	static volatile gsize gitg_diff_view_lines_renderer_style_type_id__volatile = 0;
	if (g_once_init_enter (&gitg_diff_view_lines_renderer_style_type_id__volatile)) {
		static const GEnumValue values[] = {{GITG_DIFF_VIEW_LINES_RENDERER_STYLE_OLD, "GITG_DIFF_VIEW_LINES_RENDERER_STYLE_OLD", "old"}, {GITG_DIFF_VIEW_LINES_RENDERER_STYLE_NEW, "GITG_DIFF_VIEW_LINES_RENDERER_STYLE_NEW", "new"}, {GITG_DIFF_VIEW_LINES_RENDERER_STYLE_SYMBOL, "GITG_DIFF_VIEW_LINES_RENDERER_STYLE_SYMBOL", "symbol"}, {0, NULL, NULL}};
		GType gitg_diff_view_lines_renderer_style_type_id;
		gitg_diff_view_lines_renderer_style_type_id = g_enum_register_static ("GitgDiffViewLinesRendererStyle", values);
		g_once_init_leave (&gitg_diff_view_lines_renderer_style_type_id__volatile, gitg_diff_view_lines_renderer_style_type_id);
	}
	return gitg_diff_view_lines_renderer_style_type_id__volatile;
}


GitgDiffViewLinesRenderer* gitg_diff_view_lines_renderer_construct (GType object_type, GitgDiffViewLinesRendererStyle style) {
	GitgDiffViewLinesRenderer * self = NULL;
	GitgDiffViewLinesRendererStyle _tmp0_ = 0;
#line 69 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = style;
#line 69 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	self = (GitgDiffViewLinesRenderer*) g_object_new (object_type, "style", _tmp0_, NULL);
#line 67 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return self;
#line 151 "gitg-diff-view-lines-renderer.c"
}


GitgDiffViewLinesRenderer* gitg_diff_view_lines_renderer_new (GitgDiffViewLinesRendererStyle style) {
#line 67 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return gitg_diff_view_lines_renderer_construct (GITG_TYPE_DIFF_VIEW_LINES_RENDERER, style);
#line 158 "gitg-diff-view-lines-renderer.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return self ? g_object_ref (self) : NULL;
#line 165 "gitg-diff-view-lines-renderer.c"
}


static gpointer _gitg_diff_view_lines_renderer_hunk_info_dup0 (gpointer self) {
#line 100 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return self ? gitg_diff_view_lines_renderer_hunk_info_dup (self) : NULL;
#line 172 "gitg-diff-view-lines-renderer.c"
}


static void gitg_diff_view_lines_renderer_real_query_data (GtkSourceGutterRenderer* base, GtkTextIter* start, GtkTextIter* end, GtkSourceGutterRendererState state) {
	GitgDiffViewLinesRenderer * self;
	gint line = 0;
	gint _tmp0_ = 0;
	gboolean is_hunk = FALSE;
	GitgDiffViewLinesRendererHunkInfo* info = NULL;
	gboolean _tmp24_ = FALSE;
	GitgDiffViewLinesRendererHunkInfo* _tmp25_ = NULL;
#line 85 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	self = (GitgDiffViewLinesRenderer*) base;
#line 85 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_if_fail (start != NULL);
#line 85 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_if_fail (end != NULL);
#line 87 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = gtk_text_iter_get_line (start);
#line 87 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	line = _tmp0_;
#line 88 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	is_hunk = FALSE;
#line 89 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	info = NULL;
#line 198 "gitg-diff-view-lines-renderer.c"
	{
		GeeArrayList* _i_list = NULL;
		GeeArrayList* _tmp1_ = NULL;
		GeeArrayList* _tmp2_ = NULL;
		gint _i_size = 0;
		GeeArrayList* _tmp3_ = NULL;
		gint _tmp4_ = 0;
		gint _tmp5_ = 0;
		gint _i_index = 0;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp1_ = self->priv->d_hunks_list;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp2_ = _g_object_ref0 (_tmp1_);
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_i_list = _tmp2_;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp3_ = _i_list;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp4_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp3_);
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp5_ = _tmp4_;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_i_size = _tmp5_;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_i_index = -1;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		while (TRUE) {
#line 226 "gitg-diff-view-lines-renderer.c"
			gint _tmp6_ = 0;
			gint _tmp7_ = 0;
			gint _tmp8_ = 0;
			GitgDiffViewLinesRendererHunkInfo* i = NULL;
			GeeArrayList* _tmp9_ = NULL;
			gint _tmp10_ = 0;
			gpointer _tmp11_ = NULL;
			gint _tmp12_ = 0;
			GitgDiffViewLinesRendererHunkInfo* _tmp13_ = NULL;
			gint _tmp14_ = 0;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp6_ = _i_index;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_i_index = _tmp6_ + 1;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp7_ = _i_index;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp8_ = _i_size;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			if (!(_tmp7_ < _tmp8_)) {
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				break;
#line 249 "gitg-diff-view-lines-renderer.c"
			}
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp9_ = _i_list;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp10_ = _i_index;
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			i = (GitgDiffViewLinesRendererHunkInfo*) _tmp11_;
#line 93 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp12_ = line;
#line 93 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp13_ = i;
#line 93 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp14_ = (*_tmp13_).hunk_line;
#line 93 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			if (_tmp12_ == _tmp14_) {
#line 95 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				is_hunk = TRUE;
#line 96 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_gitg_diff_view_lines_renderer_hunk_info_free0 (i);
#line 96 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				break;
#line 273 "gitg-diff-view-lines-renderer.c"
			} else {
				gboolean _tmp15_ = FALSE;
				gint _tmp16_ = 0;
				GitgDiffViewLinesRendererHunkInfo* _tmp17_ = NULL;
				gint _tmp18_ = 0;
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp16_ = line;
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp17_ = i;
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp18_ = (*_tmp17_).start;
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				if (_tmp16_ >= _tmp18_) {
#line 287 "gitg-diff-view-lines-renderer.c"
					gint _tmp19_ = 0;
					GitgDiffViewLinesRendererHunkInfo* _tmp20_ = NULL;
					gint _tmp21_ = 0;
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp19_ = line;
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp20_ = i;
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp21_ = (*_tmp20_).end;
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp15_ = _tmp19_ <= _tmp21_;
#line 299 "gitg-diff-view-lines-renderer.c"
				} else {
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp15_ = FALSE;
#line 303 "gitg-diff-view-lines-renderer.c"
				}
#line 98 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				if (_tmp15_) {
#line 307 "gitg-diff-view-lines-renderer.c"
					GitgDiffViewLinesRendererHunkInfo* _tmp22_ = NULL;
					GitgDiffViewLinesRendererHunkInfo* _tmp23_ = NULL;
#line 100 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp22_ = i;
#line 100 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp23_ = _gitg_diff_view_lines_renderer_hunk_info_dup0 (_tmp22_);
#line 100 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_gitg_diff_view_lines_renderer_hunk_info_free0 (info);
#line 100 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					info = _tmp23_;
#line 101 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_gitg_diff_view_lines_renderer_hunk_info_free0 (i);
#line 101 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					break;
#line 322 "gitg-diff-view-lines-renderer.c"
				}
			}
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_gitg_diff_view_lines_renderer_hunk_info_free0 (i);
#line 327 "gitg-diff-view-lines-renderer.c"
		}
#line 91 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_g_object_unref0 (_i_list);
#line 331 "gitg-diff-view-lines-renderer.c"
	}
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp25_ = info;
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	if (_tmp25_ == NULL) {
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp24_ = TRUE;
#line 339 "gitg-diff-view-lines-renderer.c"
	} else {
		gint _tmp26_ = 0;
		GitgDiffViewLinesRendererHunkInfo* _tmp27_ = NULL;
		gint _tmp28_ = 0;
		GitgDiffViewLinesRendererHunkInfo* _tmp29_ = NULL;
		gchar** _tmp30_ = NULL;
		gint _tmp30__length1 = 0;
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp26_ = line;
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp27_ = info;
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp28_ = (*_tmp27_).start;
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp29_ = info;
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp30_ = (*_tmp29_).line_infos;
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp30__length1 = (*_tmp29_).line_infos_length1;
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp24_ = (_tmp26_ - _tmp28_) >= _tmp30__length1;
#line 361 "gitg-diff-view-lines-renderer.c"
	}
#line 105 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	if (_tmp24_) {
#line 365 "gitg-diff-view-lines-renderer.c"
		gboolean _tmp31_ = FALSE;
		gboolean _tmp32_ = FALSE;
#line 107 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp32_ = is_hunk;
#line 107 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		if (_tmp32_) {
#line 372 "gitg-diff-view-lines-renderer.c"
			GitgDiffViewLinesRendererStyle _tmp33_ = 0;
#line 107 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp33_ = self->priv->_style;
#line 107 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp31_ = _tmp33_ != GITG_DIFF_VIEW_LINES_RENDERER_STYLE_SYMBOL;
#line 378 "gitg-diff-view-lines-renderer.c"
		} else {
#line 107 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp31_ = FALSE;
#line 382 "gitg-diff-view-lines-renderer.c"
		}
#line 107 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		if (_tmp31_) {
#line 109 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			gtk_source_gutter_renderer_text_set_text ((GtkSourceGutterRendererText*) self, "...", -1);
#line 388 "gitg-diff-view-lines-renderer.c"
		} else {
#line 113 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			gtk_source_gutter_renderer_text_set_text ((GtkSourceGutterRendererText*) self, "", -1);
#line 392 "gitg-diff-view-lines-renderer.c"
		}
	} else {
		GitgDiffViewLinesRendererHunkInfo* _tmp34_ = NULL;
		gchar** _tmp35_ = NULL;
		gint _tmp35__length1 = 0;
		gint _tmp36_ = 0;
		GitgDiffViewLinesRendererHunkInfo* _tmp37_ = NULL;
		gint _tmp38_ = 0;
		const gchar* _tmp39_ = NULL;
#line 118 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp34_ = info;
#line 118 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp35_ = (*_tmp34_).line_infos;
#line 118 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp35__length1 = (*_tmp34_).line_infos_length1;
#line 118 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp36_ = gtk_text_iter_get_line (start);
#line 118 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp37_ = info;
#line 118 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp38_ = (*_tmp37_).start;
#line 118 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp39_ = _tmp35_[_tmp36_ - _tmp38_];
#line 118 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		gtk_source_gutter_renderer_text_set_text ((GtkSourceGutterRendererText*) self, _tmp39_, -1);
#line 418 "gitg-diff-view-lines-renderer.c"
	}
#line 85 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_gitg_diff_view_lines_renderer_hunk_info_free0 (info);
#line 422 "gitg-diff-view-lines-renderer.c"
}


static void gitg_diff_view_lines_renderer_on_view_style_updated (GitgDiffViewLinesRenderer* self) {
#line 122 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_if_fail (self != NULL);
#line 124 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gitg_diff_view_lines_renderer_recalculate_size (self);
#line 431 "gitg-diff-view-lines-renderer.c"
}


static void _gitg_diff_view_lines_renderer_on_view_style_updated_gtk_widget_style_updated (GtkWidget* _sender, gpointer self) {
#line 139 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gitg_diff_view_lines_renderer_on_view_style_updated ((GitgDiffViewLinesRenderer*) self);
#line 438 "gitg-diff-view-lines-renderer.c"
}


static void gitg_diff_view_lines_renderer_real_change_view (GtkSourceGutterRenderer* base, GtkTextView* old_view) {
	GitgDiffViewLinesRenderer * self;
	GtkTextView* _tmp0_ = NULL;
	GtkTextView* view = NULL;
	GtkTextView* _tmp3_ = NULL;
	GtkTextView* _tmp4_ = NULL;
	GtkTextView* _tmp5_ = NULL;
	GtkTextView* _tmp8_ = NULL;
#line 127 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	self = (GitgDiffViewLinesRenderer*) base;
#line 129 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = old_view;
#line 129 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	if (_tmp0_ != NULL) {
#line 456 "gitg-diff-view-lines-renderer.c"
		GtkTextView* _tmp1_ = NULL;
		gulong _tmp2_ = 0UL;
#line 131 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp1_ = old_view;
#line 131 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp2_ = self->priv->d_view_style_updated_id;
#line 131 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		g_signal_handler_disconnect ((GObject*) _tmp1_, _tmp2_);
#line 132 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		self->priv->d_view_style_updated_id = (gulong) 0;
#line 467 "gitg-diff-view-lines-renderer.c"
	}
#line 135 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp3_ = gtk_source_gutter_renderer_get_view ((GtkSourceGutterRenderer*) self);
#line 135 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 135 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	view = _tmp4_;
#line 137 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp5_ = view;
#line 137 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	if (_tmp5_ != NULL) {
#line 479 "gitg-diff-view-lines-renderer.c"
		GtkTextView* _tmp6_ = NULL;
		gulong _tmp7_ = 0UL;
#line 139 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp6_ = view;
#line 139 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp7_ = g_signal_connect_object ((GtkWidget*) _tmp6_, "style-updated", (GCallback) _gitg_diff_view_lines_renderer_on_view_style_updated_gtk_widget_style_updated, self, 0);
#line 139 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		self->priv->d_view_style_updated_id = _tmp7_;
#line 140 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		gitg_diff_view_lines_renderer_recalculate_size (self);
#line 490 "gitg-diff-view-lines-renderer.c"
	}
#line 143 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp8_ = old_view;
#line 143 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	GTK_SOURCE_GUTTER_RENDERER_CLASS (gitg_diff_view_lines_renderer_parent_class)->change_view ((GtkSourceGutterRenderer*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_source_gutter_renderer_text_get_type (), GtkSourceGutterRendererText), _tmp8_);
#line 127 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_g_object_unref0 (view);
#line 498 "gitg-diff-view-lines-renderer.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 510 "gitg-diff-view-lines-renderer.c"
}


static void gitg_diff_view_lines_renderer_recalculate_size (GitgDiffViewLinesRenderer* self) {
	gint size = 0;
	gint height = 0;
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	gint _tmp4_ = 0;
#line 146 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_if_fail (self != NULL);
#line 148 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	size = 0;
#line 149 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	height = 0;
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = self->priv->d_num_digits_fill;
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp1_ = string_to_string (_tmp0_);
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gtk_source_gutter_renderer_text_measure ((GtkSourceGutterRendererText*) self, _tmp1_, &_tmp2_, &_tmp3_);
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	size = _tmp2_;
#line 151 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	height = _tmp3_;
#line 152 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp4_ = size;
#line 152 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gtk_source_gutter_renderer_set_size ((GtkSourceGutterRenderer*) self, _tmp4_);
#line 542 "gitg-diff-view-lines-renderer.c"
}


static void gitg_diff_view_lines_renderer_calculate_num_digits (GitgDiffViewLinesRenderer* self) {
	gint num_digits = 0;
	gboolean _tmp0_ = FALSE;
	GitgDiffViewLinesRendererStyle _tmp1_ = 0;
	gint _tmp37_ = 0;
	gchar* _tmp38_ = NULL;
	gchar* _tmp39_ = NULL;
	gchar* _tmp40_ = NULL;
	gint _tmp41_ = 0;
	gchar* _tmp42_ = NULL;
#line 155 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_if_fail (self != NULL);
#line 159 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp1_ = self->priv->_style;
#line 159 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	if (_tmp1_ == GITG_DIFF_VIEW_LINES_RENDERER_STYLE_OLD) {
#line 159 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp0_ = TRUE;
#line 564 "gitg-diff-view-lines-renderer.c"
	} else {
		GitgDiffViewLinesRendererStyle _tmp2_ = 0;
#line 159 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp2_ = self->priv->_style;
#line 159 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp0_ = _tmp2_ == GITG_DIFF_VIEW_LINES_RENDERER_STYLE_NEW;
#line 571 "gitg-diff-view-lines-renderer.c"
	}
#line 159 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	if (_tmp0_) {
#line 161 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		num_digits = 3;
#line 577 "gitg-diff-view-lines-renderer.c"
		{
			GeeArrayList* _info_list = NULL;
			GeeArrayList* _tmp3_ = NULL;
			GeeArrayList* _tmp4_ = NULL;
			gint _info_size = 0;
			GeeArrayList* _tmp5_ = NULL;
			gint _tmp6_ = 0;
			gint _tmp7_ = 0;
			gint _info_index = 0;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp3_ = self->priv->d_hunks_list;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp4_ = _g_object_ref0 (_tmp3_);
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_info_list = _tmp4_;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp5_ = _info_list;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp6_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp5_);
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp7_ = _tmp6_;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_info_size = _tmp7_;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_info_index = -1;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			while (TRUE) {
#line 605 "gitg-diff-view-lines-renderer.c"
				gint _tmp8_ = 0;
				gint _tmp9_ = 0;
				gint _tmp10_ = 0;
				GitgDiffViewLinesRendererHunkInfo* info = NULL;
				GeeArrayList* _tmp11_ = NULL;
				gint _tmp12_ = 0;
				gpointer _tmp13_ = NULL;
				gint oldn = 0;
				GitgDiffViewLinesRendererHunkInfo* _tmp14_ = NULL;
				GgitDiffHunk* _tmp15_ = NULL;
				gint _tmp16_ = 0;
				GitgDiffViewLinesRendererHunkInfo* _tmp17_ = NULL;
				GgitDiffHunk* _tmp18_ = NULL;
				gint _tmp19_ = 0;
				gint newn = 0;
				GitgDiffViewLinesRendererHunkInfo* _tmp20_ = NULL;
				GgitDiffHunk* _tmp21_ = NULL;
				gint _tmp22_ = 0;
				GitgDiffViewLinesRendererHunkInfo* _tmp23_ = NULL;
				GgitDiffHunk* _tmp24_ = NULL;
				gint _tmp25_ = 0;
				gint num = 0;
				gint _tmp26_ = 0;
				gint _tmp27_ = 0;
				gint _tmp28_ = 0;
				gint _tmp29_ = 0;
				gint _tmp30_ = 0;
				gint hunk_digits = 0;
				gint _tmp34_ = 0;
				gint _tmp35_ = 0;
				gint _tmp36_ = 0;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp8_ = _info_index;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_info_index = _tmp8_ + 1;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp9_ = _info_index;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp10_ = _info_size;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				if (!(_tmp9_ < _tmp10_)) {
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					break;
#line 649 "gitg-diff-view-lines-renderer.c"
				}
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp11_ = _info_list;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp12_ = _info_index;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp13_ = gee_abstract_list_get ((GeeAbstractList*) _tmp11_, _tmp12_);
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				info = (GitgDiffViewLinesRendererHunkInfo*) _tmp13_;
#line 165 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp14_ = info;
#line 165 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp15_ = (*_tmp14_).hunk;
#line 165 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp16_ = ggit_diff_hunk_get_old_start (_tmp15_);
#line 165 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp17_ = info;
#line 165 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp18_ = (*_tmp17_).hunk;
#line 165 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp19_ = ggit_diff_hunk_get_old_lines (_tmp18_);
#line 165 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				oldn = _tmp16_ + _tmp19_;
#line 166 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp20_ = info;
#line 166 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp21_ = (*_tmp20_).hunk;
#line 166 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp22_ = ggit_diff_hunk_get_new_start (_tmp21_);
#line 166 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp23_ = info;
#line 166 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp24_ = (*_tmp23_).hunk;
#line 166 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp25_ = ggit_diff_hunk_get_new_lines (_tmp24_);
#line 166 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				newn = _tmp22_ + _tmp25_;
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp26_ = oldn;
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp27_ = newn;
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp28_ = MAX (_tmp26_, _tmp27_);
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp29_ = self->priv->d_maxlines;
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp30_ = MAX (_tmp28_, _tmp29_);
#line 168 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				num = _tmp30_;
#line 170 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				hunk_digits = 0;
#line 171 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				while (TRUE) {
#line 703 "gitg-diff-view-lines-renderer.c"
					gint _tmp31_ = 0;
					gint _tmp32_ = 0;
					gint _tmp33_ = 0;
#line 171 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp31_ = num;
#line 171 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					if (!(_tmp31_ > 0)) {
#line 171 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						break;
#line 713 "gitg-diff-view-lines-renderer.c"
					}
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp32_ = hunk_digits;
#line 173 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					hunk_digits = _tmp32_ + 1;
#line 174 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp33_ = num;
#line 174 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					num = _tmp33_ / 10;
#line 723 "gitg-diff-view-lines-renderer.c"
				}
#line 177 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp34_ = num_digits;
#line 177 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp35_ = hunk_digits;
#line 177 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp36_ = MAX (_tmp34_, _tmp35_);
#line 177 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				num_digits = _tmp36_;
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_gitg_diff_view_lines_renderer_hunk_info_free0 (info);
#line 735 "gitg-diff-view-lines-renderer.c"
			}
#line 163 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_g_object_unref0 (_info_list);
#line 739 "gitg-diff-view-lines-renderer.c"
		}
	} else {
#line 182 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		num_digits = 1;
#line 744 "gitg-diff-view-lines-renderer.c"
	}
#line 185 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp37_ = num_digits;
#line 185 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp38_ = g_strdup_printf ("%i", _tmp37_);
#line 185 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp39_ = _tmp38_;
#line 185 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp40_ = g_strconcat ("%", _tmp39_, "d", NULL);
#line 185 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_g_free0 (self->priv->d_num_digits_fmts);
#line 185 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	self->priv->d_num_digits_fmts = _tmp40_;
#line 185 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_g_free0 (_tmp39_);
#line 186 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp41_ = num_digits;
#line 186 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp42_ = g_strnfill ((gsize) _tmp41_, ' ');
#line 186 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_g_free0 (self->priv->d_num_digits_fill);
#line 186 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	self->priv->d_num_digits_fill = _tmp42_;
#line 768 "gitg-diff-view-lines-renderer.c"
}


static gchar** gitg_diff_view_lines_renderer_precalculate_line_strings (GitgDiffViewLinesRenderer* self, GgitDiffHunk* hunk, GeeArrayList* lines, int* result_length1) {
	gchar** result = NULL;
	gint oldn = 0;
	GgitDiffHunk* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint newn = 0;
	GgitDiffHunk* _tmp2_ = NULL;
	gint _tmp3_ = 0;
	GeeArrayList* lns = NULL;
	GeeArrayList* _tmp4_ = NULL;
	GeeArrayList* _tmp5_ = NULL;
	gchar** line_infos = NULL;
	GeeArrayList* _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gint _tmp8_ = 0;
	gchar** _tmp9_ = NULL;
	gint line_infos_length1 = 0;
	gint _line_infos_size_ = 0;
	gchar** _tmp46_ = NULL;
	gint _tmp46__length1 = 0;
#line 189 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 189 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_val_if_fail (hunk != NULL, NULL);
#line 189 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_val_if_fail (lines != NULL, NULL);
#line 191 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = hunk;
#line 191 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp1_ = ggit_diff_hunk_get_old_start (_tmp0_);
#line 191 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	oldn = _tmp1_;
#line 192 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp2_ = hunk;
#line 192 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp3_ = ggit_diff_hunk_get_new_start (_tmp2_);
#line 192 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	newn = _tmp3_;
#line 194 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp4_ = lines;
#line 194 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 194 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	lns = _tmp5_;
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp6_ = lns;
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp7_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp6_);
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp8_ = _tmp7_;
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp9_ = g_new0 (gchar*, _tmp8_ + 1);
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	line_infos = _tmp9_;
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	line_infos_length1 = _tmp8_;
#line 196 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_line_infos_size_ = line_infos_length1;
#line 830 "gitg-diff-view-lines-renderer.c"
	{
		gint i = 0;
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		i = 0;
#line 835 "gitg-diff-view-lines-renderer.c"
		{
			gboolean _tmp10_ = FALSE;
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			_tmp10_ = TRUE;
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
			while (TRUE) {
#line 842 "gitg-diff-view-lines-renderer.c"
				gint _tmp12_ = 0;
				GeeArrayList* _tmp13_ = NULL;
				gint _tmp14_ = 0;
				gint _tmp15_ = 0;
				GgitDiffLine* line = NULL;
				GeeArrayList* _tmp16_ = NULL;
				gint _tmp17_ = 0;
				gpointer _tmp18_ = NULL;
				GgitDiffLineType origin = 0;
				GgitDiffLine* _tmp19_ = NULL;
				GgitDiffLineType _tmp20_ = 0;
				gchar* ltext = NULL;
				gchar* _tmp21_ = NULL;
				GitgDiffViewLinesRendererStyle _tmp22_ = 0;
				gchar** _tmp41_ = NULL;
				gint _tmp41__length1 = 0;
				gint _tmp42_ = 0;
				const gchar* _tmp43_ = NULL;
				gchar* _tmp44_ = NULL;
				gchar* _tmp45_ = NULL;
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				if (!_tmp10_) {
#line 865 "gitg-diff-view-lines-renderer.c"
					gint _tmp11_ = 0;
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					_tmp11_ = i;
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					i = _tmp11_ + 1;
#line 871 "gitg-diff-view-lines-renderer.c"
				}
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp10_ = FALSE;
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp12_ = i;
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp13_ = lns;
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp14_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp13_);
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp15_ = _tmp14_;
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				if (!(_tmp12_ < _tmp15_)) {
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					break;
#line 887 "gitg-diff-view-lines-renderer.c"
				}
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp16_ = lns;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp17_ = i;
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, _tmp17_);
#line 200 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				line = (GgitDiffLine*) _tmp18_;
#line 201 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp19_ = line;
#line 201 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp20_ = ggit_diff_line_get_origin (_tmp19_);
#line 201 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				origin = _tmp20_;
#line 203 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp21_ = g_strdup ("");
#line 203 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				ltext = _tmp21_;
#line 205 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp22_ = self->priv->_style;
#line 205 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				switch (_tmp22_) {
#line 205 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					case GITG_DIFF_VIEW_LINES_RENDERER_STYLE_NEW:
#line 913 "gitg-diff-view-lines-renderer.c"
					{
						gboolean _tmp23_ = FALSE;
						GgitDiffLineType _tmp24_ = 0;
#line 208 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						_tmp24_ = origin;
#line 208 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						if (_tmp24_ == GGIT_DIFF_LINE_CONTEXT) {
#line 208 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp23_ = TRUE;
#line 923 "gitg-diff-view-lines-renderer.c"
						} else {
							GgitDiffLineType _tmp25_ = 0;
#line 208 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp25_ = origin;
#line 208 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp23_ = _tmp25_ == GGIT_DIFF_LINE_ADDITION;
#line 930 "gitg-diff-view-lines-renderer.c"
						}
#line 208 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						if (_tmp23_) {
#line 934 "gitg-diff-view-lines-renderer.c"
							const gchar* _tmp26_ = NULL;
							gint _tmp27_ = 0;
							gchar* _tmp28_ = NULL;
							gint _tmp29_ = 0;
#line 210 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp26_ = self->priv->d_num_digits_fmts;
#line 210 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp27_ = newn;
#line 210 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp28_ = g_strdup_printf (_tmp26_, _tmp27_);
#line 210 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_g_free0 (ltext);
#line 210 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							ltext = _tmp28_;
#line 211 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp29_ = newn;
#line 211 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							newn = _tmp29_ + 1;
#line 953 "gitg-diff-view-lines-renderer.c"
						}
#line 213 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						break;
#line 957 "gitg-diff-view-lines-renderer.c"
					}
#line 205 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					case GITG_DIFF_VIEW_LINES_RENDERER_STYLE_OLD:
#line 961 "gitg-diff-view-lines-renderer.c"
					{
						gboolean _tmp30_ = FALSE;
						GgitDiffLineType _tmp31_ = 0;
#line 215 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						_tmp31_ = origin;
#line 215 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						if (_tmp31_ == GGIT_DIFF_LINE_CONTEXT) {
#line 215 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp30_ = TRUE;
#line 971 "gitg-diff-view-lines-renderer.c"
						} else {
							GgitDiffLineType _tmp32_ = 0;
#line 215 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp32_ = origin;
#line 215 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp30_ = _tmp32_ == GGIT_DIFF_LINE_DELETION;
#line 978 "gitg-diff-view-lines-renderer.c"
						}
#line 215 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						if (_tmp30_) {
#line 982 "gitg-diff-view-lines-renderer.c"
							const gchar* _tmp33_ = NULL;
							gint _tmp34_ = 0;
							gchar* _tmp35_ = NULL;
							gint _tmp36_ = 0;
#line 217 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp33_ = self->priv->d_num_digits_fmts;
#line 217 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp34_ = oldn;
#line 217 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp35_ = g_strdup_printf (_tmp33_, _tmp34_);
#line 217 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_g_free0 (ltext);
#line 217 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							ltext = _tmp35_;
#line 218 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp36_ = oldn;
#line 218 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							oldn = _tmp36_ + 1;
#line 1001 "gitg-diff-view-lines-renderer.c"
						}
#line 220 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						break;
#line 1005 "gitg-diff-view-lines-renderer.c"
					}
#line 205 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					case GITG_DIFF_VIEW_LINES_RENDERER_STYLE_SYMBOL:
#line 1009 "gitg-diff-view-lines-renderer.c"
					{
						GgitDiffLineType _tmp37_ = 0;
#line 222 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						_tmp37_ = origin;
#line 222 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						if (_tmp37_ == GGIT_DIFF_LINE_ADDITION) {
#line 1016 "gitg-diff-view-lines-renderer.c"
							gchar* _tmp38_ = NULL;
#line 224 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp38_ = g_strdup ("+");
#line 224 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_g_free0 (ltext);
#line 224 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							ltext = _tmp38_;
#line 1024 "gitg-diff-view-lines-renderer.c"
						} else {
							GgitDiffLineType _tmp39_ = 0;
#line 226 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							_tmp39_ = origin;
#line 226 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
							if (_tmp39_ == GGIT_DIFF_LINE_DELETION) {
#line 1031 "gitg-diff-view-lines-renderer.c"
								gchar* _tmp40_ = NULL;
#line 228 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
								_tmp40_ = g_strdup ("-");
#line 228 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
								_g_free0 (ltext);
#line 228 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
								ltext = _tmp40_;
#line 1039 "gitg-diff-view-lines-renderer.c"
							}
						}
#line 230 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
						break;
#line 1044 "gitg-diff-view-lines-renderer.c"
					}
					default:
#line 205 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
					break;
#line 1049 "gitg-diff-view-lines-renderer.c"
				}
#line 233 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp41_ = line_infos;
#line 233 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp41__length1 = line_infos_length1;
#line 233 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp42_ = i;
#line 233 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp43_ = ltext;
#line 233 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp44_ = g_strdup (_tmp43_);
#line 233 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_g_free0 (_tmp41_[_tmp42_]);
#line 233 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp41_[_tmp42_] = _tmp44_;
#line 233 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_tmp45_ = _tmp41_[_tmp42_];
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_g_free0 (ltext);
#line 198 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
				_ggit_diff_line_unref0 (line);
#line 1071 "gitg-diff-view-lines-renderer.c"
			}
		}
	}
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp46_ = line_infos;
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp46__length1 = line_infos_length1;
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	if (result_length1) {
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		*result_length1 = _tmp46__length1;
#line 1083 "gitg-diff-view-lines-renderer.c"
	}
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	result = _tmp46_;
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_g_object_unref0 (lns);
#line 236 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return result;
#line 1091 "gitg-diff-view-lines-renderer.c"
}


static gpointer _ggit_diff_hunk_ref0 (gpointer self) {
#line 248 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return self ? ggit_diff_hunk_ref (self) : NULL;
#line 1098 "gitg-diff-view-lines-renderer.c"
}


void gitg_diff_view_lines_renderer_add_hunk (GitgDiffViewLinesRenderer* self, gint buffer_line_start, gint buffer_line_end, GgitDiffHunk* hunk, GeeArrayList* lines) {
	GitgDiffViewLinesRendererHunkInfo info = {0};
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	GgitDiffHunk* _tmp3_ = NULL;
	GgitDiffHunk* _tmp4_ = NULL;
	GgitDiffHunk* _tmp5_ = NULL;
	GeeArrayList* _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	GeeArrayList* _tmp9_ = NULL;
	GitgDiffViewLinesRendererHunkInfo _tmp10_ = {0};
#line 239 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_if_fail (self != NULL);
#line 239 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_if_fail (hunk != NULL);
#line 239 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_if_fail (lines != NULL);
#line 241 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	memset (&info, 0, sizeof (GitgDiffViewLinesRendererHunkInfo));
#line 243 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gitg_diff_view_lines_renderer_calculate_num_digits (self);
#line 245 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = buffer_line_start;
#line 245 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	info.start = _tmp0_;
#line 246 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp1_ = buffer_line_end;
#line 246 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	info.end = _tmp1_;
#line 247 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp2_ = buffer_line_start;
#line 247 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	info.hunk_line = _tmp2_ - 1;
#line 248 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp3_ = hunk;
#line 248 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp4_ = _ggit_diff_hunk_ref0 (_tmp3_);
#line 248 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_ggit_diff_hunk_unref0 (info.hunk);
#line 248 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	info.hunk = _tmp4_;
#line 249 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp5_ = hunk;
#line 249 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp6_ = lines;
#line 249 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp8_ = gitg_diff_view_lines_renderer_precalculate_line_strings (self, _tmp5_, _tmp6_, &_tmp7_);
#line 249 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	info.line_infos = (_vala_array_free (info.line_infos, info.line_infos_length1, (GDestroyNotify) g_free), NULL);
#line 249 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	info.line_infos = _tmp8_;
#line 249 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	info.line_infos_length1 = _tmp7_;
#line 249 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	info._line_infos_size_ = info.line_infos_length1;
#line 251 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp9_ = self->priv->d_hunks_list;
#line 251 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp10_ = info;
#line 251 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp9_, &_tmp10_);
#line 253 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gitg_diff_view_lines_renderer_recalculate_size (self);
#line 239 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gitg_diff_view_lines_renderer_hunk_info_destroy (&info);
#line 1169 "gitg-diff-view-lines-renderer.c"
}


GitgDiffViewLinesRendererStyle gitg_diff_view_lines_renderer_get_style (GitgDiffViewLinesRenderer* self) {
	GitgDiffViewLinesRendererStyle result;
	GitgDiffViewLinesRendererStyle _tmp0_ = 0;
#line 47 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 47 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = self->priv->_style;
#line 47 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	result = _tmp0_;
#line 47 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return result;
#line 1184 "gitg-diff-view-lines-renderer.c"
}


void gitg_diff_view_lines_renderer_set_style (GitgDiffViewLinesRenderer* self, GitgDiffViewLinesRendererStyle value) {
	GitgDiffViewLinesRendererStyle _tmp0_ = 0;
#line 47 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_if_fail (self != NULL);
#line 47 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = value;
#line 47 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	self->priv->_style = _tmp0_;
#line 47 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_object_notify ((GObject *) self, "style");
#line 1198 "gitg-diff-view-lines-renderer.c"
}


gint gitg_diff_view_lines_renderer_get_maxlines (GitgDiffViewLinesRenderer* self) {
	gint result;
	gint _tmp0_ = 0;
#line 54 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 54 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = self->priv->d_maxlines;
#line 54 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	result = _tmp0_;
#line 54 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return result;
#line 1213 "gitg-diff-view-lines-renderer.c"
}


void gitg_diff_view_lines_renderer_set_maxlines (GitgDiffViewLinesRenderer* self, gint value) {
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
#line 55 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_if_fail (self != NULL);
#line 57 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = value;
#line 57 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp1_ = self->priv->d_maxlines;
#line 57 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	if (_tmp0_ > _tmp1_) {
#line 1228 "gitg-diff-view-lines-renderer.c"
		gint _tmp2_ = 0;
#line 59 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp2_ = value;
#line 59 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		self->priv->d_maxlines = _tmp2_;
#line 61 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		gitg_diff_view_lines_renderer_calculate_num_digits (self);
#line 62 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		gitg_diff_view_lines_renderer_recalculate_size (self);
#line 1238 "gitg-diff-view-lines-renderer.c"
	}
#line 55 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_object_notify ((GObject *) self, "maxlines");
#line 1242 "gitg-diff-view-lines-renderer.c"
}


GtkTextBuffer* gitg_diff_view_lines_renderer_get_buffer (GitgDiffViewLinesRenderer* self) {
	GtkTextBuffer* result;
	GtkTextView* _tmp0_ = NULL;
	GtkTextBuffer* _tmp1_ = NULL;
	GtkTextBuffer* _tmp2_ = NULL;
#line 82 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 82 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = gtk_source_gutter_renderer_get_view ((GtkSourceGutterRenderer*) self);
#line 82 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp1_ = gtk_text_view_get_buffer (_tmp0_);
#line 82 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp2_ = _tmp1_;
#line 82 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	result = _tmp2_;
#line 82 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return result;
#line 1263 "gitg-diff-view-lines-renderer.c"
}


static GObject * gitg_diff_view_lines_renderer_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GitgDiffViewLinesRenderer * self;
	GeeArrayList* _tmp0_ = NULL;
#line 72 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	parent_class = G_OBJECT_CLASS (gitg_diff_view_lines_renderer_parent_class);
#line 72 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 72 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GITG_TYPE_DIFF_VIEW_LINES_RENDERER, GitgDiffViewLinesRenderer);
#line 74 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = gee_array_list_new (GITG_DIFF_VIEW_LINES_RENDERER_TYPE_HUNK_INFO, (GBoxedCopyFunc) gitg_diff_view_lines_renderer_hunk_info_dup, gitg_diff_view_lines_renderer_hunk_info_free, NULL, NULL, NULL);
#line 74 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_g_object_unref0 (self->priv->d_hunks_list);
#line 74 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	self->priv->d_hunks_list = _tmp0_;
#line 76 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gtk_source_gutter_renderer_set_alignment ((GtkSourceGutterRenderer*) self, 1.0f, 0.5f);
#line 77 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gitg_diff_view_lines_renderer_calculate_num_digits (self);
#line 72 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return obj;
#line 1290 "gitg-diff-view-lines-renderer.c"
}


static gchar** _vala_array_dup12 (gchar** self, int length) {
	gchar** result;
	int i;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	result = g_new0 (gchar*, length + 1);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	for (i = 0; i < length; i++) {
#line 1301 "gitg-diff-view-lines-renderer.c"
		gchar* _tmp0_ = NULL;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		_tmp0_ = g_strdup (self[i]);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		result[i] = _tmp0_;
#line 1307 "gitg-diff-view-lines-renderer.c"
	}
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return result;
#line 1311 "gitg-diff-view-lines-renderer.c"
}


static void gitg_diff_view_lines_renderer_hunk_info_copy (const GitgDiffViewLinesRendererHunkInfo* self, GitgDiffViewLinesRendererHunkInfo* dest) {
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	GgitDiffHunk* _tmp3_ = NULL;
	GgitDiffHunk* _tmp4_ = NULL;
	gchar** _tmp5_ = NULL;
	gint _tmp5__length1 = 0;
	gchar** _tmp6_ = NULL;
	gint _tmp6__length1 = 0;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp0_ = (*self).start;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	(*dest).start = _tmp0_;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp1_ = (*self).end;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	(*dest).end = _tmp1_;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp2_ = (*self).hunk_line;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	(*dest).hunk_line = _tmp2_;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp3_ = (*self).hunk;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp4_ = _ggit_diff_hunk_ref0 (_tmp3_);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_ggit_diff_hunk_unref0 ((*dest).hunk);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	(*dest).hunk = _tmp4_;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp5_ = (*self).line_infos;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp5__length1 = (*self).line_infos_length1;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp6_ = (_tmp5_ != NULL) ? _vala_array_dup12 (_tmp5_, _tmp5__length1) : ((gpointer) _tmp5_);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_tmp6__length1 = _tmp5__length1;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	(*dest).line_infos = (_vala_array_free ((*dest).line_infos, (*dest).line_infos_length1, (GDestroyNotify) g_free), NULL);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	(*dest).line_infos = _tmp6_;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	(*dest).line_infos_length1 = _tmp6__length1;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	(*dest)._line_infos_size_ = (*dest).line_infos_length1;
#line 1361 "gitg-diff-view-lines-renderer.c"
}


static void gitg_diff_view_lines_renderer_hunk_info_destroy (GitgDiffViewLinesRendererHunkInfo* self) {
#line 39 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_ggit_diff_hunk_unref0 ((*self).hunk);
#line 40 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	(*self).line_infos = (_vala_array_free ((*self).line_infos, (*self).line_infos_length1, (GDestroyNotify) g_free), NULL);
#line 1370 "gitg-diff-view-lines-renderer.c"
}


static GitgDiffViewLinesRendererHunkInfo* gitg_diff_view_lines_renderer_hunk_info_dup (const GitgDiffViewLinesRendererHunkInfo* self) {
	GitgDiffViewLinesRendererHunkInfo* dup;
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	dup = g_new0 (GitgDiffViewLinesRendererHunkInfo, 1);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gitg_diff_view_lines_renderer_hunk_info_copy (self, dup);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	return dup;
#line 1382 "gitg-diff-view-lines-renderer.c"
}


static void gitg_diff_view_lines_renderer_hunk_info_free (GitgDiffViewLinesRendererHunkInfo* self) {
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gitg_diff_view_lines_renderer_hunk_info_destroy (self);
#line 34 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_free (self);
#line 1391 "gitg-diff-view-lines-renderer.c"
}


static GType gitg_diff_view_lines_renderer_hunk_info_get_type (void) {
	static volatile gsize gitg_diff_view_lines_renderer_hunk_info_type_id__volatile = 0;
	if (g_once_init_enter (&gitg_diff_view_lines_renderer_hunk_info_type_id__volatile)) {
		GType gitg_diff_view_lines_renderer_hunk_info_type_id;
		gitg_diff_view_lines_renderer_hunk_info_type_id = g_boxed_type_register_static ("GitgDiffViewLinesRendererHunkInfo", (GBoxedCopyFunc) gitg_diff_view_lines_renderer_hunk_info_dup, (GBoxedFreeFunc) gitg_diff_view_lines_renderer_hunk_info_free);
		g_once_init_leave (&gitg_diff_view_lines_renderer_hunk_info_type_id__volatile, gitg_diff_view_lines_renderer_hunk_info_type_id);
	}
	return gitg_diff_view_lines_renderer_hunk_info_type_id__volatile;
}


static void gitg_diff_view_lines_renderer_class_init (GitgDiffViewLinesRendererClass * klass) {
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	gitg_diff_view_lines_renderer_parent_class = g_type_class_peek_parent (klass);
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_type_class_add_private (klass, sizeof (GitgDiffViewLinesRendererPrivate));
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	((GtkSourceGutterRendererClass *) klass)->query_data = gitg_diff_view_lines_renderer_real_query_data;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	((GtkSourceGutterRendererClass *) klass)->change_view = gitg_diff_view_lines_renderer_real_change_view;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_gitg_diff_view_lines_renderer_get_property;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_gitg_diff_view_lines_renderer_set_property;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	G_OBJECT_CLASS (klass)->constructor = gitg_diff_view_lines_renderer_constructor;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	G_OBJECT_CLASS (klass)->finalize = gitg_diff_view_lines_renderer_finalize;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_LINES_RENDERER_STYLE, g_param_spec_enum ("style", "style", "style", GITG_DIFF_VIEW_LINES_RENDERER_TYPE_STYLE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_LINES_RENDERER_MAXLINES, g_param_spec_int ("maxlines", "maxlines", "maxlines", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_LINES_RENDERER_BUFFER, g_param_spec_object ("buffer", "buffer", "buffer", gtk_text_buffer_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 1429 "gitg-diff-view-lines-renderer.c"
}


static void gitg_diff_view_lines_renderer_instance_init (GitgDiffViewLinesRenderer * self) {
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	self->priv = GITG_DIFF_VIEW_LINES_RENDERER_GET_PRIVATE (self);
#line 1436 "gitg-diff-view-lines-renderer.c"
}


static void gitg_diff_view_lines_renderer_finalize (GObject* obj) {
	GitgDiffViewLinesRenderer * self;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GITG_TYPE_DIFF_VIEW_LINES_RENDERER, GitgDiffViewLinesRenderer);
#line 29 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_g_free0 (self->priv->d_num_digits_fmts);
#line 30 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_g_free0 (self->priv->d_num_digits_fill);
#line 43 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	_g_object_unref0 (self->priv->d_hunks_list);
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	G_OBJECT_CLASS (gitg_diff_view_lines_renderer_parent_class)->finalize (obj);
#line 1452 "gitg-diff-view-lines-renderer.c"
}


GType gitg_diff_view_lines_renderer_get_type (void) {
	static volatile gsize gitg_diff_view_lines_renderer_type_id__volatile = 0;
	if (g_once_init_enter (&gitg_diff_view_lines_renderer_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GitgDiffViewLinesRendererClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gitg_diff_view_lines_renderer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GitgDiffViewLinesRenderer), 0, (GInstanceInitFunc) gitg_diff_view_lines_renderer_instance_init, NULL };
		GType gitg_diff_view_lines_renderer_type_id;
		gitg_diff_view_lines_renderer_type_id = g_type_register_static (gtk_source_gutter_renderer_text_get_type (), "GitgDiffViewLinesRenderer", &g_define_type_info, 0);
		g_once_init_leave (&gitg_diff_view_lines_renderer_type_id__volatile, gitg_diff_view_lines_renderer_type_id);
	}
	return gitg_diff_view_lines_renderer_type_id__volatile;
}


static void _vala_gitg_diff_view_lines_renderer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GitgDiffViewLinesRenderer * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GITG_TYPE_DIFF_VIEW_LINES_RENDERER, GitgDiffViewLinesRenderer);
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	switch (property_id) {
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		case GITG_DIFF_VIEW_LINES_RENDERER_STYLE:
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		g_value_set_enum (value, gitg_diff_view_lines_renderer_get_style (self));
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		break;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		case GITG_DIFF_VIEW_LINES_RENDERER_MAXLINES:
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		g_value_set_int (value, gitg_diff_view_lines_renderer_get_maxlines (self));
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		break;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		case GITG_DIFF_VIEW_LINES_RENDERER_BUFFER:
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		g_value_set_object (value, gitg_diff_view_lines_renderer_get_buffer (self));
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		break;
#line 1491 "gitg-diff-view-lines-renderer.c"
		default:
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		break;
#line 1497 "gitg-diff-view-lines-renderer.c"
	}
}


static void _vala_gitg_diff_view_lines_renderer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GitgDiffViewLinesRenderer * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GITG_TYPE_DIFF_VIEW_LINES_RENDERER, GitgDiffViewLinesRenderer);
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
	switch (property_id) {
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		case GITG_DIFF_VIEW_LINES_RENDERER_STYLE:
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		gitg_diff_view_lines_renderer_set_style (self, g_value_get_enum (value));
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		break;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		case GITG_DIFF_VIEW_LINES_RENDERER_MAXLINES:
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		gitg_diff_view_lines_renderer_set_maxlines (self, g_value_get_int (value));
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		break;
#line 1519 "gitg-diff-view-lines-renderer.c"
		default:
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-view-lines-renderer.vala"
		break;
#line 1525 "gitg-diff-view-lines-renderer.c"
	}
}


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);
}



