From: Rico Tzschichholz Date: Sun, 17 Nov 2019 13:08:24 +0000 (+0100) Subject: gidl/girparser: Creation methods must not be marked as static X-Git-Tag: 0.47.2~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=626d3e63015a9ac303de3a9e72314b309a0ae123;p=thirdparty%2Fvala.git gidl/girparser: Creation methods must not be marked as static --- diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index 4213824b2..3f2025093 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -4180,7 +4180,6 @@ public class Vala.GirParser : CodeVisitor { if (finish_method is CreationMethod) { method = new CreationMethod (((CreationMethod) finish_method).class_name, null, m.source_reference); method.access = m.access; - method.binding = m.binding; method.coroutine = true; method.has_construct_function = finish_method.has_construct_function; diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala index 5f956dbf8..82f4b12cc 100644 --- a/vapigen/valagidlparser.vala +++ b/vapigen/valagidlparser.vala @@ -447,7 +447,9 @@ public class Vala.GIdlParser : CodeVisitor { } else if (node.type == IdlNodeTypeId.FUNCTION) { var m = parse_function ((IdlNodeFunction) node); if (m != null) { - m.binding = MemberBinding.STATIC; + if (!(m is CreationMethod)) { + m.binding = MemberBinding.STATIC; + } add_symbol_to_container (container, m); current_source_file.add_node (m); } @@ -2404,7 +2406,7 @@ public class Vala.GIdlParser : CodeVisitor { m.name = m.name.substring ("class_".length, m.name.length - "class_".length); } continue; - } else { + } else if (!(m is CreationMethod)) { // static method m.binding = MemberBinding.STATIC; } @@ -2604,7 +2606,7 @@ public class Vala.GIdlParser : CodeVisitor { } } - if (first) { + if (first && !(m is CreationMethod)) { // no parameters => static method m.binding = MemberBinding.STATIC; }