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

Function java_lsp_add_import

internal/cbm/lsp/java_lsp.c:291–319  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

289}
290
291void java_lsp_add_import(JavaLSPContext *ctx, const char *local_name, const char *target_qn,
292 int kind) {
293 if (!ctx || !local_name || !target_qn)
294 return;
295 if (ctx->import_count >= ctx->import_cap) {
296 int new_cap = ctx->import_cap == 0 ? 16 : ctx->import_cap * 2;
297 const char **new_names =
298 (const char **)cbm_arena_alloc(ctx->arena, (size_t)new_cap * sizeof(*new_names));
299 const char **new_qns =
300 (const char **)cbm_arena_alloc(ctx->arena, (size_t)new_cap * sizeof(*new_qns));
301 int *new_kinds = (int *)cbm_arena_alloc(ctx->arena, (size_t)new_cap * sizeof(*new_kinds));
302 if (!new_names || !new_qns || !new_kinds)
303 return;
304 if (ctx->import_count > 0) {
305 memcpy(new_names, ctx->import_local_names,
306 (size_t)ctx->import_count * sizeof(*new_names));
307 memcpy(new_qns, ctx->import_target_qns, (size_t)ctx->import_count * sizeof(*new_qns));
308 memcpy(new_kinds, ctx->import_kinds, (size_t)ctx->import_count * sizeof(*new_kinds));
309 }
310 ctx->import_local_names = new_names;
311 ctx->import_target_qns = new_qns;
312 ctx->import_kinds = new_kinds;
313 ctx->import_cap = new_cap;
314 }
315 ctx->import_local_names[ctx->import_count] = cbm_arena_strdup(ctx->arena, local_name);
316 ctx->import_target_qns[ctx->import_count] = cbm_arena_strdup(ctx->arena, target_qn);
317 ctx->import_kinds[ctx->import_count] = kind;
318 ctx->import_count++;
319}
320
321static void push_enclosing_class(JavaLSPContext *ctx, const char *class_qn) {
322 if (ctx->enclosing_class_depth >= ctx->enclosing_class_cap) {

Callers 3

java_lsp_process_fileFunction · 0.85
cbm_run_java_lspFunction · 0.85
cbm_run_java_lsp_crossFunction · 0.85

Calls 2

cbm_arena_allocFunction · 0.50
cbm_arena_strdupFunction · 0.50

Tested by

no test coverage detected