MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / parse_python_imports

Function parse_python_imports

internal/cbm/extract_imports.c:306–326  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

304}
305
306static void parse_python_imports(CBMExtractCtx *ctx) {
307 TSTreeCursor cursor = ts_tree_cursor_new(ctx->root);
308 if (!ts_tree_cursor_goto_first_child(&cursor)) {
309 ts_tree_cursor_delete(&cursor);
310 return;
311 }
312 do {
313 TSNode node = ts_tree_cursor_current_node(&cursor);
314 const char *kind = ts_node_type(node);
315
316 if (strcmp(kind, "import_statement") == 0) {
317 process_py_import_stmt(ctx, node);
318 } else if (strcmp(kind, "import_from_statement") == 0 ||
319 strcmp(kind, "future_import_statement") == 0) {
320 // `from __future__ import annotations` is a distinct node type in
321 // tree-sitter-python but has the same shape (module + name list).
322 process_py_import_from(ctx, node);
323 }
324 } while (ts_tree_cursor_goto_next_sibling(&cursor));
325 ts_tree_cursor_delete(&cursor);
326}
327
328// --- ES module imports (JS/TS/TSX) ---
329// import X from "Y"; import {A, B} from "Y"; import * as X from "Y"

Callers 1

cbm_extract_importsFunction · 0.85

Calls 2

process_py_import_stmtFunction · 0.85
process_py_import_fromFunction · 0.85

Tested by

no test coverage detected