From: Luca Bruno Date: Thu, 20 Mar 2014 19:28:33 +0000 (+0100) Subject: codegen: Inherit array_length and array_null_terminated of methods X-Git-Tag: 0.24.0~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=42393d7aacf98e0e1657aadebdc8d4961db7a447;p=thirdparty%2Fvala.git codegen: Inherit array_length and array_null_terminated of methods Fixes bug 726744 --- diff --git a/codegen/valaccodeattribute.vala b/codegen/valaccodeattribute.vala index 05745df0c..ce1dcc783 100644 --- a/codegen/valaccodeattribute.vala +++ b/codegen/valaccodeattribute.vala @@ -1303,6 +1303,13 @@ public class Vala.CCodeAttribute : AttributeCache { if (param.base_parameter != null) { return CCodeBaseModule.get_ccode_array_length (param.base_parameter); } + } else if (node is Method) { + var method = (Method) node; + if (method.base_method != null && method.base_method != method) { + return CCodeBaseModule.get_ccode_array_length (method.base_method); + } else if (method.base_interface_method != null && method.base_interface_method != method) { + return CCodeBaseModule.get_ccode_array_length (method.base_interface_method); + } } return true; } @@ -1313,6 +1320,13 @@ public class Vala.CCodeAttribute : AttributeCache { if (param.base_parameter != null) { return CCodeBaseModule.get_ccode_array_null_terminated (param.base_parameter); } + } else if (node is Method) { + var method = (Method) node; + if (method.base_method != null && method.base_method != method) { + return CCodeBaseModule.get_ccode_array_null_terminated (method.base_method); + } else if (method.base_interface_method != null && method.base_interface_method != method) { + return CCodeBaseModule.get_ccode_array_null_terminated (method.base_interface_method); + } } return false; }