#diff -Naur vala-0.18.1.orig/vala/valagirparser.vala vala-0.18.1/vala/valagirparser.vala
#--- vala-0.18.1.orig/vala/valagirparser.vala	2013-07-22 10:01:34.204087032 +0200
#+++ vala-0.18.1/vala/valagirparser.vala	2013-07-22 10:02:26.399087473 +0200
#@@ -2896,6 +2896,11 @@
# 			next ();
# 
# 			while (current_token == MarkupTokenType.START_ELEMENT) {
#+				if (reader.name == "instance-parameter") {
#+					skip_element ();
#+					continue;
#+				}
#+
# 				if (!push_metadata ()) {
# 					skip_element ();
# 					continue;
diff -Naur vala-0.18.1.orig/vala/valagirparser.c vala-0.18.1/vala/valagirparser.c
--- vala-0.18.1.orig/vala/valagirparser.c	2013-07-22 10:01:34.205087032 +0200
+++ vala-0.18.1/vala/valagirparser.c	2013-07-22 10:05:47.096089167 +0200
@@ -9459,13 +9459,13 @@
 	gboolean _tmp237_ = FALSE;
 	ValaMarkupTokenType _tmp238_;
 	gboolean _tmp242_;
-	ValaGirParserNode* _tmp311_;
-	ValaArrayList* _tmp312_;
-	ValaList* _tmp313_;
-	gboolean _tmp344_ = FALSE;
-	const gchar* _tmp345_;
-	gboolean _tmp347_;
-	const gchar* _tmp358_;
+	ValaGirParserNode* _tmp314_;
+	ValaArrayList* _tmp315_;
+	ValaList* _tmp316_;
+	gboolean _tmp347_ = FALSE;
+	const gchar* _tmp348_;
+	gboolean _tmp350_;
+	const gchar* _tmp361_;
 	g_return_if_fail (self != NULL);
 	g_return_if_fail (element_name != NULL);
 	_tmp0_ = element_name;
