diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-11-17 14:08:24 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-11-17 14:11:55 +0100 |
commit | 626d3e63015a9ac303de3a9e72314b309a0ae123 (patch) | |
tree | 270757eea649a460501e0186c3abd5d9fadfc0b0 /vapigen | |
parent | 30008bf3607cf98cf2221cb8532aa97a167a7542 (diff) | |
download | vala-626d3e63015a9ac303de3a9e72314b309a0ae123.tar.gz |
gidl/girparser: Creation methods must not be marked as static
Diffstat (limited to 'vapigen')
-rw-r--r-- | vapigen/valagidlparser.vala | 8 |
1 files changed, 5 insertions, 3 deletions
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; } |