summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2016-10-08 16:33:31 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2016-10-08 16:33:31 +0200
commit48ca4e0fc480c3610e3a115376b86a1cee6c68f2 (patch)
treeaf31fc772a39db31505b16e427dd71dad0b57ace
parent3ddd120776b93714a14d7ea1af00fb9c89a3a27b (diff)
downloadvala-48ca4e0fc480c3610e3a115376b86a1cee6c68f2.tar.gz
Add missing generic-type arguments of delegates
https://bugzilla.gnome.org/show_bug.cgi?id=772204
-rw-r--r--codegen/valagirwriter.vala2
-rw-r--r--gee/arraylist.vala6
-rw-r--r--gee/hashmap.vala14
-rw-r--r--gee/hashset.vala10
-rw-r--r--vala/valacodewriter.vala4
-rw-r--r--vala/valagirparser.vala7
-rw-r--r--vapi/glib-2.0.vapi6
-rw-r--r--vapi/gobject-2.0.vapi4
-rw-r--r--vapigen/valagidlparser.vala2
9 files changed, 26 insertions, 29 deletions
diff --git a/codegen/valagirwriter.vala b/codegen/valagirwriter.vala
index 01389cfab..3f4d15d58 100644
--- a/codegen/valagirwriter.vala
+++ b/codegen/valagirwriter.vala
@@ -123,7 +123,7 @@ public class Vala.GIRWriter : CodeVisitor {
}
}
- private ArrayList<GIRNamespace?> externals = new ArrayList<GIRNamespace?> ((EqualFunc) GIRNamespace.equal);
+ private ArrayList<GIRNamespace?> externals = new ArrayList<GIRNamespace?> ((EqualFunc<GIRNamespace>) GIRNamespace.equal);
public void write_includes() {
foreach (var i in externals) {
diff --git a/gee/arraylist.vala b/gee/arraylist.vala
index 5d2b392d8..fe398e432 100644
--- a/gee/arraylist.vala
+++ b/gee/arraylist.vala
@@ -32,18 +32,18 @@ public class Vala.ArrayList<G> : List<G> {
get { return _size; }
}
- public EqualFunc equal_func {
+ public EqualFunc<G> equal_func {
set { _equal_func = value; }
}
private G[] _items = new G[4];
private int _size;
- private EqualFunc _equal_func;
+ private EqualFunc<G> _equal_func;
// concurrent modification protection
private int _stamp = 0;
- public ArrayList (EqualFunc equal_func = GLib.direct_equal) {
+ public ArrayList (EqualFunc<G> equal_func = GLib.direct_equal) {
this.equal_func = equal_func;
}
diff --git a/gee/hashmap.vala b/gee/hashmap.vala
index 33c2ef9bd..9085f10e4 100644
--- a/gee/hashmap.vala
+++ b/gee/hashmap.vala
@@ -32,15 +32,15 @@ public class Vala.HashMap<K,V> : Map<K,V> {
get { return _nnodes; }
}
- public HashFunc key_hash_func {
+ public HashFunc<K> key_hash_func {
set { _key_hash_func = value; }
}
- public EqualFunc key_equal_func {
+ public EqualFunc<K> key_equal_func {
set { _key_equal_func = value; }
}
- public EqualFunc value_equal_func {
+ public EqualFunc<V> value_equal_func {
set { _value_equal_func = value; }
}
@@ -51,14 +51,14 @@ public class Vala.HashMap<K,V> : Map<K,V> {
// concurrent modification protection
private int _stamp = 0;
- private HashFunc _key_hash_func;
- private EqualFunc _key_equal_func;
- private EqualFunc _value_equal_func;
+ private HashFunc<K> _key_hash_func;
+ private EqualFunc<K> _key_equal_func;
+ private EqualFunc<V> _value_equal_func;
private const int MIN_SIZE = 11;
private const int MAX_SIZE = 13845163;
- public HashMap (HashFunc key_hash_func = GLib.direct_hash, EqualFunc key_equal_func = GLib.direct_equal, EqualFunc value_equal_func = GLib.direct_equal) {
+ public HashMap (HashFunc<K> key_hash_func = GLib.direct_hash, EqualFunc<K> key_equal_func = GLib.direct_equal, EqualFunc<V> value_equal_func = GLib.direct_equal) {
this.key_hash_func = key_hash_func;
this.key_equal_func = key_equal_func;
this.value_equal_func = value_equal_func;
diff --git a/gee/hashset.vala b/gee/hashset.vala
index 01452c669..6ca0dfa22 100644
--- a/gee/hashset.vala
+++ b/gee/hashset.vala
@@ -32,11 +32,11 @@ public class Vala.HashSet<G> : Set<G> {
get { return _nnodes; }
}
- public HashFunc hash_func {
+ public HashFunc<G> hash_func {
set { _hash_func = value; }
}
- public EqualFunc equal_func {
+ public EqualFunc<G> equal_func {
set { _equal_func = value; }
}
@@ -47,13 +47,13 @@ public class Vala.HashSet<G> : Set<G> {
// concurrent modification protection
private int _stamp = 0;
- private HashFunc _hash_func;
- private EqualFunc _equal_func;
+ private HashFunc<G> _hash_func;
+ private EqualFunc<G> _equal_func;
private const int MIN_SIZE = 11;
private const int MAX_SIZE = 13845163;
- public HashSet (HashFunc hash_func = GLib.direct_hash, EqualFunc equal_func = GLib.direct_equal) {
+ public HashSet (HashFunc<G> hash_func = GLib.direct_hash, EqualFunc<G> equal_func = GLib.direct_equal) {
this.hash_func = hash_func;
this.equal_func = equal_func;
_array_size = MIN_SIZE;
diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala
index ec48ed03d..1d83a202e 100644
--- a/vala/valacodewriter.vala
+++ b/vala/valacodewriter.vala
@@ -1651,10 +1651,10 @@ public class Vala.CodeWriter : CodeVisitor {
if (key == "cheader_filename" && sym is Namespace) {
continue;
}
- keys.insert_sorted (key, (CompareDataFunc) strcmp);
+ keys.insert_sorted (key, (CompareDataFunc<string>) strcmp);
}
if (need_cheaders && attr.name == "CCode" && !attr.has_argument ("cheader_filename")) {
- keys.insert_sorted ("cheader_filename", (CompareDataFunc) strcmp);
+ keys.insert_sorted ("cheader_filename", (CompareDataFunc<string>) strcmp);
}
if (attr.name == "CCode" && keys.get_length () == 0) {
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index b4530698f..742868cef 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -3949,8 +3949,7 @@ public class Vala.GirParser : CodeVisitor {
/* Hash and equal functions */
- static uint unresolved_symbol_hash (void *ptr) {
- var sym = (UnresolvedSymbol) ptr;
+ static uint unresolved_symbol_hash (UnresolvedSymbol? sym) {
var builder = new StringBuilder ();
while (sym != null) {
builder.append (sym.name);
@@ -3959,9 +3958,7 @@ public class Vala.GirParser : CodeVisitor {
return builder.str.hash ();
}
- static bool unresolved_symbol_equal (void *ptr1, void *ptr2) {
- var sym1 = (UnresolvedSymbol) ptr1;
- var sym2 = (UnresolvedSymbol) ptr2;
+ static bool unresolved_symbol_equal (UnresolvedSymbol? sym1, UnresolvedSymbol? sym2) {
while (sym1 != sym2) {
if (sym1 == null || sym2 == null) {
return false;
diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi
index 9d145106b..1e6b05399 100644
--- a/vapi/glib-2.0.vapi
+++ b/vapi/glib-2.0.vapi
@@ -3140,7 +3140,7 @@ namespace GLib {
public TokenValue cur_value ();
public uint set_scope (uint scope_id);
public void scope_add_symbol (uint scope_id, string symbol, void* value);
- public void scope_foreach_symbol (uint scope_id, HFunc func);
+ public void scope_foreach_symbol (uint scope_id, HFunc<string, void*> func);
public void* scope_lookup_symbol (uint scope_id, string symbol);
public void scope_remove_symbol (uint scope_id, string symbol);
public void* lookup_symbol (string symbol);
@@ -5086,7 +5086,7 @@ namespace GLib {
public Datalist ();
public void clear ();
[Version (since = "2.34")]
- public G id_dup_data (Quark key_id, DuplicateFunc dup_func);
+ public G id_dup_data (Quark key_id, DuplicateFunc<G> dup_func);
public unowned G id_get_data (Quark key_id);
public void id_set_data (Quark key_id, owned G data);
public void id_set_data_full (Quark key_id, owned G data, DestroyNotify? destroy_func);
@@ -5094,7 +5094,7 @@ namespace GLib {
public G id_remove_no_notify (Quark key_id);
[Version (since = "2.34")]
public bool id_replace_data (Quark key_id, G oldval, owned G newval, GLib.DestroyNotify? destroy, out GLib.DestroyNotify? old_destroy);
- public void @foreach (DataForeachFunc func);
+ public void @foreach (DataForeachFunc<G> func);
public unowned G get_data (string key);
public void set_data_full (string key, owned G data, DestroyNotify? destry_func);
public G remove_no_notify (string key);
diff --git a/vapi/gobject-2.0.vapi b/vapi/gobject-2.0.vapi
index f562bb34e..b998d8b2f 100644
--- a/vapi/gobject-2.0.vapi
+++ b/vapi/gobject-2.0.vapi
@@ -383,8 +383,8 @@ namespace GLib {
public void insert (uint index_, GLib.Value value);
public void prepend (GLib.Value value);
public void remove (uint index_);
- public void sort (GLib.CompareFunc compare_func);
- public void sort_with_data (GLib.CompareDataFunc compare_func);
+ public void sort (GLib.CompareFunc<GLib.Value> compare_func);
+ public void sort_with_data (GLib.CompareDataFunc<GLib.Value> compare_func);
}
public interface TypePlugin {
}
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala
index 543b68657..731ea2654 100644
--- a/vapigen/valagidlparser.vala
+++ b/vapigen/valagidlparser.vala
@@ -105,7 +105,7 @@ public class Vala.GIdlParser : CodeVisitor {
current_source_file = source_file;
codenode_attributes_map = new HashMap<string,string> (str_hash, str_equal);
- codenode_attributes_patterns = new HashMap<PatternSpec*,string> (direct_hash, (EqualFunc) PatternSpec.equal);
+ codenode_attributes_patterns = new HashMap<PatternSpec*,string> (direct_hash, (EqualFunc<PatternSpec>) PatternSpec.equal);
if (FileUtils.test (metadata_filename, FileTest.EXISTS)) {
try {