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



commit fac2cec7502e2a365ff3b0bf7a8e0742b5c30586
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 e1bd9025b..99b4fba88 100644
--- a/vala/valagenieparser.vala
+++ b/vala/valagenieparser.vala
@@ -2689,7 +2689,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 dbc3b778e..2614dad72 100644
--- a/vala/valaparser.vala
+++ b/vala/valaparser.vala
@@ -2571,7 +2571,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]