From: Rico Tzschichholz Date: Sat, 17 Nov 2018 12:34:07 +0000 (+0100) Subject: genieparser: Use dedicated Class.add_constructor/destructor() methods X-Git-Tag: 0.43.1~93 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b434af7c65e8837f8205c83c47e429a085a4483;p=thirdparty%2Fvala.git genieparser: Use dedicated Class.add_constructor/destructor() methods --- diff --git a/vala/valagenieparser.vala b/vala/valagenieparser.vala index 93374b443..8ed3bab4d 100644 --- a/vala/valagenieparser.vala +++ b/vala/valagenieparser.vala @@ -2729,43 +2729,9 @@ public class Vala.Genie.Parser : CodeVisitor { } else if (sym is Property) { cl.add_property ((Property) sym); } else if (sym is Constructor) { - var c = (Constructor) sym; - if (c.binding == MemberBinding.INSTANCE) { - if (cl.constructor != null) { - Report.error (c.source_reference, "class already contains a constructor"); - } - cl.constructor = c; - } else if (c.binding == MemberBinding.CLASS) { - if (cl.class_constructor != null) { - Report.error (c.source_reference, "class already contains a class constructor"); - } - cl.class_constructor = c; - } else { - if (cl.static_constructor != null) { - Report.error (c.source_reference, "class already contains a static constructor"); - } - cl.static_constructor = c; - } - + cl.add_constructor ((Constructor) sym); } else if (sym is Destructor) { - var d = (Destructor) sym; - if (d.binding == MemberBinding.STATIC) { - if (cl.static_destructor != null) { - Report.error (d.source_reference, "class already contains a static destructor"); - } - cl.static_destructor = (Destructor) d; - } else if (d.binding == MemberBinding.CLASS) { - if (cl.class_destructor != null) { - Report.error (d.source_reference, "class already contains a class destructor"); - } - cl.class_destructor = (Destructor) d; - } else { - if (cl.destructor != null) { - Report.error (d.source_reference, "class already contains a destructor"); - } - cl.destructor = (Destructor) d; - } - + cl.add_destructor ((Destructor) sym); } else { Report.error (sym.source_reference, "unexpected declaration in class"); }