@@ -10140,202 +10140,212 @@
 		vala_gir_parser_next (self);
 		while (TRUE) {
 			ValaMarkupTokenType _tmp243_;
-			gboolean _tmp244_ = FALSE;
+			ValaMarkupReader* _tmp244_;
+			const gchar* _tmp245_;
+			const gchar* _tmp246_;
+			gboolean _tmp247_ = FALSE;
 			gint array_length_idx = 0;
 			gint closure_idx = 0;
 			gint destroy_idx = 0;
 			gchar* scope = NULL;
 			gchar* default_param_name;
 			ValaComment* param_comment = NULL;
-			ValaArrayList* _tmp245_;
-			gint _tmp246_;
-			gint _tmp247_;
-			gchar* _tmp248_ = NULL;
-			const gchar* _tmp249_;
-			gint _tmp250_ = 0;
-			gint _tmp251_ = 0;
-			gint _tmp252_ = 0;
-			gchar* _tmp253_ = NULL;
-			ValaComment* _tmp254_ = NULL;
-			ValaParameter* _tmp255_ = NULL;
+			ValaArrayList* _tmp248_;
+			gint _tmp249_;
+			gint _tmp250_;
+			gchar* _tmp251_ = NULL;
+			const gchar* _tmp252_;
+			gint _tmp253_ = 0;
+			gint _tmp254_ = 0;
+			gint _tmp255_ = 0;
+			gchar* _tmp256_ = NULL;
+			ValaComment* _tmp257_ = NULL;
+			ValaParameter* _tmp258_ = NULL;
 			ValaParameter* param;
-			gint _tmp256_;
-			gint _tmp260_;
-			gint _tmp264_;
-			ValaComment* _tmp268_;
-			ValaParameter* _tmp286_;
-			gint _tmp287_;
-			gint _tmp288_;
-			gint _tmp289_;
-			ValaGirParserParameterInfo* _tmp290_;
+			gint _tmp259_;
+			gint _tmp263_;
+			gint _tmp267_;
+			ValaComment* _tmp271_;
+			ValaParameter* _tmp289_;
+			gint _tmp290_;
+			gint _tmp291_;
+			gint _tmp292_;
+			ValaGirParserParameterInfo* _tmp293_;
 			ValaGirParserParameterInfo* info;
-			gboolean _tmp291_ = FALSE;
-			ValaSymbol* _tmp292_;
-			gboolean _tmp294_;
-			ValaArrayList* _tmp309_;
-			ValaGirParserParameterInfo* _tmp310_;
+			gboolean _tmp294_ = FALSE;
+			ValaSymbol* _tmp295_;
+			gboolean _tmp297_;
+			ValaArrayList* _tmp312_;
+			ValaGirParserParameterInfo* _tmp313_;
 			_tmp243_ = self->priv->current_token;
 			if (!(_tmp243_ == VALA_MARKUP_TOKEN_TYPE_START_ELEMENT)) {
 				break;
 			}
-			_tmp244_ = vala_gir_parser_push_metadata (self);
-			if (!_tmp244_) {
+			_tmp244_ = self->priv->reader;
+			_tmp245_ = vala_markup_reader_get_name (_tmp244_);
+			_tmp246_ = _tmp245_;
+			if (g_strcmp0 (_tmp246_, "instance-parameter") == 0) {
+				vala_gir_parser_skip_element (self);
+				continue;
+			}
+			_tmp247_ = vala_gir_parser_push_metadata (self);
+			if (!_tmp247_) {
 				vala_gir_parser_skip_element (self);
 				continue;
 			}
 			default_param_name = NULL;
-			_tmp245_ = parameters;
-			_tmp246_ = vala_collection_get_size ((ValaCollection*) _tmp245_);
-			_tmp247_ = _tmp246_;
-			_tmp248_ = g_strdup_printf ("arg%d", _tmp247_);
+			_tmp248_ = parameters;
+			_tmp249_ = vala_collection_get_size ((ValaCollection*) _tmp248_);
+			_tmp250_ = _tmp249_;
+			_tmp251_ = g_strdup_printf ("arg%d", _tmp250_);
 			_g_free0 (default_param_name);
-			default_param_name = _tmp248_;
-			_tmp249_ = default_param_name;
-			_tmp255_ = vala_gir_parser_parse_parameter (self, &_tmp250_, &_tmp251_, &_tmp252_, &_tmp253_, &_tmp254_, _tmp249_);
-			array_length_idx = _tmp250_;
-			closure_idx = _tmp251_;
-			destroy_idx = _tmp252_;
+			default_param_name = _tmp251_;
+			_tmp252_ = default_param_name;
+			_tmp258_ = vala_gir_parser_parse_parameter (self, &_tmp253_, &_tmp254_, &_tmp255_, &_tmp256_, &_tmp257_, _tmp252_);
+			array_length_idx = _tmp253_;
+			closure_idx = _tmp254_;
+			destroy_idx = _tmp255_;
 			_g_free0 (scope);
-			scope = _tmp253_;
+			scope = _tmp256_;
 			_vala_comment_unref0 (param_comment);
-			param_comment = _tmp254_;
-			param = _tmp255_;
-			_tmp256_ = array_length_idx;
-			if (_tmp256_ != (-1)) {
-				ValaGirParserNode* _tmp257_;
-				ValaArrayList* _tmp258_;
-				gint _tmp259_;
-				_tmp257_ = self->priv->current;
-				_tmp258_ = _tmp257_->array_length_parameters;
-				_tmp259_ = array_length_idx;
-				vala_collection_add ((ValaCollection*) _tmp258_, (gpointer) ((gintptr) _tmp259_));
-			}
-			_tmp260_ = closure_idx;
-			if (_tmp260_ != (-1)) {
-				ValaGirParserNode* _tmp261_;
-				ValaArrayList* _tmp262_;
-				gint _tmp263_;
-				_tmp261_ = self->priv->current;
-				_tmp262_ = _tmp261_->closure_parameters;
-				_tmp263_ = closure_idx;
-				vala_collection_add ((ValaCollection*) _tmp262_, (gpointer) ((gintptr) _tmp263_));
-			}
-			_tmp264_ = destroy_idx;
-			if (_tmp264_ != (-1)) {
-				ValaGirParserNode* _tmp265_;
-				ValaArrayList* _tmp266_;
-				gint _tmp267_;
-				_tmp265_ = self->priv->current;
-				_tmp266_ = _tmp265_->destroy_parameters;
-				_tmp267_ = destroy_idx;
-				vala_collection_add ((ValaCollection*) _tmp266_, (gpointer) ((gintptr) _tmp267_));
-			}
-			_tmp268_ = param_comment;
-			if (_tmp268_ != NULL) {
-				ValaGirComment* _tmp269_;
-				const gchar* _tmp276_ = NULL;
-				ValaParameter* _tmp277_;
-				gboolean _tmp278_;
-				gboolean _tmp279_;
-				ValaGirComment* _tmp283_;
-				const gchar* _tmp284_;
-				ValaComment* _tmp285_;
-				_tmp269_ = comment;
-				if (_tmp269_ == NULL) {
-					ValaSymbol* _tmp270_;
-					ValaSourceReference* _tmp271_;
-					ValaSourceReference* _tmp272_;
-					ValaGirComment* _tmp273_;
-					ValaSymbol* _tmp274_;
-					ValaGirComment* _tmp275_;
-					_tmp270_ = s;
-					_tmp271_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp270_);
-					_tmp272_ = _tmp271_;
-					_tmp273_ = vala_gir_comment_new (NULL, _tmp272_);
+			param_comment = _tmp257_;
+			param = _tmp258_;
+			_tmp259_ = array_length_idx;
+			if (_tmp259_ != (-1)) {
+				ValaGirParserNode* _tmp260_;
+				ValaArrayList* _tmp261_;
+				gint _tmp262_;
+				_tmp260_ = self->priv->current;
+				_tmp261_ = _tmp260_->array_length_parameters;
+				_tmp262_ = array_length_idx;
+				vala_collection_add ((ValaCollection*) _tmp261_, (gpointer) ((gintptr) _tmp262_));
+			}
+			_tmp263_ = closure_idx;
+			if (_tmp263_ != (-1)) {
+				ValaGirParserNode* _tmp264_;
+				ValaArrayList* _tmp265_;
+				gint _tmp266_;
+				_tmp264_ = self->priv->current;
+				_tmp265_ = _tmp264_->closure_parameters;
+				_tmp266_ = closure_idx;
+				vala_collection_add ((ValaCollection*) _tmp265_, (gpointer) ((gintptr) _tmp266_));
+			}
+			_tmp267_ = destroy_idx;
+			if (_tmp267_ != (-1)) {
+				ValaGirParserNode* _tmp268_;
+				ValaArrayList* _tmp269_;
+				gint _tmp270_;
+				_tmp268_ = self->priv->current;
+				_tmp269_ = _tmp268_->destroy_parameters;
+				_tmp270_ = destroy_idx;
+				vala_collection_add ((ValaCollection*) _tmp269_, (gpointer) ((gintptr) _tmp270_));
+			}
+			_tmp271_ = param_comment;
+			if (_tmp271_ != NULL) {
+				ValaGirComment* _tmp272_;
+				const gchar* _tmp279_ = NULL;
+				ValaParameter* _tmp280_;
+				gboolean _tmp281_;
+				gboolean _tmp282_;
+				ValaGirComment* _tmp286_;
+				const gchar* _tmp287_;
+				ValaComment* _tmp288_;
+				_tmp272_ = comment;
+				if (_tmp272_ == NULL) {
+					ValaSymbol* _tmp273_;
+					ValaSourceReference* _tmp274_;
+					ValaSourceReference* _tmp275_;
+					ValaGirComment* _tmp276_;
+					ValaSymbol* _tmp277_;
+					ValaGirComment* _tmp278_;
+					_tmp273_ = s;
+					_tmp274_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp273_);
+					_tmp275_ = _tmp274_;
+					_tmp276_ = vala_gir_comment_new (NULL, _tmp275_);
 					_vala_comment_unref0 (comment);
-					comment = _tmp273_;
-					_tmp274_ = s;
-					_tmp275_ = comment;
-					vala_symbol_set_comment (_tmp274_, (ValaComment*) _tmp275_);
+					comment = _tmp276_;
+					_tmp277_ = s;
+					_tmp278_ = comment;
+					vala_symbol_set_comment (_tmp277_, (ValaComment*) _tmp278_);
 				}
-				_tmp277_ = param;
-				_tmp278_ = vala_parameter_get_ellipsis (_tmp277_);
-				_tmp279_ = _tmp278_;
-				if (_tmp279_) {
-					_tmp276_ = "...";
+				_tmp280_ = param;
+				_tmp281_ = vala_parameter_get_ellipsis (_tmp280_);
+				_tmp282_ = _tmp281_;
+				if (_tmp282_) {
+					_tmp279_ = "...";
 				} else {
-					ValaParameter* _tmp280_;
-					const gchar* _tmp281_;
-					const gchar* _tmp282_;
-					_tmp280_ = param;
-					_tmp281_ = vala_symbol_get_name ((ValaSymbol*) _tmp280_);
-					_tmp282_ = _tmp281_;
-					_tmp276_ = _tmp282_;
+					ValaParameter* _tmp283_;
+					const gchar* _tmp284_;
+					const gchar* _tmp285_;
+					_tmp283_ = param;
+					_tmp284_ = vala_symbol_get_name ((ValaSymbol*) _tmp283_);
+					_tmp285_ = _tmp284_;
+					_tmp279_ = _tmp285_;
 				}
-				_tmp283_ = comment;
-				_tmp284_ = _tmp276_;
-				_tmp285_ = param_comment;
-				vala_gir_comment_add_content_for_parameter (_tmp283_, _tmp284_, _tmp285_);
-			}
-			_tmp286_ = param;
-			_tmp287_ = array_length_idx;
-			_tmp288_ = closure_idx;
-			_tmp289_ = destroy_idx;
-			_tmp290_ = vala_gir_parser_parameter_info_new (_tmp286_, _tmp287_, _tmp288_, _tmp289_);
-			info = _tmp290_;
-			_tmp292_ = s;
-			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp292_, VALA_TYPE_METHOD)) {
-				const gchar* _tmp293_;
-				_tmp293_ = scope;
-				_tmp291_ = g_strcmp0 (_tmp293_, "async") == 0;
+				_tmp286_ = comment;
+				_tmp287_ = _tmp279_;
+				_tmp288_ = param_comment;
+				vala_gir_comment_add_content_for_parameter (_tmp286_, _tmp287_, _tmp288_);
+			}
+			_tmp289_ = param;
+			_tmp290_ = array_length_idx;
+			_tmp291_ = closure_idx;
+			_tmp292_ = destroy_idx;
+			_tmp293_ = vala_gir_parser_parameter_info_new (_tmp289_, _tmp290_, _tmp291_, _tmp292_);
+			info = _tmp293_;
+			_tmp295_ = s;
+			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp295_, VALA_TYPE_METHOD)) {
+				const gchar* _tmp296_;
+				_tmp296_ = scope;
+				_tmp294_ = g_strcmp0 (_tmp296_, "async") == 0;
 			} else {
-				_tmp291_ = FALSE;
+				_tmp294_ = FALSE;
 			}
