~ubuntu-branches/ubuntu/quantal/vala/quantal

« back to all changes in this revision

Viewing changes to vala/valascope.c

  • Committer: Bazaar Package Importer
  • Author(s): Robert Ancell
  • Date: 2011-03-17 09:35:15 UTC
  • mfrom: (1.5.17 upstream)
  • Revision ID: james.westby@ubuntu.com-20110317093515-veyqriw9egujkws2
Tags: 0.11.7-0ubuntu1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
182
182
        if (name != NULL) {
183
183
                if (self->priv->symbol_table == NULL) {
184
184
                        ValaHashMap* _tmp0_ = NULL;
185
 
                        ValaMap* _tmp1_;
186
185
                        _tmp0_ = vala_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, VALA_TYPE_SYMBOL, (GBoxedCopyFunc) vala_code_node_ref, vala_code_node_unref, g_str_hash, g_str_equal, g_direct_equal);
187
 
                        _tmp1_ = (ValaMap*) _tmp0_;
188
186
                        _vala_map_unref0 (self->priv->symbol_table);
189
 
                        self->priv->symbol_table = _tmp1_;
 
187
                        self->priv->symbol_table = (ValaMap*) _tmp0_;
190
188
                } else {
191
 
                        ValaSymbol* _tmp2_ = NULL;
192
 
                        ValaSymbol* _tmp3_;
193
 
                        gboolean _tmp4_;
194
 
                        _tmp2_ = vala_scope_lookup (self, name);
195
 
                        _tmp3_ = _tmp2_;
196
 
                        if ((_tmp4_ = _tmp3_ != NULL, _vala_code_node_unref0 (_tmp3_), _tmp4_)) {
197
 
                                gboolean _tmp5_ = FALSE;
198
 
                                const gchar* _tmp6_ = NULL;
199
 
                                ValaSymbol* _tmp16_ = NULL;
200
 
                                ValaSymbol* _tmp17_;
201
 
                                ValaSourceReference* _tmp18_ = NULL;
202
 
                                gchar* _tmp19_ = NULL;
203
 
                                gchar* _tmp20_;
 
189
                        ValaSymbol* _tmp1_ = NULL;
 
190
                        ValaSymbol* _tmp2_;
 
191
                        gboolean _tmp3_;
 
192
                        _tmp1_ = vala_scope_lookup (self, name);
 
193
                        _tmp2_ = _tmp1_;
 
194
                        _tmp3_ = _tmp2_ != NULL;
 
195
                        _vala_code_node_unref0 (_tmp2_);
 
196
                        if (_tmp3_) {
 
197
                                gboolean _tmp4_ = FALSE;
 
198
                                const gchar* _tmp5_ = NULL;
 
199
                                ValaSymbol* _tmp15_ = NULL;
 
200
                                ValaSymbol* _tmp16_;
 
201
                                ValaSourceReference* _tmp17_ = NULL;
 
202
                                gchar* _tmp18_ = NULL;
 
203
                                gchar* _tmp19_;
204
204
                                vala_code_node_set_error ((ValaCodeNode*) self->priv->_owner, TRUE);
205
 
                                _tmp6_ = vala_symbol_get_name (self->priv->_owner);
206
 
                                if (_tmp6_ == NULL) {
207
 
                                        ValaSymbol* _tmp7_ = NULL;
208
 
                                        _tmp7_ = vala_symbol_get_parent_symbol (self->priv->_owner);
209
 
                                        _tmp5_ = _tmp7_ == NULL;
210
 
                                } else {
211
 
                                        _tmp5_ = FALSE;
212
 
                                }
213
 
                                if (_tmp5_) {
214
 
                                        ValaSourceReference* _tmp8_ = NULL;
215
 
                                        gchar* _tmp9_ = NULL;
216
 
                                        gchar* _tmp10_;
217
 
                                        _tmp8_ = vala_code_node_get_source_reference ((ValaCodeNode*) sym);
218
 
                                        _tmp9_ = g_strdup_printf ("The root namespace already contains a definition for `%s'", name);
219
 
                                        _tmp10_ = _tmp9_;
220
 
                                        vala_report_error (_tmp8_, _tmp10_);
221
 
                                        _g_free0 (_tmp10_);
222
 
                                } else {
223
 
                                        ValaSourceReference* _tmp11_ = NULL;
224
 
                                        gchar* _tmp12_ = NULL;
225
 
                                        gchar* _tmp13_;
226
 
                                        gchar* _tmp14_ = NULL;
227
 
                                        gchar* _tmp15_;
228
 
                                        _tmp11_ = vala_code_node_get_source_reference ((ValaCodeNode*) sym);
229
 
                                        _tmp12_ = vala_symbol_get_full_name (self->priv->_owner);
230
 
                                        _tmp13_ = _tmp12_;
231
 
                                        _tmp14_ = g_strdup_printf ("`%s' already contains a definition for `%s'", _tmp13_, name);
232
 
                                        _tmp15_ = _tmp14_;
233
 
                                        vala_report_error (_tmp11_, _tmp15_);
234
 
                                        _g_free0 (_tmp15_);
235
 
                                        _g_free0 (_tmp13_);
236
 
                                }
237
 
                                _tmp16_ = vala_scope_lookup (self, name);
238
 
                                _tmp17_ = _tmp16_;
239
 
                                _tmp18_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp17_);
240
 
                                _tmp19_ = g_strdup_printf ("previous definition of `%s' was here", name);
241
 
                                _tmp20_ = _tmp19_;
242
 
                                vala_report_notice (_tmp18_, _tmp20_);
243
 
                                _g_free0 (_tmp20_);
244
 
                                _vala_code_node_unref0 (_tmp17_);
 
205
                                _tmp5_ = vala_symbol_get_name (self->priv->_owner);
 
206
                                if (_tmp5_ == NULL) {
 
207
                                        ValaSymbol* _tmp6_ = NULL;
 
208
                                        _tmp6_ = vala_symbol_get_parent_symbol (self->priv->_owner);
 
209
                                        _tmp4_ = _tmp6_ == NULL;
 
210
                                } else {
 
211
                                        _tmp4_ = FALSE;
 
212
                                }
 
213
                                if (_tmp4_) {
 
214
                                        ValaSourceReference* _tmp7_ = NULL;
 
215
                                        gchar* _tmp8_ = NULL;
 
216
                                        gchar* _tmp9_;
 
217
                                        _tmp7_ = vala_code_node_get_source_reference ((ValaCodeNode*) sym);
 
218
                                        _tmp8_ = g_strdup_printf ("The root namespace already contains a definition for `%s'", name);
 
219
                                        _tmp9_ = _tmp8_;
 
220
                                        vala_report_error (_tmp7_, _tmp9_);
 
221
                                        _g_free0 (_tmp9_);
 
222
                                } else {
 
223
                                        ValaSourceReference* _tmp10_ = NULL;
 
224
                                        gchar* _tmp11_ = NULL;
 
225
                                        gchar* _tmp12_;
 
226
                                        gchar* _tmp13_ = NULL;
 
227
                                        gchar* _tmp14_;
 
228
                                        _tmp10_ = vala_code_node_get_source_reference ((ValaCodeNode*) sym);
 
229
                                        _tmp11_ = vala_symbol_get_full_name (self->priv->_owner);
 
230
                                        _tmp12_ = _tmp11_;
 
231
                                        _tmp13_ = g_strdup_printf ("`%s' already contains a definition for `%s'", _tmp12_, name);
 
232
                                        _tmp14_ = _tmp13_;
 
233
                                        vala_report_error (_tmp10_, _tmp14_);
 
234
                                        _g_free0 (_tmp14_);
 
235
                                        _g_free0 (_tmp12_);
 
236
                                }
 
237
                                _tmp15_ = vala_scope_lookup (self, name);
 
238
                                _tmp16_ = _tmp15_;
 
239
                                _tmp17_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp16_);
 
240
                                _tmp18_ = g_strdup_printf ("previous definition of `%s' was here", name);
 
241
                                _tmp19_ = _tmp18_;
 
242
                                vala_report_notice (_tmp17_, _tmp19_);
 
243
                                _g_free0 (_tmp19_);
 
244
                                _vala_code_node_unref0 (_tmp16_);
245
245
                                return;
246
246
                        }
