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;
} 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);
}
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;
}
}
}
- if (first) {
+ if (first && !(m is CreationMethod)) {
// no parameters => static method
m.binding = MemberBinding.STATIC;
}