summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2023-04-24 10:00:44 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2023-04-24 10:00:44 +0200
commit070465d4f28458ba9f0ad73ab35985c04ef5b63a (patch)
treea416bc1b6c1cdb07b5cb309691f141ef3d629d03
parent1cd1a54adfa5883d7a6992a1643d47a3f430d317 (diff)
downloadvala-070465d4f28458ba9f0ad73ab35985c04ef5b63a.tar.gz
girparser: Correctly handled deprecated=false metadata
-rw-r--r--vala/valagirparser.vala10
1 files changed, 5 insertions, 5 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index d86e19f16..9b5be203d 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -556,7 +556,7 @@ public class Vala.GirParser : CodeVisitor {
// objecttypesymbol-specific
public List<DataType> inherited_types;
- public bool deprecated = false;
+ public bool? deprecated = null;
public uint64 deprecated_version = 0;
public string? deprecated_since = null;
public string? deprecated_replacement = null;
@@ -1264,7 +1264,7 @@ public class Vala.GirParser : CodeVisitor {
}
if (metadata.has_argument (ArgumentType.DEPRECATED)) {
deprecated = metadata.get_bool (ArgumentType.DEPRECATED, true);
- if (!deprecated) {
+ if (deprecated == false) {
deprecated_since = null;
deprecated_replacement = null;
}
@@ -1322,13 +1322,13 @@ public class Vala.GirParser : CodeVisitor {
foreach (var node in members) {
if (this.deprecated_version > 0 && node.deprecated_version > 0) {
if (this.deprecated_version <= node.deprecated_version) {
- node.deprecated = false;
+ node.deprecated = null;
node.deprecated_since = null;
node.deprecated_replacement = null;
}
}
- if (node.deprecated) {
- node.symbol.version.deprecated = true;
+ if (node.deprecated != null) {
+ node.symbol.version.deprecated = node.deprecated;
}
if (node.deprecated_since != null) {
node.symbol.version.deprecated_since = node.deprecated_since;