From: Rico Tzschichholz Date: Thu, 3 Dec 2020 18:44:06 +0000 (+0100) Subject: vala: Report an error if gio-2.0 is missing for DBus support X-Git-Tag: 0.51.1~142 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e94cbcd6cfa0756688a053ea54089508357ff27f;p=thirdparty%2Fvala.git vala: Report an error if gio-2.0 is missing for DBus support --- 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; + } }