247
247
                }
248
248
                vala_map_set (self->priv->symbol_table, (const gchar*) name, sym);
249
249
        } else {
250
250
                if (self->priv->anonymous_members == NULL) {
251
 
                        ValaArrayList* _tmp21_ = NULL;
252
 
                        ValaList* _tmp22_;
253
 
                        _tmp21_ = vala_array_list_new (VALA_TYPE_SYMBOL, (GBoxedCopyFunc) vala_code_node_ref, vala_code_node_unref, g_direct_equal);
254
 
                        _tmp22_ = (ValaList*) _tmp21_;
 
251
                        ValaArrayList* _tmp20_ = NULL;
 
252
                        _tmp20_ = vala_array_list_new (VALA_TYPE_SYMBOL, (GBoxedCopyFunc) vala_code_node_ref, vala_code_node_unref, g_direct_equal);
255
253
                        _vala_iterable_unref0 (self->priv->anonymous_members);
256
 
                        self->priv->anonymous_members = _tmp22_;
 
254
                        self->priv->anonymous_members = (ValaList*) _tmp20_;
257
255
                }
258
256
                vala_collection_add ((ValaCollection*) self->priv->anonymous_members, sym);
259
257
        }
296
294
                _tmp1_ = FALSE;
297
295
        }
298
296
        if (_tmp1_) {
299
 
                ValaSymbol* _tmp3_;
300
 
                _tmp3_ = NULL;
301
297
                _vala_code_node_unref0 (sym);
302
 
                sym = _tmp3_;
 
298
                sym = NULL;
303
299
        }
304
300
        result = sym;
305
301
        return result;