]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
girparser: Use an HashSet for merged symbols.
authorLuca Bruno <lucabru@src.gnome.org>
Fri, 24 Dec 2010 18:36:05 +0000 (19:36 +0100)
committerLuca Bruno <lucabru@src.gnome.org>
Mon, 4 Apr 2011 13:14:44 +0000 (15:14 +0200)
vala/valagirparser.vala

index 25c6f14e0d2c0c022d10ddc9853abf3927aaa60a..1135c66ff9d3119ed2b97918ae20e23be5529778 100644 (file)
@@ -857,7 +857,7 @@ public class Vala.GirParser : CodeVisitor {
                return null;
        }
 
-       void merge (SymbolInfo info, ArrayList<SymbolInfo> colliding, ArrayList<SymbolInfo> merged) {
+       void merge (SymbolInfo info, ArrayList<SymbolInfo> colliding, HashSet<SymbolInfo> merged) {
                if (info.symbol is Struct) {
                        var gtype_struct_for = info.girdata["glib:is-gtype-struct-for"];
                        if (gtype_struct_for != null && current_symbols_info.contains (gtype_struct_for)) {
@@ -1038,9 +1038,8 @@ public class Vala.GirParser : CodeVisitor {
        }
 
        void merge_add_process (Symbol container) {
-               var merged = new ArrayList<SymbolInfo> ();
-               foreach (var name in current_symbols_info.get_keys ()) {
-                       var colliding = current_symbols_info[name];
+               var merged = new HashSet<SymbolInfo> ();
+               foreach (var colliding in current_symbols_info.get_values ()) {
                        foreach (var info in colliding) {
                                merge (info, colliding, merged);
                        }