1 parent 04865cb commit d456656Copy full SHA for d456656
1 file changed
shared/tree-sitter-extractor/src/generator/ql_gen.rs
@@ -862,6 +862,9 @@ fn compute_exposed_predicates<'a, 'b>(
862
let node = nodes.get(type_name);
863
let class_name = node.map_or(type_name.kind.as_str(), |node| node.ql_class_name.as_str());
864
if !cache.contains_key(class_name) {
865
+ // Supertype declarations that recursively refer to themselves are a mistake, but we don't
866
+ // want to cause infinite recursion, so we insert a temporary sentinel.
867
+ cache.insert(class_name, Vec::new());
868
let exposed = match node.map(|node| &node.kind) {
869
Some(node_types::EntryKind::Table { .. }) => {
870
field_predicates.get(type_name).cloned().unwrap_or_default()
0 commit comments