-			_tmp294_ = _tmp291_;
-			if (_tmp294_) {
-				ValaParameter* _tmp295_;
-				ValaDataType* _tmp296_;
-				ValaDataType* _tmp297_;
-				ValaUnresolvedType* _tmp298_;
+			_tmp297_ = _tmp294_;
+			if (_tmp297_) {
+				ValaParameter* _tmp298_;
+				ValaDataType* _tmp299_;
+				ValaDataType* _tmp300_;
+				ValaUnresolvedType* _tmp301_;
 				ValaUnresolvedType* unresolved_type;
-				gboolean _tmp299_ = FALSE;
-				ValaUnresolvedType* _tmp300_;
-				gboolean _tmp306_;
-				_tmp295_ = param;
-				_tmp296_ = vala_variable_get_variable_type ((ValaVariable*) _tmp295_);
-				_tmp297_ = _tmp296_;
-				_tmp298_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp297_, VALA_TYPE_UNRESOLVED_TYPE) ? ((ValaUnresolvedType*) _tmp297_) : NULL);
-				unresolved_type = _tmp298_;
-				_tmp300_ = unresolved_type;
-				if (_tmp300_ != NULL) {
-					ValaUnresolvedType* _tmp301_;
-					ValaUnresolvedSymbol* _tmp302_;
-					ValaUnresolvedSymbol* _tmp303_;
-					const gchar* _tmp304_;
-					const gchar* _tmp305_;
-					_tmp301_ = unresolved_type;
-					_tmp302_ = vala_unresolved_type_get_unresolved_symbol (_tmp301_);
-					_tmp303_ = _tmp302_;
-					_tmp304_ = vala_symbol_get_name ((ValaSymbol*) _tmp303_);
-					_tmp305_ = _tmp304_;
-					_tmp299_ = g_strcmp0 (_tmp305_, "AsyncReadyCallback") == 0;
+				gboolean _tmp302_ = FALSE;
+				ValaUnresolvedType* _tmp303_;
+				gboolean _tmp309_;
+				_tmp298_ = param;
+				_tmp299_ = vala_variable_get_variable_type ((ValaVariable*) _tmp298_);
+				_tmp300_ = _tmp299_;
+				_tmp301_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp300_, VALA_TYPE_UNRESOLVED_TYPE) ? ((ValaUnresolvedType*) _tmp300_) : NULL);
+				unresolved_type = _tmp301_;
+				_tmp303_ = unresolved_type;
+				if (_tmp303_ != NULL) {
+					ValaUnresolvedType* _tmp304_;
+					ValaUnresolvedSymbol* _tmp305_;
+					ValaUnresolvedSymbol* _tmp306_;
+					const gchar* _tmp307_;
+					const gchar* _tmp308_;
+					_tmp304_ = unresolved_type;
+					_tmp305_ = vala_unresolved_type_get_unresolved_symbol (_tmp304_);
+					_tmp306_ = _tmp305_;
+					_tmp307_ = vala_symbol_get_name ((ValaSymbol*) _tmp306_);
+					_tmp308_ = _tmp307_;
+					_tmp302_ = g_strcmp0 (_tmp308_, "AsyncReadyCallback") == 0;
 				} else {
-					_tmp299_ = FALSE;
+					_tmp302_ = FALSE;
 				}
