summaryrefslogtreecommitdiff
path: root/vala/valagirparser.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2019-06-16 19:28:24 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2020-02-19 13:29:33 +0100
commitc16b665cb90c66c5ed8362fa70989bde1eaee272 (patch)
tree6728eb7f02af42ac98166f5f0961aff4ee30eb07 /vala/valagirparser.vala
parentc24a807efe5f06e04d6839a48521730d20769045 (diff)
downloadvala-c16b665cb90c66c5ed8362fa70989bde1eaee272.tar.gz
Add support for sealed classes in bindings
The "sealed" keyword was available and parsed for a long time. So simply pick it up information and expose it in the AST. Issue an error when it is used in vala source. See https://gitlab.gnome.org/GNOME/vala/issues/278
Diffstat (limited to 'vala/valagirparser.vala')
-rw-r--r--vala/valagirparser.vala2
1 files changed, 2 insertions, 0 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index 30468323a..6d6f767d8 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -62,6 +62,7 @@ public class Vala.GirParser : CodeVisitor {
VFUNC_NAME,
VIRTUAL,
ABSTRACT,
+ SEALED,
SCOPE,
STRUCT,
THROWS,
@@ -2884,6 +2885,7 @@ public class Vala.GirParser : CodeVisitor {
if (current.new_symbol) {
cl = new Class (current.name, current.source_reference);
cl.is_abstract = metadata.get_bool (ArgumentType.ABSTRACT, reader.get_attribute ("abstract") == "1");
+ cl.is_sealed = metadata.get_bool (ArgumentType.SEALED, false);
if (parent != null) {
cl.add_base_type (parse_type_from_gir_name (parent));