diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-06-16 19:28:24 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2020-02-19 13:29:33 +0100 |
commit | c16b665cb90c66c5ed8362fa70989bde1eaee272 (patch) | |
tree | 6728eb7f02af42ac98166f5f0961aff4ee30eb07 /vala/valagirparser.vala | |
parent | c24a807efe5f06e04d6839a48521730d20769045 (diff) | |
download | vala-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.vala | 2 |
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)); |