From 638dc9380c596ed0bdbd66b78495678b68d2c40a Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 7 May 2026 23:40:18 +0200 Subject: [PATCH] Shared: Nicer panic message if node kind is missing Still panics, just with a better message --- shared/tree-sitter-extractor/src/extractor/mod.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/shared/tree-sitter-extractor/src/extractor/mod.rs b/shared/tree-sitter-extractor/src/extractor/mod.rs index 0c3e1366081..4ec16269c1f 100644 --- a/shared/tree-sitter-extractor/src/extractor/mod.rs +++ b/shared/tree-sitter-extractor/src/extractor/mod.rs @@ -479,13 +479,14 @@ impl<'a> Visitor<'a> { let (id, _, child_nodes) = self.stack.pop().expect("Vistor: empty stack"); let loc = location_for(self, self.file_label, node); let loc_label = location_label(self.trap_writer, loc); + let type_name = TypeName { + kind: node.kind().to_owned(), + named: node.is_named(), + }; let table = self .schema - .get(&TypeName { - kind: node.kind().to_owned(), - named: node.is_named(), - }) - .unwrap(); + .get(&type_name) + .unwrap_or_else(|| panic!("missing extractor schema entry for {:?}", type_name)); let mut valid = true; let parent_info = match self.stack.last_mut() { Some(p) if !node.is_extra() => {