[vala/staging] girparser: Delay adding of "GLib.Object" prerequisite to interfaces
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging] girparser: Delay adding of "GLib.Object" prerequisite to interfaces
- Date: Tue, 3 Mar 2020 09:00:50 +0000 (UTC)
commit afde50f906adf7042a6b268b5afd4e75dd139f35
Author: Princeton Ferro <princetonferro gmail com>
Date: Mon Feb 3 03:26:34 2020 -0500
girparser: Delay adding of "GLib.Object" prerequisite to interfaces
vala/valagirparser.vala | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
---
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index 1e0d9a939..7deb4bef4 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -1331,6 +1331,7 @@ public class Vala.GirParser : CodeVisitor {
HashMap<UnresolvedSymbol,Symbol> unresolved_symbols_map = new HashMap<UnresolvedSymbol,Symbol>
(unresolved_symbol_hash, unresolved_symbol_equal);
ArrayList<UnresolvedSymbol> unresolved_gir_symbols = new ArrayList<UnresolvedSymbol> ();
HashMap<UnresolvedType,Node> unresolved_type_arguments = new HashMap<UnresolvedType,Node> ();
+ ArrayList<Interface> ifaces_needing_object_prereq = new ArrayList<Interface> ();
/**
* Parses all .gir source files in the specified code
@@ -1357,6 +1358,13 @@ public class Vala.GirParser : CodeVisitor {
root.process (this);
+ /* Temporarily workaround G-I bug not adding GLib.Object prerequisite:
+ ensure we have at least one instantiable prerequisite */
+ var object_type = (Class) glib_ns.scope.lookup ("Object");
+ foreach (var iface in ifaces_needing_object_prereq) {
+ iface.add_prerequisite (new ObjectType (object_type));
+ }
+
foreach (var metadata in metadata_roots) {
report_unused_metadata (metadata);
}
@@ -3742,7 +3750,7 @@ public class Vala.GirParser : CodeVisitor {
}
if (!has_instantiable_prereq) {
- iface.add_prerequisite (new ObjectType ((ObjectTypeSymbol) glib_ns.scope.lookup
("Object")));
+ ifaces_needing_object_prereq.add (iface);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]