[vala/0.42] parser: Implicit creation method of abstract classes must be protected



commit 3dd4140cdc251a3c274bb21cc4db8a3d37cd3039
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Tue Mar 12 10:18:03 2019 +0100

    parser: Implicit creation method of abstract classes must be protected

 tests/girwriter/girtest.vapi-expected | 2 +-
 vala/valagenieparser.vala             | 2 +-
 vala/valaparser.vala                  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/tests/girwriter/girtest.vapi-expected b/tests/girwriter/girtest.vapi-expected
index 0612f09ff..e18b7314d 100644
--- a/tests/girwriter/girtest.vapi-expected
+++ b/tests/girwriter/girtest.vapi-expected
@@ -2,7 +2,7 @@
 namespace GirTest {
        [CCode (cheader_filename = "girtest.h")]
        public abstract class AbstractObjectTest : GLib.Object {
-               public AbstractObjectTest ();
+               protected AbstractObjectTest ();
                public abstract void method_int8_in (int8 param);
                public abstract void method_int8_inout (ref int8 param);
                public abstract void method_int8_out (out int8 param);
diff --git a/vala/valagenieparser.vala b/vala/valagenieparser.vala
index b7c681755..17ec6aaa7 100644
--- a/vala/valagenieparser.vala
+++ b/vala/valagenieparser.vala
@@ -2705,7 +2705,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);
                }
diff --git a/vala/valaparser.vala b/vala/valaparser.vala
index 67544a9b5..14a73640a 100644
--- a/vala/valaparser.vala
+++ b/vala/valaparser.vala
@@ -2587,7 +2587,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);
                }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]