diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2020-12-03 19:44:06 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2020-12-03 20:13:43 +0100 |
commit | e94cbcd6cfa0756688a053ea54089508357ff27f (patch) | |
tree | 7fa0167031166544d34ef58600adde94d3a0d0ff | |
parent | 2afae792aad17650cc0b64ecb06554239dee235c (diff) | |
download | vala-e94cbcd6cfa0756688a053ea54089508357ff27f.tar.gz |
vala: Report an error if gio-2.0 is missing for DBus support
-rw-r--r-- | vala/valaclass.vala | 4 | ||||
-rw-r--r-- | vala/valainterface.vala | 4 | ||||
-rw-r--r-- | vala/valaobjecttypesymbol.vala | 13 |
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; + } } |