]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
parser: Implicit creation method of abstract classes must be protected
authorRico Tzschichholz <ricotz@ubuntu.com>
Tue, 12 Mar 2019 09:18:03 +0000 (10:18 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Wed, 10 Apr 2019 12:56:24 +0000 (14:56 +0200)
vala/valagenieparser.vala
vala/valaparser.vala

index dcbe3023db183cdaa5e7e0f450f88d747eca4938..5b2aa73f9a87b0a8faeece07abd32e7f5e89c0a9 100644 (file)
@@ -2693,7 +2693,7 @@ public class Vala.Genie.Parser : CodeVisitor {
                if (scanner.source_file.file_type == SourceFileType.SOURCE
                        && cl.default_construction_method == null) {
                        var m = new CreationMethod (cl.name, null, cl.source_reference);
-                       m.access = SymbolAccessibility.PUBLIC;
+                       m.access = (cl.is_abstract ? SymbolAccessibility.PROTECTED : SymbolAccessibility.PUBLIC);
                        m.body = new Block (cl.source_reference);
                        cl.add_method (m);
                }
index dd0e50d5d5c4d437098052e0524c6999b453f0af..9827f0f2c94deee80557adee3d177cf9f26bc445 100644 (file)
@@ -2527,7 +2527,7 @@ public class Vala.Parser : CodeVisitor {
                if (scanner.source_file.file_type == SourceFileType.SOURCE
                    && cl.default_construction_method == null) {
                        var m = new CreationMethod (cl.name, null, cl.source_reference);
-                       m.access = SymbolAccessibility.PUBLIC;
+                       m.access = (cl.is_abstract ? SymbolAccessibility.PROTECTED : SymbolAccessibility.PUBLIC);
                        m.body = new Block (cl.source_reference);
                        cl.add_method (m);
                }