summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2020-12-03 19:44:06 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2020-12-03 20:13:43 +0100
commite94cbcd6cfa0756688a053ea54089508357ff27f (patch)
tree7fa0167031166544d34ef58600adde94d3a0d0ff
parent2afae792aad17650cc0b64ecb06554239dee235c (diff)
downloadvala-e94cbcd6cfa0756688a053ea54089508357ff27f.tar.gz
vala: Report an error if gio-2.0 is missing for DBus support
-rw-r--r--vala/valaclass.vala4
-rw-r--r--vala/valainterface.vala4
-rw-r--r--vala/valaobjecttypesymbol.vala13
3 files changed, 21 insertions, 0 deletions
diff --git a/vala/valaclass.vala b/vala/valaclass.vala
index 9ebb17271..7d59cfaad 100644
--- a/vala/valaclass.vala
+++ b/vala/valaclass.vala
@@ -522,6 +522,10 @@ public class Vala.Class : ObjectTypeSymbol {
return !error;
}
+ if (!base.check (context)) {
+ return false;
+ }
+
checked = true;
var old_source_file = context.analyzer.current_source_file;
diff --git a/vala/valainterface.vala b/vala/valainterface.vala
index 5cd8bd446..1e0cbdaa8 100644
--- a/vala/valainterface.vala
+++ b/vala/valainterface.vala
@@ -156,6 +156,10 @@ public class Vala.Interface : ObjectTypeSymbol {
return !error;
}
+ if (!base.check (context)) {
+ return false;
+ }
+
checked = true;
var old_source_file = context.analyzer.current_source_file;
diff --git a/vala/valaobjecttypesymbol.vala b/vala/valaobjecttypesymbol.vala
index c79df83a3..c771f8541 100644
--- a/vala/valaobjecttypesymbol.vala
+++ b/vala/valaobjecttypesymbol.vala
@@ -375,4 +375,17 @@ public abstract class Vala.ObjectTypeSymbol : TypeSymbol {
d.accept (visitor);
}
}
+
+ public override bool check (CodeContext context) {
+ if (checked) {
+ return !error;
+ }
+
+ if (!external_package && get_attribute ("DBus") != null && !context.has_package ("gio-2.0")) {
+ error = true;
+ Report.error (source_reference, "gio-2.0 package required for DBus support");
+ }
+
+ return !error;
+ }
}