feat: Fix TypeScript inheritance extraction by properly handling class_heritage wrapper nodes

Addresses TypeScript's AST structure where class_heritage nodes wrap extends_clause and implements_clause rather than directly indicating inheritance relationships. Moves class_heritage from direct inheritance extraction to recursive container processing to properly traverse the wrapped inheritance syntax.
This commit is contained in:
Colby McHenry
2026-04-06 21:13:57 -05:00
parent 5046c760cb
commit ce7b7684db
+3 -3
View File
@@ -1214,7 +1214,6 @@ export class TreeSitterExtractor {
if (
child.type === 'extends_clause' ||
child.type === 'class_heritage' ||
child.type === 'superclass' ||
child.type === 'extends_interfaces' // Java interface extends
) {
@@ -1329,8 +1328,9 @@ export class TreeSitterExtractor {
}
}
// Recurse into container nodes (e.g. field_declaration_list in Go structs)
if (child.type === 'field_declaration_list') {
// Recurse into container nodes (e.g. field_declaration_list in Go structs,
// class_heritage in TypeScript which wraps extends_clause/implements_clause)
if (child.type === 'field_declaration_list' || child.type === 'class_heritage') {
this.extractInheritance(child, classId);
}
}