summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2021-03-14 08:26:42 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2021-03-14 08:26:42 +0100
commitdb9f3452474181acaba3da72ad65e294f3e86807 (patch)
treeef9e3830541df02f1e9ce729a79d67262cf0caa2
parentbee6b5c713a3b398694c516066f6ffd6ea32015e (diff)
downloadvala-db9f3452474181acaba3da72ad65e294f3e86807.tar.gz
girparser: Allow overriding of "Compact" attribute for classes
-rw-r--r--vala/valagirparser.vala7
1 files changed, 6 insertions, 1 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index 023581714..ddd511f24 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -63,6 +63,7 @@ public class Vala.GirParser : CodeVisitor {
VFUNC_NAME,
VIRTUAL,
ABSTRACT,
+ COMPACT,
SEALED,
SCOPE,
STRUCT,
@@ -3521,7 +3522,11 @@ public class Vala.GirParser : CodeVisitor {
bool require_copy_free = false;
if (current.new_symbol) {
cl = new Class (current.name, current.source_reference);
- cl.set_attribute ("Compact", true);
+ if (metadata.has_argument (ArgumentType.COMPACT)) {
+ cl.set_attribute ("Compact", metadata.get_bool (ArgumentType.COMPACT));
+ } else {
+ cl.set_attribute ("Compact", true);
+ }
current.symbol = cl;
} else {
cl = (Class) current.symbol;