if (return_type is ArrayType && node.return_array_length_idx >= 0) {
if (node.return_array_length_idx >= parameters.size) {
- Report.error (get_current_src (), "invalid array length index");
+ Report.error (return_type.source_reference, "invalid array length index");
} else {
parameters[node.return_array_length_idx].keep = false;
node.array_length_parameters.add (node.return_array_length_idx);
if (info.array_length_idx != -1) {
if ((info.array_length_idx) >= parameters.size) {
- Report.error (get_current_src (), "invalid array_length index");
+ Report.error (info.param.source_reference, "invalid array_length index");
continue;
}
set_array_ccode (info.param, parameters[info.array_length_idx]);
if (info.closure_idx != -1) {
if ((info.closure_idx) >= parameters.size) {
- Report.error (get_current_src (), "invalid closure index");
+ Report.error (info.param.source_reference, "invalid closure index");
continue;
}
if ("%g".printf (parameters[info.closure_idx].vala_idx) != "%g".printf (info.vala_idx + 0.1)) {
}
if (info.destroy_idx != -1) {
if (info.destroy_idx >= parameters.size) {
- Report.error (get_current_src (), "invalid destroy index");
+ Report.error (info.param.source_reference, "invalid destroy index");
continue;
}
if ("%g".printf (parameters[info.destroy_idx].vala_idx) != "%g".printf (info.vala_idx + 0.2)) {