diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-04-16 14:24:25 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-04-16 14:24:25 +0200 |
commit | 46b5b957df1eca5379774348a13f0a6847cdf7da (patch) | |
tree | 833155b46a300958c5ff828b51808b2689099294 /vala/valagirparser.vala | |
parent | 98798fe207759a932831ee4f5d4bd36a698e92a6 (diff) | |
download | vala-46b5b957df1eca5379774348a13f0a6847cdf7da.tar.gz |
girparser: Classes are considered sealed when there were no fields found
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1036
Diffstat (limited to 'vala/valagirparser.vala')
-rw-r--r-- | vala/valagirparser.vala | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index 70206da6c..d86e19f16 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -3137,6 +3137,16 @@ public class Vala.GirParser : CodeVisitor { pop_metadata (); } + // There is no instance field therefore this type might be final/sealed + if (first_field && !cl.is_abstract && !(cl.is_opaque || cl.is_sealed)) { + if (!cl.is_compact + && !metadata.has_argument (ArgumentType.ABSTRACT) + && !metadata.has_argument (ArgumentType.COMPACT) + && !metadata.has_argument (ArgumentType.SEALED)) { + cl.is_sealed = true; + } + } + pop_node (); end_element ("class"); } |