static gboolean gtk_mate_exporter_scope_has_inner (GtkMateExporter* self, GtkMateScope* scope) { gboolean _tmp0_; gboolean _tmp1_; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (scope != NULL, FALSE); _tmp0_ = FALSE; _tmp1_ = FALSE; if (GTK_MATE_IS_DOUBLE_PATTERN (scope->pattern)) { _tmp1_ = GTK_MATE_DOUBLE_PATTERN (scope->pattern)->content_name != NULL; } else { _tmp1_ = FALSE; } if (_tmp1_) { _tmp0_ = _vala_strcmp0 (GTK_MATE_DOUBLE_PATTERN (scope->pattern)->content_name, "") != 0; } else { _tmp0_ = FALSE; } return _tmp0_; }
static void gtk_mate_double_pattern_finalize (GObject* obj) { GtkMateDoublePattern * self; self = GTK_MATE_DOUBLE_PATTERN (obj); self->content_name = (g_free (self->content_name), NULL); (self->begin == NULL) ? NULL : (self->begin = (g_object_unref (self->begin), NULL)); (self->end == NULL) ? NULL : (self->end = (g_object_unref (self->end), NULL)); self->end_string = (g_free (self->end_string), NULL); self->begin_string = (g_free (self->begin_string), NULL); (self->begin_captures == NULL) ? NULL : (self->begin_captures = (g_object_unref (self->begin_captures), NULL)); (self->end_captures == NULL) ? NULL : (self->end_captures = (g_object_unref (self->end_captures), NULL)); (self->both_captures == NULL) ? NULL : (self->both_captures = (g_object_unref (self->both_captures), NULL)); (self->patterns == NULL) ? NULL : (self->patterns = (g_object_unref (self->patterns), NULL)); G_OBJECT_CLASS (gtk_mate_double_pattern_parent_class)->finalize (obj); }
/* Loads the properties of the grammar that are required for parsing. Loads patterns into memory, and sets up possible patterns.*/ void gtk_mate_grammar_init_for_use (GtkMateGrammar* self) { PListNode* fsm; PListNode* ftm; GeeArrayList* _tmp2; GeeArrayList* _tmp3; PListNode* ps; GtkMatePattern* pattern; GeeHashMap* _tmp5; PListDict* pd; PListDict* pd1; PListNode* pa1; g_return_if_fail (self != NULL); if (self->loaded) { return; } self->loaded = TRUE; /*stdout.printf("initializing grammar for use: %s\n", name);*/ fsm = plist_dict_get (self->priv->_plist, "foldingStartMarker"); if (fsm != NULL) { OnigRx* _tmp0; _tmp0 = NULL; self->folding_start_marker = (_tmp0 = onig_rx_make1 (PLIST_STRING (fsm)->str), (self->folding_start_marker == NULL) ? NULL : (self->folding_start_marker = (g_object_unref (self->folding_start_marker), NULL)), _tmp0); } ftm = plist_dict_get (self->priv->_plist, "foldingStopMarker"); if (ftm != NULL) { OnigRx* _tmp1; _tmp1 = NULL; self->folding_stop_marker = (_tmp1 = onig_rx_make1 (PLIST_STRING (ftm)->str), (self->folding_stop_marker == NULL) ? NULL : (self->folding_stop_marker = (g_object_unref (self->folding_stop_marker), NULL)), _tmp1); } _tmp2 = NULL; self->all_patterns = (_tmp2 = gee_array_list_new (GTK_MATE_TYPE_PATTERN, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_direct_equal), (self->all_patterns == NULL) ? NULL : (self->all_patterns = (g_object_unref (self->all_patterns), NULL)), _tmp2); /* stdout.printf("getting patterns\n");*/ _tmp3 = NULL; self->patterns = (_tmp3 = gee_array_list_new (GTK_MATE_TYPE_PATTERN, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_direct_equal), (self->patterns == NULL) ? NULL : (self->patterns = (g_object_unref (self->patterns), NULL)), _tmp3); ps = plist_dict_get (self->priv->_plist, "patterns"); pattern = NULL; if (ps != NULL) { { GeeIterator* _p_it; _p_it = gee_iterable_iterator ((GeeIterable*) PLIST_ARRAY (ps)->array); while (gee_iterator_next (_p_it)) { PListNode* p; GtkMatePattern* _tmp4; p = (PListNode*) gee_iterator_get (_p_it); _tmp4 = NULL; pattern = (_tmp4 = gtk_mate_pattern_create_from_plist (self->all_patterns, PLIST_DICT (p)), (pattern == NULL) ? NULL : (pattern = (g_object_unref (pattern), NULL)), _tmp4); gtk_mate_pattern_set_grammar (pattern, self); if (pattern != NULL) { gee_collection_add ((GeeCollection*) self->patterns, pattern); } (p == NULL) ? NULL : (p = (g_object_unref (p), NULL)); } (_p_it == NULL) ? NULL : (_p_it = (g_object_unref (_p_it), NULL)); } } /* stdout.printf("getting repository\n");*/ _tmp5 = NULL; self->repository = (_tmp5 = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, GEE_TYPE_ARRAY_LIST, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_str_hash, g_str_equal, g_direct_equal), (self->repository == NULL) ? NULL : (self->repository = (g_object_unref (self->repository), NULL)), _tmp5); pd = PLIST_DICT (plist_dict_get (self->priv->_plist, "repository")); pd1 = NULL; pa1 = NULL; if (pd != NULL) { { GeeSet* _tmp6; GeeIterator* _tmp7; GeeIterator* _key_it; _tmp6 = NULL; _tmp7 = NULL; _key_it = (_tmp7 = gee_iterable_iterator ((GeeIterable*) (_tmp6 = gee_map_get_keys ((GeeMap*) pd->map))), (_tmp6 == NULL) ? NULL : (_tmp6 = (g_object_unref (_tmp6), NULL)), _tmp7); while (gee_iterator_next (_key_it)) { char* key; GeeArrayList* repo_array; PListDict* _tmp8; gboolean _tmp9; PListNode* _tmp10; gboolean _tmp11; key = (char*) gee_iterator_get (_key_it); /* stdout.printf("convert repo name: %s\n", key);*/ repo_array = gee_array_list_new (GTK_MATE_TYPE_PATTERN, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_direct_equal); _tmp8 = NULL; pd1 = (_tmp8 = PLIST_DICT (plist_dict_get (pd, key)), (pd1 == NULL) ? NULL : (pd1 = (g_object_unref (pd1), NULL)), _tmp8); _tmp9 = FALSE; _tmp10 = NULL; if ((_tmp11 = (_tmp10 = plist_dict_get (pd1, "begin")) != NULL, (_tmp10 == NULL) ? NULL : (_tmp10 = (g_object_unref (_tmp10), NULL)), _tmp11)) { _tmp9 = TRUE; } else { PListNode* _tmp12; _tmp12 = NULL; _tmp9 = (_tmp12 = plist_dict_get (pd1, "match")) != NULL; (_tmp12 == NULL) ? NULL : (_tmp12 = (g_object_unref (_tmp12), NULL)); } /* repository name can go straight to a pattern*/ if (_tmp9) { GtkMatePattern* _tmp13; _tmp13 = NULL; pattern = (_tmp13 = gtk_mate_pattern_create_from_plist (self->all_patterns, PLIST_DICT (pd1)), (pattern == NULL) ? NULL : (pattern = (g_object_unref (pattern), NULL)), _tmp13); gtk_mate_pattern_set_grammar (pattern, self); if (pattern != NULL) { gee_collection_add ((GeeCollection*) repo_array, pattern); } } else { PListNode* _tmp14; _tmp14 = NULL; if ((pa1 = (_tmp14 = plist_dict_get (pd1, "patterns"), (pa1 == NULL) ? NULL : (pa1 = (g_object_unref (pa1), NULL)), _tmp14)) != NULL) { { GeeIterator* _ps1_it; _ps1_it = gee_iterable_iterator ((GeeIterable*) PLIST_ARRAY (pa1)->array); while (gee_iterator_next (_ps1_it)) { PListNode* ps1; GtkMatePattern* _tmp15; ps1 = (PListNode*) gee_iterator_get (_ps1_it); _tmp15 = NULL; pattern = (_tmp15 = gtk_mate_pattern_create_from_plist (self->all_patterns, PLIST_DICT (ps1)), (pattern == NULL) ? NULL : (pattern = (g_object_unref (pattern), NULL)), _tmp15); gtk_mate_pattern_set_grammar (pattern, self); if (pattern != NULL) { gee_collection_add ((GeeCollection*) repo_array, pattern); } (ps1 == NULL) ? NULL : (ps1 = (g_object_unref (ps1), NULL)); } (_ps1_it == NULL) ? NULL : (_ps1_it = (g_object_unref (_ps1_it), NULL)); } } } gee_map_set ((GeeMap*) self->repository, key, repo_array); key = (g_free (key), NULL); (repo_array == NULL) ? NULL : (repo_array = (g_object_unref (repo_array), NULL)); } (_key_it == NULL) ? NULL : (_key_it = (g_object_unref (_key_it), NULL)); } } /* stdout.printf("all_patterns: %d\n", all_patterns.size);*/ { GeeIterator* _p_it; /* stdout.printf("all_patterns: %d\n", all_patterns.size);*/ _p_it = gee_iterable_iterator ((GeeIterable*) self->all_patterns); /* stdout.printf("all_patterns: %d\n", all_patterns.size);*/ while (gee_iterator_next (_p_it)) { GtkMatePattern* p; /* stdout.printf("all_patterns: %d\n", all_patterns.size);*/ p = (GtkMatePattern*) gee_iterator_get (_p_it); if (GTK_MATE_IS_DOUBLE_PATTERN (p)) { gtk_mate_pattern_replace_include_patterns (GTK_MATE_DOUBLE_PATTERN (p)->patterns, self); } (p == NULL) ? NULL : (p = (g_object_unref (p), NULL)); } (_p_it == NULL) ? NULL : (_p_it = (g_object_unref (_p_it), NULL)); } gtk_mate_pattern_replace_include_patterns (self->patterns, self); (fsm == NULL) ? NULL : (fsm = (g_object_unref (fsm), NULL)); (ftm == NULL) ? NULL : (ftm = (g_object_unref (ftm), NULL)); (ps == NULL) ? NULL : (ps = (g_object_unref (ps), NULL)); (pattern == NULL) ? NULL : (pattern = (g_object_unref (pattern), NULL)); (pd == NULL) ? NULL : (pd = (g_object_unref (pd), NULL)); (pd1 == NULL) ? NULL : (pd1 = (g_object_unref (pd1), NULL)); (pa1 == NULL) ? NULL : (pa1 = (g_object_unref (pa1), NULL)); }
static char* gtk_mate_exporter_css_names (GtkMateExporter* self, GtkMateScope* scope, gboolean inner) { char* this_name; gboolean _tmp0_; gboolean _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (scope != NULL, NULL); this_name = NULL; _tmp0_ = FALSE; _tmp1_ = FALSE; if (GTK_MATE_IS_DOUBLE_PATTERN (scope->pattern)) { _tmp1_ = GTK_MATE_DOUBLE_PATTERN (scope->pattern)->content_name != NULL; } else { _tmp1_ = FALSE; } if (_tmp1_) { _tmp0_ = inner; } else { _tmp0_ = FALSE; } if (_tmp0_) { char* _tmp3_; const char* _tmp2_; _tmp3_ = NULL; _tmp2_ = NULL; this_name = (_tmp3_ = (_tmp2_ = GTK_MATE_DOUBLE_PATTERN (scope->pattern)->content_name, (_tmp2_ == NULL) ? NULL : g_strdup (_tmp2_)), this_name = (g_free (this_name), NULL), _tmp3_); } else { char* _tmp5_; const char* _tmp4_; _tmp5_ = NULL; _tmp4_ = NULL; this_name = (_tmp5_ = (_tmp4_ = gtk_mate_scope_get_name (scope), (_tmp4_ == NULL) ? NULL : g_strdup (_tmp4_)), this_name = (g_free (this_name), NULL), _tmp5_); } if (this_name != NULL) { char** _tmp7_; gint bits_size; gint bits_length1; char** _tmp6_; char** bits; const char* _tmp8_; char* current; GString* _result_; char* _tmp12_; const char* _tmp11_; _tmp7_ = NULL; _tmp6_ = NULL; bits = (_tmp7_ = _tmp6_ = g_strsplit (this_name, ".", 0), bits_length1 = _vala_array_length (_tmp6_), bits_size = bits_length1, _tmp7_); /* bits == ["meta", "class", "ruby"]*/ _tmp8_ = NULL; current = (_tmp8_ = bits[0], (_tmp8_ == NULL) ? NULL : g_strdup (_tmp8_)); _result_ = g_string_new (""); { gint i; i = 1; for (; i < bits_length1; i++) { char* _tmp10_; char* _tmp9_; g_string_append (_result_, current); _tmp10_ = NULL; _tmp9_ = NULL; current = (_tmp10_ = g_strconcat (_tmp9_ = g_strconcat (current, "_", NULL), bits[i], NULL), current = (g_free (current), NULL), _tmp10_); _tmp9_ = (g_free (_tmp9_), NULL); g_string_append (_result_, " "); } } g_string_append (_result_, current); _tmp12_ = NULL; _tmp11_ = NULL; this_name = (_tmp12_ = (_tmp11_ = _result_->str, (_tmp11_ == NULL) ? NULL : g_strdup (_tmp11_)), this_name = (g_free (this_name), NULL), _tmp12_); bits = (_vala_array_free (bits, bits_length1, (GDestroyNotify) g_free), NULL); current = (g_free (current), NULL); (_result_ == NULL) ? NULL : (_result_ = (g_string_free (_result_, TRUE), NULL)); } return this_name; }