} else if (method.base_interface_method != null && method.base_interface_method != method) {
return get_ccode_array_length (method.base_interface_method);
}
+ } else if (node is Property) {
+ unowned Property prop = (Property) node;
+ if (prop.base_property != null && prop.base_property != prop) {
+ return get_ccode_array_length (prop.base_property);
+ } else if (prop.base_interface_property != null && prop.base_interface_property != prop) {
+ return get_ccode_array_length (prop.base_interface_property);
+ }
+ } else if (node is PropertyAccessor) {
+ return get_ccode_array_length (((PropertyAccessor) node).prop);
}
return true;
}
} else if (method.base_interface_method != null && method.base_interface_method != method) {
return get_ccode_array_null_terminated (method.base_interface_method);
}
+ } else if (node is Property) {
+ unowned Property prop = (Property) node;
+ if (prop.base_property != null && prop.base_property != prop) {
+ return get_ccode_array_null_terminated (prop.base_property);
+ } else if (prop.base_interface_property != null && prop.base_interface_property != prop) {
+ return get_ccode_array_null_terminated (prop.base_interface_property);
+ }
+ } else if (node is PropertyAccessor) {
+ return get_ccode_array_null_terminated (((PropertyAccessor) node).prop);
}
return false;
}
}
// return array length if appropriate
- if (((current_method != null && get_ccode_array_length (current_method)) || (current_property_accessor != null && get_ccode_array_length (current_property_accessor.prop))) && current_return_type is ArrayType) {
+ if (((current_method != null && get_ccode_array_length (current_method)) || (current_property_accessor != null && get_ccode_array_length (current_property_accessor))) && current_return_type is ArrayType) {
var temp_value = store_temp_value (stmt.return_expression.target_value, stmt);
var array_type = (ArrayType) current_return_type;