feat: Add Ruby module extraction with containment and qualified names

Addresses Ruby methods inside modules missing owner in qualified_name by adding visitNode hook to extract module AST nodes. Methods inside modules now get Module::method qualified names with proper containment relationships. Includes ExtractorContext wiring with pushScope/popScope for language hooks and updates isInsideClassLikeNode to include module kind for nested method handling.
This commit is contained in:
Colby McHenry
2026-04-07 09:17:34 -05:00
parent 07d899b735
commit 59ea5a43be
7 changed files with 126 additions and 6 deletions
+4
View File
@@ -56,6 +56,10 @@ export interface ExtractorContext {
visitFunctionBody(body: SyntaxNode, functionId: string): void;
/** Add an unresolved reference */
addUnresolvedReference(ref: UnresolvedReference): void;
/** Push a node ID onto the scope stack (for containment/qualified name building) */
pushScope(nodeId: string): void;
/** Pop the last node ID from the scope stack */
popScope(): void;
/** Current file path */
readonly filePath: string;
/** Current source text */