summaryrefslogtreecommitdiff
path: root/vapigen
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2019-11-17 14:08:24 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2019-11-17 14:11:55 +0100
commit626d3e63015a9ac303de3a9e72314b309a0ae123 (patch)
tree270757eea649a460501e0186c3abd5d9fadfc0b0 /vapigen
parent30008bf3607cf98cf2221cb8532aa97a167a7542 (diff)
downloadvala-626d3e63015a9ac303de3a9e72314b309a0ae123.tar.gz
gidl/girparser: Creation methods must not be marked as static
Diffstat (limited to 'vapigen')
-rw-r--r--vapigen/valagidlparser.vala8
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;
}