1
/* report.c generated by valac 0.14.0, the Vala compiler
2
* generated from report.vala, do not modify */
5
* Copyright (C) 2008-2009 Abderrahim Kitouni
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 2 of the License, or
10
* (at your option) any later version.
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
/* A Vala.Report subclass for reporting errors in Anjuta UI */
23
#include <glib-object.h>
25
#include <libanjuta/interfaces/libanjuta-interfaces.h>
32
#define TYPE_ANJUTA_REPORT (anjuta_report_get_type ())
33
#define ANJUTA_REPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ANJUTA_REPORT, AnjutaReport))
34
#define ANJUTA_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ANJUTA_REPORT, AnjutaReportClass))
35
#define IS_ANJUTA_REPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ANJUTA_REPORT))
36
#define IS_ANJUTA_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ANJUTA_REPORT))
37
#define ANJUTA_REPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ANJUTA_REPORT, AnjutaReportClass))
39
typedef struct _AnjutaReport AnjutaReport;
40
typedef struct _AnjutaReportClass AnjutaReportClass;
41
typedef struct _AnjutaReportPrivate AnjutaReportPrivate;
43
#define ANJUTA_REPORT_TYPE_ERROR (anjuta_report_error_get_type ())
44
typedef struct _AnjutaReportError AnjutaReportError;
45
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
46
#define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
47
#define _anjuta_report_error_free0(var) ((var == NULL) ? NULL : (var = (anjuta_report_error_free (var), NULL)))
48
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
49
#define _vala_source_reference_unref0(var) ((var == NULL) ? NULL : (var = (vala_source_reference_unref (var), NULL)))
50
#define _g_free0(var) (var = (g_free (var), NULL))
52
struct _AnjutaReport {
53
ValaReport parent_instance;
54
AnjutaReportPrivate * priv;
57
struct _AnjutaReportClass {
58
ValaReportClass parent_class;
61
struct _AnjutaReportError {
62
ValaSourceReference* source;
67
struct _AnjutaReportPrivate {
68
IAnjutaDocumentManager* _docman;
69
ValaList* errors_list;
70
GStaticRecMutex __lock_errors_list;
71
gboolean general_error;
75
static gpointer anjuta_report_parent_class = NULL;
76
static GType anjuta_report_type_id = 0;
78
GType anjuta_report_get_type (void) G_GNUC_CONST;
79
GType anjuta_report_register_type (GTypeModule * module);
80
static GType anjuta_report_error_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
81
static AnjutaReportError* anjuta_report_error_dup (const AnjutaReportError* self);
82
static void anjuta_report_error_free (AnjutaReportError* self);
83
static void anjuta_report_error_copy (const AnjutaReportError* self, AnjutaReportError* dest);
84
static void anjuta_report_error_destroy (AnjutaReportError* self);
85
#define ANJUTA_REPORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ANJUTA_REPORT, AnjutaReportPrivate))
87
ANJUTA_REPORT_DUMMY_PROPERTY,
90
void anjuta_report_update_errors (AnjutaReport* self, IAnjutaEditor* editor);
91
void anjuta_report_clear_error_indicators (AnjutaReport* self, ValaSourceFile* file);
92
IAnjutaDocumentManager* anjuta_report_get_docman (AnjutaReport* self);
93
static void anjuta_report_real_warn (ValaReport* base, ValaSourceReference* source, const gchar* message);
94
static void anjuta_report_real_err (ValaReport* base, ValaSourceReference* source, const gchar* message);
95
AnjutaReport* anjuta_report_new (void);
96
AnjutaReport* anjuta_report_construct (GType object_type);
97
void anjuta_report_set_docman (AnjutaReport* self, IAnjutaDocumentManager* value);
98
static void anjuta_report_finalize (GObject* obj);
99
static void _vala_anjuta_report_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
100
static void _vala_anjuta_report_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
103
static gpointer _g_object_ref0 (gpointer self) {
104
return self ? g_object_ref (self) : NULL;
108
static gpointer _vala_iterable_ref0 (gpointer self) {
109
return self ? vala_iterable_ref (self) : NULL;
113
void anjuta_report_update_errors (AnjutaReport* self, IAnjutaEditor* editor) {
114
IAnjutaEditor* _tmp0_;
115
IAnjutaIndicable* _tmp1_;
116
IAnjutaIndicable* ind;
117
IAnjutaEditor* _tmp2_;
118
IAnjutaMarkable* _tmp3_;
119
IAnjutaMarkable* mark;
120
gboolean _tmp4_ = FALSE;
121
IAnjutaIndicable* _tmp5_;
123
IAnjutaIndicable* _tmp8_;
124
IAnjutaMarkable* _tmp10_;
125
GError * _inner_error_ = NULL;
126
g_return_if_fail (self != NULL);
127
g_return_if_fail (editor != NULL);
129
_tmp1_ = _g_object_ref0 (IANJUTA_IS_INDICABLE (_tmp0_) ? ((IAnjutaIndicable*) _tmp0_) : NULL);
132
_tmp3_ = _g_object_ref0 (IANJUTA_IS_MARKABLE (_tmp2_) ? ((IAnjutaMarkable*) _tmp2_) : NULL);
135
if (_tmp5_ == NULL) {
136
IAnjutaMarkable* _tmp6_;
138
_tmp4_ = _tmp6_ == NULL;
144
_g_object_unref0 (mark);
145
_g_object_unref0 (ind);
149
if (_tmp8_ != NULL) {
150
IAnjutaIndicable* _tmp9_;
152
ianjuta_indicable_clear (_tmp9_, &_inner_error_);
153
if (_inner_error_ != NULL) {
154
_g_object_unref0 (mark);
155
_g_object_unref0 (ind);
156
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
157
g_clear_error (&_inner_error_);
162
if (_tmp10_ != NULL) {
163
IAnjutaMarkable* _tmp11_;
165
ianjuta_markable_delete_all_markers (_tmp11_, IANJUTA_MARKABLE_MESSAGE, &_inner_error_);
166
if (_inner_error_ != NULL) {
167
_g_object_unref0 (mark);
168
_g_object_unref0 (ind);
169
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
170
g_clear_error (&_inner_error_);
183
_tmp12_ = self->priv->errors_list;
184
_tmp13_ = _vala_iterable_ref0 (_tmp12_);
187
_tmp15_ = vala_collection_get_size ((ValaCollection*) _tmp14_);
197
gpointer _tmp22_ = NULL;
198
AnjutaReportError* e;
199
IAnjutaEditor* _tmp23_;
200
const gchar* _tmp24_ = NULL;
201
const gchar* _tmp25_;
202
AnjutaReportError* _tmp26_;
203
ValaSourceReference* _tmp27_;
204
ValaSourceFile* _tmp28_;
205
ValaSourceFile* _tmp29_;
206
const gchar* _tmp30_;
207
const gchar* _tmp31_;
208
gboolean _tmp32_ = FALSE;
210
_e_index = _tmp17_ + 1;
213
if (!(_tmp18_ < _tmp19_)) {
218
_tmp22_ = vala_list_get (_tmp20_, _tmp21_);
219
e = (AnjutaReportError*) _tmp22_;
221
_tmp24_ = ianjuta_document_get_filename (IANJUTA_DOCUMENT (_tmp23_), &_inner_error_);
223
if (_inner_error_ != NULL) {
224
_anjuta_report_error_free0 (e);
225
_vala_iterable_unref0 (_e_list);
226
_g_object_unref0 (mark);
227
_g_object_unref0 (ind);
228
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
229
g_clear_error (&_inner_error_);
233
_tmp27_ = (*_tmp26_).source;
234
_tmp28_ = vala_source_reference_get_file (_tmp27_);
236
_tmp30_ = vala_source_file_get_filename (_tmp29_);
238
_tmp32_ = g_str_has_suffix (_tmp31_, _tmp25_);
240
IAnjutaIndicable* _tmp33_;
241
IAnjutaEditor* _tmp71_;
243
if (_tmp33_ != NULL) {
244
IAnjutaEditor* _tmp34_;
245
AnjutaReportError* _tmp35_;
246
ValaSourceReference* _tmp36_;
249
IAnjutaIterable* _tmp39_ = NULL;
250
IAnjutaIterable* begin_iter;
251
IAnjutaEditor* _tmp49_;
252
AnjutaReportError* _tmp50_;
253
ValaSourceReference* _tmp51_;
256
IAnjutaIterable* _tmp54_ = NULL;
257
IAnjutaIterable* end_iter;
258
IAnjutaIndicableIndicator _tmp64_ = 0;
259
AnjutaReportError* _tmp65_;
261
IAnjutaIndicable* _tmp67_;
262
IAnjutaIterable* _tmp68_;
263
IAnjutaIterable* _tmp69_;
264
IAnjutaIndicableIndicator _tmp70_;
267
_tmp36_ = (*_tmp35_).source;
268
_tmp37_ = vala_source_reference_get_first_line (_tmp36_);
270
_tmp39_ = ianjuta_editor_get_line_begin_position (_tmp34_, _tmp38_, &_inner_error_);
271
begin_iter = _tmp39_;
272
if (_inner_error_ != NULL) {
273
_anjuta_report_error_free0 (e);
274
_vala_iterable_unref0 (_e_list);
275
_g_object_unref0 (mark);
276
_g_object_unref0 (ind);
277
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
278
g_clear_error (&_inner_error_);
290
AnjutaReportError* _tmp44_;
291
ValaSourceReference* _tmp45_;
294
IAnjutaIterable* _tmp48_;
304
_tmp45_ = (*_tmp44_).source;
305
_tmp46_ = vala_source_reference_get_first_column (_tmp45_);
307
if (!(_tmp43_ < _tmp47_)) {
310
_tmp48_ = begin_iter;
311
ianjuta_iterable_next (_tmp48_, &_inner_error_);
312
if (_inner_error_ != NULL) {
313
_g_object_unref0 (begin_iter);
314
_anjuta_report_error_free0 (e);
315
_vala_iterable_unref0 (_e_list);
316
_g_object_unref0 (mark);
317
_g_object_unref0 (ind);
318
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
319
g_clear_error (&_inner_error_);
327
_tmp51_ = (*_tmp50_).source;
328
_tmp52_ = vala_source_reference_get_last_line (_tmp51_);
330
_tmp54_ = ianjuta_editor_get_line_begin_position (_tmp49_, _tmp53_, &_inner_error_);
332
if (_inner_error_ != NULL) {
333
_g_object_unref0 (begin_iter);
334
_anjuta_report_error_free0 (e);
335
_vala_iterable_unref0 (_e_list);
336
_g_object_unref0 (mark);
337
_g_object_unref0 (ind);
338
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
339
g_clear_error (&_inner_error_);
351
AnjutaReportError* _tmp59_;
352
ValaSourceReference* _tmp60_;
355
IAnjutaIterable* _tmp63_;
365
_tmp60_ = (*_tmp59_).source;
366
_tmp61_ = vala_source_reference_get_last_column (_tmp60_);
368
if (!(_tmp58_ < _tmp62_)) {
372
ianjuta_iterable_next (_tmp63_, &_inner_error_);
373
if (_inner_error_ != NULL) {
374
_g_object_unref0 (end_iter);
375
_g_object_unref0 (begin_iter);
376
_anjuta_report_error_free0 (e);
377
_vala_iterable_unref0 (_e_list);
378
_g_object_unref0 (mark);
379
_g_object_unref0 (ind);
380
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
381
g_clear_error (&_inner_error_);
388
_tmp66_ = (*_tmp65_).error;
390
_tmp64_ = IANJUTA_INDICABLE_CRITICAL;
392
_tmp64_ = IANJUTA_INDICABLE_WARNING;
395
_tmp68_ = begin_iter;
398
ianjuta_indicable_set (_tmp67_, _tmp68_, _tmp69_, _tmp70_, &_inner_error_);
399
if (_inner_error_ != NULL) {
400
_g_object_unref0 (end_iter);
401
_g_object_unref0 (begin_iter);
402
_anjuta_report_error_free0 (e);
403
_vala_iterable_unref0 (_e_list);
404
_g_object_unref0 (mark);
405
_g_object_unref0 (ind);
406
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
407
g_clear_error (&_inner_error_);
410
_g_object_unref0 (end_iter);
411
_g_object_unref0 (begin_iter);
414
if (IANJUTA_IS_MARKABLE (_tmp71_)) {
415
IAnjutaMarkable* _tmp72_;
416
AnjutaReportError* _tmp73_;
417
ValaSourceReference* _tmp74_;
420
AnjutaReportError* _tmp77_;
421
const gchar* _tmp78_;
424
_tmp74_ = (*_tmp73_).source;
425
_tmp75_ = vala_source_reference_get_first_line (_tmp74_);
428
_tmp78_ = (*_tmp77_).message;
429
ianjuta_markable_mark (_tmp72_, _tmp76_, IANJUTA_MARKABLE_MESSAGE, _tmp78_, &_inner_error_);
430
if (_inner_error_ != NULL) {
431
_anjuta_report_error_free0 (e);
432
_vala_iterable_unref0 (_e_list);
433
_g_object_unref0 (mark);
434
_g_object_unref0 (ind);
435
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
436
g_clear_error (&_inner_error_);
441
_anjuta_report_error_free0 (e);
443
_vala_iterable_unref0 (_e_list);
445
_g_object_unref0 (mark);
446
_g_object_unref0 (ind);
450
void anjuta_report_clear_error_indicators (AnjutaReport* self, ValaSourceFile* file) {
451
ValaSourceFile* _tmp0_;
452
IAnjutaDocumentManager* _tmp35_;
453
GList* _tmp36_ = NULL;
455
GError * _inner_error_ = NULL;
456
g_return_if_fail (self != NULL);
458
if (_tmp0_ == NULL) {
460
ValaArrayList* _tmp2_;
461
_tmp1_ = g_direct_equal;
462
_tmp2_ = vala_array_list_new (ANJUTA_REPORT_TYPE_ERROR, (GBoxedCopyFunc) anjuta_report_error_dup, anjuta_report_error_free, _tmp1_);
463
_vala_iterable_unref0 (self->priv->errors_list);
464
self->priv->errors_list = (ValaList*) _tmp2_;
465
((ValaReport*) self)->errors = 0;
486
gpointer _tmp12_ = NULL;
487
AnjutaReportError* _tmp13_;
488
ValaSourceReference* _tmp14_;
489
ValaSourceFile* _tmp15_;
490
ValaSourceFile* _tmp16_;
491
ValaSourceFile* _tmp17_;
501
_tmp7_ = self->priv->errors_list;
502
_tmp8_ = vala_collection_get_size ((ValaCollection*) _tmp7_);
504
if (!(_tmp6_ < _tmp9_)) {
507
_tmp10_ = self->priv->errors_list;
509
_tmp12_ = vala_list_get (_tmp10_, _tmp11_);
510
_tmp13_ = (AnjutaReportError*) _tmp12_;
511
_tmp14_ = (*_tmp13_).source;
512
_tmp15_ = vala_source_reference_get_file (_tmp14_);
515
_tmp18_ = _tmp16_ == _tmp17_;
516
_anjuta_report_error_free0 (_tmp13_);
520
gpointer _tmp21_ = NULL;
521
AnjutaReportError* _tmp22_;
527
_tmp19_ = self->priv->errors_list;
529
_tmp21_ = vala_list_get (_tmp19_, _tmp20_);
530
_tmp22_ = (AnjutaReportError*) _tmp21_;
531
_tmp23_ = (*_tmp22_).error;
533
_anjuta_report_error_free0 (_tmp22_);
536
_tmp25_ = ((ValaReport*) self)->errors;
537
((ValaReport*) self)->errors = _tmp25_ - 1;
540
_tmp26_ = ((ValaReport*) self)->warnings;
541
((ValaReport*) self)->warnings = _tmp26_ - 1;
543
_tmp27_ = self->priv->errors_list;
545
vala_list_remove_at (_tmp27_, _tmp28_);
552
_tmp30_ = self->priv->errors_list;
553
_tmp31_ = vala_collection_get_size ((ValaCollection*) _tmp30_);
555
_tmp33_ = ((ValaReport*) self)->errors;
556
_tmp34_ = ((ValaReport*) self)->warnings;
557
g_assert (_tmp32_ <= (_tmp33_ + _tmp34_));
559
_tmp35_ = self->priv->_docman;
560
_tmp36_ = ianjuta_document_manager_get_doc_widgets (_tmp35_, &_inner_error_);
562
if (_inner_error_ != NULL) {
563
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
564
g_clear_error (&_inner_error_);
568
GList* doc_collection = NULL;
569
GList* doc_it = NULL;
570
doc_collection = _tmp37_;
571
for (doc_it = doc_collection; doc_it != NULL; doc_it = doc_it->next) {
572
GtkWidget* doc = NULL;
573
doc = (GtkWidget*) doc_it->data;
578
if (IANJUTA_IS_INDICABLE (_tmp38_)) {
581
ianjuta_indicable_clear (IANJUTA_INDICABLE (_tmp39_), &_inner_error_);
582
if (_inner_error_ != NULL) {
583
_g_list_free0 (doc_collection);
584
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
585
g_clear_error (&_inner_error_);
590
if (IANJUTA_IS_MARKABLE (_tmp40_)) {
593
ianjuta_markable_delete_all_markers (IANJUTA_MARKABLE (_tmp41_), IANJUTA_MARKABLE_MESSAGE, &_inner_error_);
594
if (_inner_error_ != NULL) {
595
_g_list_free0 (doc_collection);
596
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
597
g_clear_error (&_inner_error_);
603
_g_list_free0 (doc_collection);
608
static gpointer _vala_source_reference_ref0 (gpointer self) {
609
return self ? vala_source_reference_ref (self) : NULL;
613
static void anjuta_report_real_warn (ValaReport* base, ValaSourceReference* source, const gchar* message) {
616
ValaSourceReference* _tmp1_;
617
GError * _inner_error_ = NULL;
618
self = (AnjutaReport*) base;
619
g_return_if_fail (message != NULL);
620
_tmp0_ = ((ValaReport*) self)->warnings;
621
((ValaReport*) self)->warnings = _tmp0_ + 1;
623
if (_tmp1_ == NULL) {
628
_tmp2_ = self->priv->errors_list;
629
g_static_rec_mutex_lock (&self->priv->__lock_errors_list);
632
ValaSourceReference* _tmp4_;
633
ValaSourceReference* _tmp5_;
636
AnjutaReportError _tmp8_ = {0};
637
AnjutaReportError _tmp9_;
638
AnjutaReportError _tmp10_;
639
_tmp3_ = self->priv->errors_list;
641
_tmp5_ = _vala_source_reference_ref0 (_tmp4_);
643
_tmp7_ = g_strdup (_tmp6_);
644
memset (&_tmp8_, 0, sizeof (AnjutaReportError));
645
_vala_source_reference_unref0 (_tmp8_.source);
646
_tmp8_.source = _tmp5_;
647
_g_free0 (_tmp8_.message);
648
_tmp8_.message = _tmp7_;
649
_tmp8_.error = FALSE;
652
vala_collection_add ((ValaCollection*) _tmp3_, &_tmp10_);
653
anjuta_report_error_destroy (&_tmp9_);
658
_tmp11_ = self->priv->errors_list;
659
g_static_rec_mutex_unlock (&self->priv->__lock_errors_list);
661
if (_inner_error_ != NULL) {
662
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
663
g_clear_error (&_inner_error_);
670
static void anjuta_report_real_err (ValaReport* base, ValaSourceReference* source, const gchar* message) {
673
ValaSourceReference* _tmp1_;
674
GError * _inner_error_ = NULL;
675
self = (AnjutaReport*) base;
676
g_return_if_fail (message != NULL);
677
_tmp0_ = ((ValaReport*) self)->errors;
678
((ValaReport*) self)->errors = _tmp0_ + 1;
680
if (_tmp1_ == NULL) {
681
self->priv->general_error = TRUE;
686
_tmp2_ = self->priv->errors_list;
687
g_static_rec_mutex_lock (&self->priv->__lock_errors_list);
690
ValaSourceReference* _tmp4_;
691
ValaSourceReference* _tmp5_;
694
AnjutaReportError _tmp8_ = {0};
695
AnjutaReportError _tmp9_;
696
AnjutaReportError _tmp10_;
697
_tmp3_ = self->priv->errors_list;
699
_tmp5_ = _vala_source_reference_ref0 (_tmp4_);
701
_tmp7_ = g_strdup (_tmp6_);
702
memset (&_tmp8_, 0, sizeof (AnjutaReportError));
703
_vala_source_reference_unref0 (_tmp8_.source);
704
_tmp8_.source = _tmp5_;
705
_g_free0 (_tmp8_.message);
706
_tmp8_.message = _tmp7_;
710
vala_collection_add ((ValaCollection*) _tmp3_, &_tmp10_);
711
anjuta_report_error_destroy (&_tmp9_);
716
_tmp11_ = self->priv->errors_list;
717
g_static_rec_mutex_unlock (&self->priv->__lock_errors_list);
719
if (_inner_error_ != NULL) {
720
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
721
g_clear_error (&_inner_error_);
728
AnjutaReport* anjuta_report_construct (GType object_type) {
729
AnjutaReport * self = NULL;
730
self = (AnjutaReport*) vala_report_construct (object_type);
735
AnjutaReport* anjuta_report_new (void) {
736
return anjuta_report_construct (TYPE_ANJUTA_REPORT);
740
IAnjutaDocumentManager* anjuta_report_get_docman (AnjutaReport* self) {
741
IAnjutaDocumentManager* result;
742
IAnjutaDocumentManager* _tmp0_;
743
g_return_val_if_fail (self != NULL, NULL);
744
_tmp0_ = self->priv->_docman;
750
void anjuta_report_set_docman (AnjutaReport* self, IAnjutaDocumentManager* value) {
751
IAnjutaDocumentManager* _tmp0_;
752
IAnjutaDocumentManager* _tmp1_;
753
g_return_if_fail (self != NULL);
755
_tmp1_ = _g_object_ref0 (_tmp0_);
756
_g_object_unref0 (self->priv->_docman);
757
self->priv->_docman = _tmp1_;
758
g_object_notify ((GObject *) self, "docman");
762
static void anjuta_report_error_copy (const AnjutaReportError* self, AnjutaReportError* dest) {
763
ValaSourceReference* _tmp0_;
764
ValaSourceReference* _tmp1_;
768
_tmp0_ = (*self).source;
769
_tmp1_ = _vala_source_reference_ref0 (_tmp0_);
770
_vala_source_reference_unref0 ((*dest).source);
771
(*dest).source = _tmp1_;
772
_tmp2_ = (*self).error;
773
(*dest).error = _tmp2_;
774
_tmp3_ = (*self).message;
775
_tmp4_ = g_strdup (_tmp3_);
776
_g_free0 ((*dest).message);
777
(*dest).message = _tmp4_;
781
static void anjuta_report_error_destroy (AnjutaReportError* self) {
782
_vala_source_reference_unref0 ((*self).source);
783
_g_free0 ((*self).message);
787
static AnjutaReportError* anjuta_report_error_dup (const AnjutaReportError* self) {
788
AnjutaReportError* dup;
789
dup = g_new0 (AnjutaReportError, 1);
790
anjuta_report_error_copy (self, dup);
795
static void anjuta_report_error_free (AnjutaReportError* self) {
796
anjuta_report_error_destroy (self);
801
static GType anjuta_report_error_get_type (void) {
802
static volatile gsize anjuta_report_error_type_id__volatile = 0;
803
if (g_once_init_enter (&anjuta_report_error_type_id__volatile)) {
804
GType anjuta_report_error_type_id;
805
anjuta_report_error_type_id = g_boxed_type_register_static ("AnjutaReportError", (GBoxedCopyFunc) anjuta_report_error_dup, (GBoxedFreeFunc) anjuta_report_error_free);
806
g_once_init_leave (&anjuta_report_error_type_id__volatile, anjuta_report_error_type_id);
808
return anjuta_report_error_type_id__volatile;
812
static void anjuta_report_class_init (AnjutaReportClass * klass) {
813
anjuta_report_parent_class = g_type_class_peek_parent (klass);
814
g_type_class_add_private (klass, sizeof (AnjutaReportPrivate));
815
VALA_REPORT_CLASS (klass)->warn = anjuta_report_real_warn;
816
VALA_REPORT_CLASS (klass)->err = anjuta_report_real_err;
817
G_OBJECT_CLASS (klass)->get_property = _vala_anjuta_report_get_property;
818
G_OBJECT_CLASS (klass)->set_property = _vala_anjuta_report_set_property;
819
G_OBJECT_CLASS (klass)->finalize = anjuta_report_finalize;
820
g_object_class_install_property (G_OBJECT_CLASS (klass), ANJUTA_REPORT_DOCMAN, g_param_spec_object ("docman", "docman", "docman", ianjuta_document_manager_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
824
static void anjuta_report_instance_init (AnjutaReport * self) {
826
ValaArrayList* _tmp1_;
827
self->priv = ANJUTA_REPORT_GET_PRIVATE (self);
828
g_static_rec_mutex_init (&self->priv->__lock_errors_list);
829
_tmp0_ = g_direct_equal;
830
_tmp1_ = vala_array_list_new (ANJUTA_REPORT_TYPE_ERROR, (GBoxedCopyFunc) anjuta_report_error_dup, anjuta_report_error_free, _tmp0_);
831
self->priv->errors_list = (ValaList*) _tmp1_;
832
self->priv->general_error = FALSE;
836
static void anjuta_report_finalize (GObject* obj) {
838
self = ANJUTA_REPORT (obj);
839
_g_object_unref0 (self->priv->_docman);
840
g_static_rec_mutex_free (&self->priv->__lock_errors_list);
841
_vala_iterable_unref0 (self->priv->errors_list);
842
G_OBJECT_CLASS (anjuta_report_parent_class)->finalize (obj);
846
GType anjuta_report_get_type (void) {
847
return anjuta_report_type_id;
851
GType anjuta_report_register_type (GTypeModule * module) {
852
static const GTypeInfo g_define_type_info = { sizeof (AnjutaReportClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) anjuta_report_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AnjutaReport), 0, (GInstanceInitFunc) anjuta_report_instance_init, NULL };
853
anjuta_report_type_id = g_type_module_register_type (module, VALA_TYPE_REPORT, "AnjutaReport", &g_define_type_info, 0);
854
return anjuta_report_type_id;
858
static void _vala_anjuta_report_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
860
self = ANJUTA_REPORT (object);
861
switch (property_id) {
862
case ANJUTA_REPORT_DOCMAN:
863
g_value_set_object (value, anjuta_report_get_docman (self));
866
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
872
static void _vala_anjuta_report_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
874
self = ANJUTA_REPORT (object);
875
switch (property_id) {
876
case ANJUTA_REPORT_DOCMAN:
877
anjuta_report_set_docman (self, g_value_get_object (value));
880
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);