circle-ir 4.7.2 → 4.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -54,6 +54,9 @@ export function buildCFG(tree, language, cache) {
54
54
  if (effectiveLanguage === 'go') {
55
55
  return buildGoCFG(tree, blockIdCounter, cache);
56
56
  }
57
+ if (effectiveLanguage === 'csharp') {
58
+ return buildCSharpCFG(tree, blockIdCounter, cache);
59
+ }
57
60
  if (isJavaScript) {
58
61
  // Find all JavaScript function bodies
59
62
  const functions = [
@@ -69,7 +72,7 @@ export function buildCFG(tree, language, cache) {
69
72
  continue;
70
73
  // Arrow functions can have expression bodies
71
74
  if (body.type === 'statement_block') {
72
- const { blocks, edges, nextId } = buildMethodCFG(body, blockIdCounter, true);
75
+ const { blocks, edges, nextId } = buildMethodCFG(body, blockIdCounter, 'js');
73
76
  allBlocks.push(...blocks);
74
77
  allEdges.push(...edges);
75
78
  blockIdCounter = nextId;
@@ -96,7 +99,7 @@ export function buildCFG(tree, language, cache) {
96
99
  const body = method.childForFieldName('body');
97
100
  if (!body)
98
101
  continue;
99
- const { blocks, edges, nextId } = buildMethodCFG(body, blockIdCounter, false);
102
+ const { blocks, edges, nextId } = buildMethodCFG(body, blockIdCounter, 'java');
100
103
  allBlocks.push(...blocks);
101
104
  allEdges.push(...edges);
102
105
  blockIdCounter = nextId;
@@ -104,10 +107,46 @@ export function buildCFG(tree, language, cache) {
104
107
  }
105
108
  return { blocks: allBlocks, edges: allEdges };
106
109
  }
110
+ /**
111
+ * Build CFG for C# code.
112
+ *
113
+ * C# shares most control-flow node names with Java (`if_statement`,
114
+ * `for_statement`, `while_statement`, `do_statement`, `try_statement`,
115
+ * `switch_statement`, `return_statement`, `block`) but diverges on
116
+ * declarations (`local_declaration_statement`), iteration (`foreach_statement`),
117
+ * scoped blocks (`using_statement` / `lock_statement`) and switch bodies
118
+ * (`switch_section`). The shared statement processors handle those via the
119
+ * `'csharp'` dialect. Method-like containers include property accessors,
120
+ * local functions and operators in addition to methods/constructors.
121
+ */
122
+ function buildCSharpCFG(tree, blockIdCounter, cache) {
123
+ const allBlocks = [];
124
+ const allEdges = [];
125
+ const containers = [
126
+ ...getNodesFromCache(tree.rootNode, 'method_declaration', cache),
127
+ ...getNodesFromCache(tree.rootNode, 'constructor_declaration', cache),
128
+ ...getNodesFromCache(tree.rootNode, 'destructor_declaration', cache),
129
+ ...getNodesFromCache(tree.rootNode, 'operator_declaration', cache),
130
+ ...getNodesFromCache(tree.rootNode, 'local_function_statement', cache),
131
+ ...getNodesFromCache(tree.rootNode, 'accessor_declaration', cache),
132
+ ];
133
+ for (const container of containers) {
134
+ // Only block-bodied members produce a CFG; expression-bodied members
135
+ // (`=> expr`) carry no branch structure (complexity 1) and are skipped.
136
+ const body = container.childForFieldName('body');
137
+ if (!body || body.type !== 'block')
138
+ continue;
139
+ const { blocks, edges, nextId } = buildMethodCFG(body, blockIdCounter, 'csharp');
140
+ allBlocks.push(...blocks);
141
+ allEdges.push(...edges);
142
+ blockIdCounter = nextId;
143
+ }
144
+ return { blocks: allBlocks, edges: allEdges };
145
+ }
107
146
  /**
108
147
  * Build CFG for a method body.
109
148
  */
110
- function buildMethodCFG(body, startId, isJavaScript) {
149
+ function buildMethodCFG(body, startId, dialect) {
111
150
  const blocks = [];
112
151
  const edges = [];
113
152
  let currentId = startId;
@@ -120,7 +159,7 @@ function buildMethodCFG(body, startId, isJavaScript) {
120
159
  };
121
160
  blocks.push(entryBlock);
122
161
  // Process statements in the body
123
- const result = processStatements(body, currentId, blocks, edges, isJavaScript);
162
+ const result = processStatements(body, currentId, blocks, edges, dialect);
124
163
  currentId = result.nextId;
125
164
  // Connect entry to first statement
126
165
  if (result.entryId !== -1) {
@@ -159,7 +198,7 @@ function buildMethodCFG(body, startId, isJavaScript) {
159
198
  /**
160
199
  * Process statements in a block.
161
200
  */
162
- function processStatements(container, startId, blocks, edges, isJavaScript) {
201
+ function processStatements(container, startId, blocks, edges, dialect) {
163
202
  let currentId = startId;
164
203
  let firstBlockId = -1;
165
204
  let lastExitIds = [];
@@ -168,9 +207,9 @@ function processStatements(container, startId, blocks, edges, isJavaScript) {
168
207
  if (!stmt)
169
208
  continue;
170
209
  // Skip non-statement nodes
171
- if (!isStatement(stmt, isJavaScript))
210
+ if (!isStatement(stmt, dialect))
172
211
  continue;
173
- const result = processStatement(stmt, currentId, blocks, edges, isJavaScript);
212
+ const result = processStatement(stmt, currentId, blocks, edges, dialect);
174
213
  currentId = result.nextId;
175
214
  if (firstBlockId === -1) {
176
215
  firstBlockId = result.entryId;
@@ -196,31 +235,52 @@ function processStatements(container, startId, blocks, edges, isJavaScript) {
196
235
  /**
197
236
  * Process a single statement.
198
237
  */
199
- function processStatement(stmt, startId, blocks, edges, isJavaScript) {
238
+ function processStatement(stmt, startId, blocks, edges, dialect) {
200
239
  switch (stmt.type) {
201
240
  case 'if_statement':
202
- return processIfStatement(stmt, startId, blocks, edges, isJavaScript);
241
+ return processIfStatement(stmt, startId, blocks, edges, dialect);
203
242
  case 'for_statement':
204
243
  case 'enhanced_for_statement':
205
244
  case 'for_in_statement':
206
245
  case 'for_of_statement':
207
- return processForStatement(stmt, startId, blocks, edges, isJavaScript);
246
+ case 'foreach_statement': // C#
247
+ return processForStatement(stmt, startId, blocks, edges, dialect);
208
248
  case 'while_statement':
209
- return processWhileStatement(stmt, startId, blocks, edges, isJavaScript);
249
+ return processWhileStatement(stmt, startId, blocks, edges, dialect);
210
250
  case 'do_statement':
211
- return processDoWhileStatement(stmt, startId, blocks, edges, isJavaScript);
251
+ return processDoWhileStatement(stmt, startId, blocks, edges, dialect);
212
252
  case 'try_statement':
213
- return processTryStatement(stmt, startId, blocks, edges, isJavaScript);
253
+ return processTryStatement(stmt, startId, blocks, edges, dialect);
214
254
  case 'switch_expression':
215
255
  case 'switch_statement':
216
- return processSwitchStatement(stmt, startId, blocks, edges, isJavaScript);
256
+ return processSwitchStatement(stmt, startId, blocks, edges, dialect);
257
+ // C# scoped blocks add no branching — flow through the inner block so its
258
+ // nested statements are still captured.
259
+ case 'using_statement':
260
+ case 'lock_statement':
261
+ case 'checked_statement':
262
+ case 'unsafe_statement': {
263
+ const inner = stmt.childForFieldName('body') ?? lastBlockChild(stmt);
264
+ if (inner)
265
+ return processStatement(inner, startId, blocks, edges, dialect);
266
+ return processSimpleStatement(stmt, startId, blocks);
267
+ }
217
268
  case 'block':
218
269
  case 'statement_block':
219
- return processStatements(stmt, startId, blocks, edges, isJavaScript);
270
+ return processStatements(stmt, startId, blocks, edges, dialect);
220
271
  default:
221
272
  return processSimpleStatement(stmt, startId, blocks);
222
273
  }
223
274
  }
275
+ /** Last direct `block` child of a node (C# `lock`/`unsafe` bodies are unnamed). */
276
+ function lastBlockChild(node) {
277
+ for (let i = node.childCount - 1; i >= 0; i--) {
278
+ const c = node.child(i);
279
+ if (c && c.type === 'block')
280
+ return c;
281
+ }
282
+ return null;
283
+ }
224
284
  /**
225
285
  * Process a simple (non-control-flow) statement.
226
286
  */
@@ -241,7 +301,7 @@ function processSimpleStatement(stmt, startId, blocks) {
241
301
  /**
242
302
  * Process an if statement.
243
303
  */
244
- function processIfStatement(stmt, startId, blocks, edges, isJavaScript) {
304
+ function processIfStatement(stmt, startId, blocks, edges, dialect) {
245
305
  let currentId = startId;
246
306
  // Create conditional block
247
307
  const condBlock = {
@@ -255,7 +315,7 @@ function processIfStatement(stmt, startId, blocks, edges, isJavaScript) {
255
315
  // Process consequence (then branch)
256
316
  const consequence = stmt.childForFieldName('consequence');
257
317
  if (consequence) {
258
- const thenResult = processStatement(consequence, currentId, blocks, edges, isJavaScript);
318
+ const thenResult = processStatement(consequence, currentId, blocks, edges, dialect);
259
319
  currentId = thenResult.nextId;
260
320
  edges.push({
261
321
  from: condBlock.id,
@@ -267,7 +327,7 @@ function processIfStatement(stmt, startId, blocks, edges, isJavaScript) {
267
327
  // Process alternative (else branch)
268
328
  const alternative = stmt.childForFieldName('alternative');
269
329
  if (alternative) {
270
- const elseResult = processStatement(alternative, currentId, blocks, edges, isJavaScript);
330
+ const elseResult = processStatement(alternative, currentId, blocks, edges, dialect);
271
331
  currentId = elseResult.nextId;
272
332
  edges.push({
273
333
  from: condBlock.id,
@@ -289,7 +349,7 @@ function processIfStatement(stmt, startId, blocks, edges, isJavaScript) {
289
349
  /**
290
350
  * Process a for statement.
291
351
  */
292
- function processForStatement(stmt, startId, blocks, edges, isJavaScript) {
352
+ function processForStatement(stmt, startId, blocks, edges, dialect) {
293
353
  let currentId = startId;
294
354
  // Create loop header block
295
355
  const loopBlock = {
@@ -302,7 +362,7 @@ function processForStatement(stmt, startId, blocks, edges, isJavaScript) {
302
362
  // Process body
303
363
  const body = stmt.childForFieldName('body');
304
364
  if (body) {
305
- const bodyResult = processStatement(body, currentId, blocks, edges, isJavaScript);
365
+ const bodyResult = processStatement(body, currentId, blocks, edges, dialect);
306
366
  currentId = bodyResult.nextId;
307
367
  // Connect loop to body (true branch)
308
368
  edges.push({
@@ -328,21 +388,21 @@ function processForStatement(stmt, startId, blocks, edges, isJavaScript) {
328
388
  /**
329
389
  * Process a while statement.
330
390
  */
331
- function processWhileStatement(stmt, startId, blocks, edges, isJavaScript) {
391
+ function processWhileStatement(stmt, startId, blocks, edges, dialect) {
332
392
  // Similar to for statement
333
- return processForStatement(stmt, startId, blocks, edges, isJavaScript);
393
+ return processForStatement(stmt, startId, blocks, edges, dialect);
334
394
  }
335
395
  /**
336
396
  * Process a do-while statement.
337
397
  */
338
- function processDoWhileStatement(stmt, startId, blocks, edges, isJavaScript) {
398
+ function processDoWhileStatement(stmt, startId, blocks, edges, dialect) {
339
399
  let currentId = startId;
340
400
  // Process body first
341
401
  const body = stmt.childForFieldName('body');
342
402
  let bodyEntryId = currentId;
343
403
  let bodyExitIds = [];
344
404
  if (body) {
345
- const bodyResult = processStatement(body, currentId, blocks, edges, isJavaScript);
405
+ const bodyResult = processStatement(body, currentId, blocks, edges, dialect);
346
406
  currentId = bodyResult.nextId;
347
407
  bodyEntryId = bodyResult.entryId;
348
408
  bodyExitIds = bodyResult.exitIds;
@@ -378,14 +438,14 @@ function processDoWhileStatement(stmt, startId, blocks, edges, isJavaScript) {
378
438
  /**
379
439
  * Process a try statement.
380
440
  */
381
- function processTryStatement(stmt, startId, blocks, edges, isJavaScript) {
441
+ function processTryStatement(stmt, startId, blocks, edges, dialect) {
382
442
  let currentId = startId;
383
443
  const exitIds = [];
384
444
  // Process try body
385
445
  const body = stmt.childForFieldName('body');
386
446
  let tryEntryId = -1;
387
447
  if (body) {
388
- const bodyResult = processStatements(body, currentId, blocks, edges, isJavaScript);
448
+ const bodyResult = processStatements(body, currentId, blocks, edges, dialect);
389
449
  currentId = bodyResult.nextId;
390
450
  tryEntryId = bodyResult.entryId;
391
451
  exitIds.push(...bodyResult.exitIds);
@@ -396,7 +456,7 @@ function processTryStatement(stmt, startId, blocks, edges, isJavaScript) {
396
456
  if (child?.type === 'catch_clause') {
397
457
  const catchBody = child.childForFieldName('body');
398
458
  if (catchBody) {
399
- const catchResult = processStatements(catchBody, currentId, blocks, edges, isJavaScript);
459
+ const catchResult = processStatements(catchBody, currentId, blocks, edges, dialect);
400
460
  currentId = catchResult.nextId;
401
461
  // Add exception edges from try blocks to catch
402
462
  if (tryEntryId !== -1) {
@@ -410,10 +470,20 @@ function processTryStatement(stmt, startId, blocks, edges, isJavaScript) {
410
470
  }
411
471
  }
412
472
  }
413
- // Process finally clause (Java: finally, JS: finalizer)
414
- const finallyClause = stmt.childForFieldName('finally') ?? stmt.childForFieldName('finalizer');
473
+ // Process finally clause (Java: finally, JS: finalizer). C# has no field —
474
+ // the `finally_clause` is a child node whose body is a `block`.
475
+ let finallyClause = stmt.childForFieldName('finally') ?? stmt.childForFieldName('finalizer');
476
+ if (!finallyClause && dialect === 'csharp') {
477
+ for (let i = 0; i < stmt.childCount; i++) {
478
+ const child = stmt.child(i);
479
+ if (child?.type === 'finally_clause') {
480
+ finallyClause = lastBlockChild(child);
481
+ break;
482
+ }
483
+ }
484
+ }
415
485
  if (finallyClause) {
416
- const finallyResult = processStatements(finallyClause, currentId, blocks, edges, isJavaScript);
486
+ const finallyResult = processStatements(finallyClause, currentId, blocks, edges, dialect);
417
487
  currentId = finallyResult.nextId;
418
488
  // Connect all exits to finally
419
489
  for (const exitId of exitIds) {
@@ -438,7 +508,7 @@ function processTryStatement(stmt, startId, blocks, edges, isJavaScript) {
438
508
  /**
439
509
  * Process a switch statement.
440
510
  */
441
- function processSwitchStatement(stmt, startId, blocks, edges, isJavaScript) {
511
+ function processSwitchStatement(stmt, startId, blocks, edges, dialect) {
442
512
  let currentId = startId;
443
513
  // Create conditional block for switch expression
444
514
  const switchBlock = {
@@ -452,14 +522,17 @@ function processSwitchStatement(stmt, startId, blocks, edges, isJavaScript) {
452
522
  // Find switch body
453
523
  const body = stmt.childForFieldName('body');
454
524
  if (body) {
455
- // Process each case (Java: switch_block_statement_group, JS: switch_case, switch_default)
456
- const caseTypes = isJavaScript
525
+ // Per-case containers: JS `switch_case`/`switch_default`,
526
+ // C# `switch_section`, Java `switch_block_statement_group`/`switch_rule`.
527
+ const caseTypes = dialect === 'js'
457
528
  ? ['switch_case', 'switch_default']
458
- : ['switch_block_statement_group', 'switch_rule'];
529
+ : dialect === 'csharp'
530
+ ? ['switch_section']
531
+ : ['switch_block_statement_group', 'switch_rule'];
459
532
  for (let i = 0; i < body.childCount; i++) {
460
533
  const child = body.child(i);
461
534
  if (child && caseTypes.includes(child.type)) {
462
- const caseResult = processStatements(child, currentId, blocks, edges, isJavaScript);
535
+ const caseResult = processStatements(child, currentId, blocks, edges, dialect);
463
536
  currentId = caseResult.nextId;
464
537
  if (caseResult.entryId !== -1) {
465
538
  edges.push({
@@ -502,7 +575,7 @@ function buildBashCFG(tree, startId, cache) {
502
575
  const body = func.childForFieldName('body');
503
576
  if (!body)
504
577
  continue;
505
- const { blocks, edges, nextId } = buildMethodCFG(body, blockIdCounter, false);
578
+ const { blocks, edges, nextId } = buildMethodCFG(body, blockIdCounter, 'java');
506
579
  allBlocks.push(...blocks);
507
580
  allEdges.push(...edges);
508
581
  blockIdCounter = nextId;
@@ -528,7 +601,7 @@ function buildBashCFG(tree, startId, cache) {
528
601
  let lastExitIds = [];
529
602
  let firstBlockId = -1;
530
603
  for (const stmt of topLevelStatements) {
531
- const result = processStatement(stmt, blockIdCounter, allBlocks, allEdges, false);
604
+ const result = processStatement(stmt, blockIdCounter, allBlocks, allEdges, 'java');
532
605
  blockIdCounter = result.nextId;
533
606
  if (firstBlockId === -1) {
534
607
  firstBlockId = result.entryId;
@@ -581,7 +654,9 @@ function isBashStatement(node) {
581
654
  /**
582
655
  * Check if a node is a statement.
583
656
  */
584
- function isStatement(node, isJavaScript) {
657
+ function isStatement(node, dialect) {
658
+ if (dialect === 'csharp')
659
+ return csharpStatementTypes.has(node.type);
585
660
  const javaStatementTypes = new Set([
586
661
  'local_variable_declaration',
587
662
  'expression_statement',
@@ -625,8 +700,33 @@ function isStatement(node, isJavaScript) {
625
700
  'export_statement',
626
701
  'import_statement',
627
702
  ]);
628
- return isJavaScript ? jsStatementTypes.has(node.type) : javaStatementTypes.has(node.type);
703
+ return dialect === 'js' ? jsStatementTypes.has(node.type) : javaStatementTypes.has(node.type);
629
704
  }
705
+ // C# statement node types (grammar diverges from Java on declarations,
706
+ // iteration and scoped blocks). Kept module-level so `isStatement` allocates
707
+ // it once rather than per call.
708
+ const csharpStatementTypes = new Set([
709
+ 'local_declaration_statement',
710
+ 'expression_statement',
711
+ 'if_statement',
712
+ 'for_statement',
713
+ 'foreach_statement',
714
+ 'while_statement',
715
+ 'do_statement',
716
+ 'try_statement',
717
+ 'switch_statement',
718
+ 'return_statement',
719
+ 'throw_statement',
720
+ 'break_statement',
721
+ 'continue_statement',
722
+ 'using_statement',
723
+ 'lock_statement',
724
+ 'checked_statement',
725
+ 'unsafe_statement',
726
+ 'yield_statement',
727
+ 'goto_statement',
728
+ 'block',
729
+ ]);
630
730
  // =============================================================================
631
731
  // Go CFG Builder
632
732
  // =============================================================================
@@ -651,7 +751,7 @@ function buildGoCFG(tree, blockIdCounter, cache) {
651
751
  const body = func.childForFieldName('body');
652
752
  if (!body || body.type !== 'block')
653
753
  continue;
654
- const { blocks, edges, nextId } = buildMethodCFG(body, blockIdCounter, false);
754
+ const { blocks, edges, nextId } = buildMethodCFG(body, blockIdCounter, 'java');
655
755
  allBlocks.push(...blocks);
656
756
  allEdges.push(...edges);
657
757
  blockIdCounter = nextId;
@@ -1 +1 @@
1
- {"version":3,"file":"cfg.js","sourceRoot":"","sources":["../../../src/core/extractors/cfg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cfg.js","sourceRoot":"","sources":["../../../src/core/extractors/cfg.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "circle-ir",
3
- "version": "4.7.2",
3
+ "version": "4.8.2",
4
4
  "description": "High-performance Static Application Security Testing (SAST) library for detecting security vulnerabilities through taint analysis",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",