diff --git a/ruby/extractor/src/extractor.rs b/ruby/extractor/src/extractor.rs index f5557e5a188..327c405481a 100644 --- a/ruby/extractor/src/extractor.rs +++ b/ruby/extractor/src/extractor.rs @@ -500,13 +500,22 @@ impl<'a> Visitor<'a> { } => { for (index, child_value) in child_values.iter().enumerate() { if !*has_index && index > 0 { - error!( - "{}:{}: too many values for field: {}::{}", - &self.path, - node.start_position().row + 1, + let error_message = format!( + "too many values for field: {}::{}", node.kind(), table_name, ); + let full_error_message = format!( + "{}:{}: {}", + &self.path, + node.start_position().row + 1, + error_message + ); + self.record_parse_error_for_node( + error_message, + full_error_message, + *node, + ); break; } let mut args = vec![trap::Arg::Label(parent_id)];