-				_tmp306_ = _tmp299_;
-				if (_tmp306_) {
-					ValaSymbol* _tmp307_;
-					ValaGirParserParameterInfo* _tmp308_;
-					_tmp307_ = s;
-					vala_method_set_coroutine (G_TYPE_CHECK_INSTANCE_CAST (_tmp307_, VALA_TYPE_METHOD, ValaMethod), TRUE);
-					_tmp308_ = info;
-					_tmp308_->keep = FALSE;
+				_tmp309_ = _tmp302_;
+				if (_tmp309_) {
+					ValaSymbol* _tmp310_;
+					ValaGirParserParameterInfo* _tmp311_;
+					_tmp310_ = s;
+					vala_method_set_coroutine (G_TYPE_CHECK_INSTANCE_CAST (_tmp310_, VALA_TYPE_METHOD, ValaMethod), TRUE);
+					_tmp311_ = info;
+					_tmp311_->keep = FALSE;
 				}
 				_vala_code_node_unref0 (unresolved_type);
 			}
-			_tmp309_ = parameters;
-			_tmp310_ = info;
-			vala_collection_add ((ValaCollection*) _tmp309_, _tmp310_);
+			_tmp312_ = parameters;
+			_tmp313_ = info;
+			vala_collection_add ((ValaCollection*) _tmp312_, _tmp313_);
 			vala_gir_parser_pop_metadata (self);
 			_vala_gir_parser_parameter_info_unref0 (info);
 			_vala_code_node_unref0 (param);
@@ -10345,95 +10355,95 @@
 		}
 		vala_gir_parser_end_element (self, "parameters");
 	}
-	_tmp311_ = self->priv->current;
-	_tmp312_ = parameters;
-	_tmp313_ = _vala_iterable_ref0 ((ValaList*) _tmp312_);
-	_vala_iterable_unref0 (_tmp311_->parameters);
-	_tmp311_->parameters = _tmp313_;
+	_tmp314_ = self->priv->current;
+	_tmp315_ = parameters;
+	_tmp316_ = _vala_iterable_ref0 ((ValaList*) _tmp315_);
+	_vala_iterable_unref0 (_tmp314_->parameters);
+	_tmp314_->parameters = _tmp316_;
 	{
-		ValaArrayList* _tmp314_;
-		gint _tmp315_;
-		gint _tmp316_;
+		ValaArrayList* _tmp317_;
+		gint _tmp318_;
+		gint _tmp319_;
 		gint param_n;
-		_tmp314_ = parameters;
-		_tmp315_ = vala_collection_get_size ((ValaCollection*) _tmp314_);
-		_tmp316_ = _tmp315_;
-		param_n = _tmp316_ - 1;
+		_tmp317_ = parameters;
+		_tmp318_ = vala_collection_get_size ((ValaCollection*) _tmp317_);
+		_tmp319_ = _tmp318_;
+		param_n = _tmp319_ - 1;
 		{
-			gboolean _tmp317_;
-			_tmp317_ = TRUE;
+			gboolean _tmp320_;
+			_tmp320_ = TRUE;
 			while (TRUE) {
-				gboolean _tmp318_;
-				gint _tmp320_;
-				ValaArrayList* _tmp321_;
-				gint _tmp322_;
-				gpointer _tmp323_ = NULL;
+				gboolean _tmp321_;
+				gint _tmp323_;
+				ValaArrayList* _tmp324_;
+				gint _tmp325_;
+				gpointer _tmp326_ = NULL;
 				ValaGirParserParameterInfo* pi;
-				gboolean _tmp324_ = FALSE;
-				ValaGirParserParameterInfo* _tmp325_;
-				ValaParameter* _tmp326_;
-				gboolean _tmp327_;
-				gboolean _tmp328_;
-				gboolean _tmp333_;
-				_tmp318_ = _tmp317_;
-				if (!_tmp318_) {
-					gint _tmp319_;
-					_tmp319_ = param_n;
-					param_n = _tmp319_ - 1;
+				gboolean _tmp327_ = FALSE;
+				ValaGirParserParameterInfo* _tmp328_;
+				ValaParameter* _tmp329_;
+				gboolean _tmp330_;
+				gboolean _tmp331_;
+				gboolean _tmp336_;
+				_tmp321_ = _tmp320_;
+				if (!_tmp321_) {
+					gint _tmp322_;
+					_tmp322_ = param_n;
+					param_n = _tmp322_ - 1;
 				}
-				_tmp317_ = FALSE;
-				_tmp320_ = param_n;
-				if (!(_tmp320_ >= 0)) {
+				_tmp320_ = FALSE;
+				_tmp323_ = param_n;
+				if (!(_tmp323_ >= 0)) {
 					break;
 				}
-				_tmp321_ = parameters;
-				_tmp322_ = param_n;
-				_tmp323_ = vala_list_get ((ValaList*) _tmp321_, _tmp322_);
-				pi = (ValaGirParserParameterInfo*) _tmp323_;
-				_tmp325_ = pi;
-				_tmp326_ = _tmp325_->param;
-				_tmp327_ = vala_parameter_get_ellipsis (_tmp326_);
-				_tmp328_ = _tmp327_;
-				if (!_tmp328_) {
-					ValaGirParserParameterInfo* _tmp329_;
-					ValaParameter* _tmp330_;
-					ValaExpression* _tmp331_;
-					ValaExpression* _tmp332_;
-					_tmp329_ = pi;
-					_tmp330_ = _tmp329_->param;
-					_tmp331_ = vala_variable_get_initializer ((ValaVariable*) _tmp330_);
-					_tmp332_ = _tmp331_;
-					_tmp324_ = _tmp332_ == NULL;
+				_tmp324_ = parameters;
+				_tmp325_ = param_n;
+				_tmp326_ = vala_list_get ((ValaList*) _tmp324_, _tmp325_);
+				pi = (ValaGirParserParameterInfo*) _tmp326_;
+				_tmp328_ = pi;
+				_tmp329_ = _tmp328_->param;
+				_tmp330_ = vala_parameter_get_ellipsis (_tmp329_);
+				_tmp331_ = _tmp330_;
+				if (!_tmp331_) {
+					ValaGirParserParameterInfo* _tmp332_;
+					ValaParameter* _tmp333_;
+					ValaExpression* _tmp334_;
+					ValaExpression* _tmp335_;
+					_tmp332_ = pi;
+					_tmp333_ = _tmp332_->param;
+					_tmp334_ = vala_variable_get_initializer ((ValaVariable*) _tmp333_);
+					_tmp335_ = _tmp334_;
+					_tmp327_ = _tmp335_ == NULL;
 				} else {
-					_tmp324_ = FALSE;
+					_tmp327_ = FALSE;
 				}
-				_tmp333_ = _tmp324_;
-				if (_tmp333_) {
-					ValaGirParserParameterInfo* _tmp334_;
-					ValaParameter* _tmp335_;
-					ValaDataType* _tmp336_;
-					ValaDataType* _tmp337_;
-					gchar* _tmp338_ = NULL;
+				_tmp336_ = _tmp327_;
+				if (_tmp336_) {
+					ValaGirParserParameterInfo* _tmp337_;
+					ValaParameter* _tmp338_;
+					ValaDataType* _tmp339_;
+					ValaDataType* _tmp340_;
+					gchar* _tmp341_ = NULL;
 					gchar* type_string;
-					const gchar* _tmp339_;
-					_tmp334_ = pi;
-					_tmp335_ = _tmp334_->param;
-					_tmp336_ = vala_variable_get_variable_type ((ValaVariable*) _tmp335_);
-					_tmp337_ = _tmp336_;
-					_tmp338_ = vala_code_node_to_string ((ValaCodeNode*) _tmp337_);
-					type_string = _tmp338_;
-					_tmp339_ = type_string;
-					if (g_strcmp0 (_tmp339_, "Gio.Cancellable?") == 0) {
-						ValaGirParserParameterInfo* _tmp340_;
-						ValaParameter* _tmp341_;
-						ValaNullLiteral* _tmp342_;
-						ValaNullLiteral* _tmp343_;
-						_tmp340_ = pi;
-						_tmp341_ = _tmp340_->param;
-						_tmp342_ = vala_null_literal_new (NULL);
-						_tmp343_ = _tmp342_;
-						vala_variable_set_initializer ((ValaVariable*) _tmp341_, (ValaExpression*) _tmp343_);
-						_vala_code_node_unref0 (_tmp343_);
+					const gchar* _tmp342_;
+					_tmp337_ = pi;
+					_tmp338_ = _tmp337_->param;
+					_tmp339_ = vala_variable_get_variable_type ((ValaVariable*) _tmp338_);
+					_tmp340_ = _tmp339_;
+					_tmp341_ = vala_code_node_to_string ((ValaCodeNode*) _tmp340_);
+					type_string = _tmp341_;
+					_tmp342_ = type_string;
+					if (g_strcmp0 (_tmp342_, "Gio.Cancellable?") == 0) {
+						ValaGirParserParameterInfo* _tmp343_;
+						ValaParameter* _tmp344_;
+						ValaNullLiteral* _tmp345_;
+						ValaNullLiteral* _tmp346_;
+						_tmp343_ = pi;
+						_tmp344_ = _tmp343_->param;
+						_tmp345_ = vala_null_literal_new (NULL);
+						_tmp346_ = _tmp345_;
+						vala_variable_set_initializer ((ValaVariable*) _tmp344_, (ValaExpression*) _tmp346_);
+						_vala_code_node_unref0 (_tmp346_);
 					} else {
 						_g_free0 (type_string);
 						_vala_gir_parser_parameter_info_unref0 (pi);
@@ -10445,49 +10455,49 @@
 			}
 		}
 	}
-	_tmp345_ = element_name;
-	if (g_strcmp0 (_tmp345_, "function") == 0) {
-		const gchar* _tmp346_;
-		_tmp346_ = symbol_type;
-		_tmp344_ = g_strcmp0 (_tmp346_, "method") == 0;
+	_tmp348_ = element_name;
+	if (g_strcmp0 (_tmp348_, "function") == 0) {
+		const gchar* _tmp349_;
+		_tmp349_ = symbol_type;
+		_tmp347_ = g_strcmp0 (_tmp349_, "method") == 0;
 	} else {
-		_tmp344_ = FALSE;
+		_tmp347_ = FALSE;
 	}
-	_tmp347_ = _tmp344_;
-	if (_tmp347_) {
-		ValaGirParserMetadata* _tmp348_;
-		gboolean _tmp349_ = FALSE;
-		_tmp348_ = self->priv->metadata;
-		_tmp349_ = vala_gir_parser_metadata_has_argument (_tmp348_, VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX);
-		if (_tmp349_) {
-			ValaGirParserMetadata* _tmp350_;
-			gint _tmp351_ = 0;
+	_tmp350_ = _tmp347_;
+	if (_tmp350_) {
+		ValaGirParserMetadata* _tmp351_;
+		gboolean _tmp352_ = FALSE;
+		_tmp351_ = self->priv->metadata;
+		_tmp352_ = vala_gir_parser_metadata_has_argument (_tmp351_, VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX);
+		if (_tmp352_) {
+			ValaGirParserMetadata* _tmp353_;
+			gint _tmp354_ = 0;
 			gint instance_pos;
-			ValaSymbol* _tmp352_;
-			gint _tmp353_;
-			ValaArrayList* _tmp354_;
-			gint _tmp355_;
-			_tmp350_ = self->priv->metadata;
-			_tmp351_ = vala_gir_parser_metadata_get_integer (_tmp350_, VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX);
-			instance_pos = _tmp351_;
-			_tmp352_ = s;
-			_tmp353_ = instance_pos;
-			vala_code_node_set_attribute_double ((ValaCodeNode*) _tmp352_, "CCode", "instance_pos", _tmp353_ + 0.5, NULL);
-			_tmp354_ = parameters;
-			_tmp355_ = instance_pos;
-			vala_list_remove_at ((ValaList*) _tmp354_, _tmp355_);
+			ValaSymbol* _tmp355_;
+			gint _tmp356_;
+			ValaArrayList* _tmp357_;
+			gint _tmp358_;
+			_tmp353_ = self->priv->metadata;
+			_tmp354_ = vala_gir_parser_metadata_get_integer (_tmp353_, VALA_GIR_PARSER_ARGUMENT_TYPE_INSTANCE_IDX);
+			instance_pos = _tmp354_;
+			_tmp355_ = s;
+			_tmp356_ = instance_pos;
+			vala_code_node_set_attribute_double ((ValaCodeNode*) _tmp355_, "CCode", "instance_pos", _tmp356_ + 0.5, NULL);
+			_tmp357_ = parameters;
+			_tmp358_ = instance_pos;
+			vala_list_remove_at ((ValaList*) _tmp357_, _tmp358_);
 		} else {
-			ValaSourceReference* _tmp356_ = NULL;
-			ValaSourceReference* _tmp357_;
-			_tmp356_ = vala_gir_parser_get_current_src (self);
-			_tmp357_ = _tmp356_;
-			vala_report_error (_tmp357_, "instance_idx required when converting function to method");
-			_vala_source_reference_unref0 (_tmp357_);
+			ValaSourceReference* _tmp359_ = NULL;
+			ValaSourceReference* _tmp360_;
+			_tmp359_ = vala_gir_parser_get_current_src (self);
+			_tmp360_ = _tmp359_;
+			vala_report_error (_tmp360_, "instance_idx required when converting function to method");
+			_vala_source_reference_unref0 (_tmp360_);
 		}
 	}
 	vala_gir_parser_pop_node (self);
-	_tmp358_ = element_name;
-	vala_gir_parser_end_element (self, _tmp358_);
+	_tmp361_ = element_name;
+	vala_gir_parser_end_element (self, _tmp361_);
 	_vala_iterable_unref0 (parameters);
 	_vala_code_node_unref0 (s);
 	_g_free0 (return_ctype);