@liendev/parser 0.42.0 → 0.44.0

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.
Files changed (61) hide show
  1. package/dist/ast/chunker.d.ts.map +1 -1
  2. package/dist/ast/chunker.js +30 -8
  3. package/dist/ast/chunker.js.map +1 -1
  4. package/dist/ast/complexity/cognitive.d.ts.map +1 -1
  5. package/dist/ast/complexity/cognitive.js +6 -11
  6. package/dist/ast/complexity/cognitive.js.map +1 -1
  7. package/dist/ast/complexity/cyclomatic.d.ts.map +1 -1
  8. package/dist/ast/complexity/cyclomatic.js +2 -4
  9. package/dist/ast/complexity/cyclomatic.js.map +1 -1
  10. package/dist/ast/extractors/symbol-helpers.d.ts.map +1 -1
  11. package/dist/ast/extractors/symbol-helpers.js +2 -3
  12. package/dist/ast/extractors/symbol-helpers.js.map +1 -1
  13. package/dist/ast/languages/csharp.d.ts +106 -0
  14. package/dist/ast/languages/csharp.d.ts.map +1 -0
  15. package/dist/ast/languages/csharp.js +588 -0
  16. package/dist/ast/languages/csharp.js.map +1 -0
  17. package/dist/ast/languages/go.d.ts.map +1 -1
  18. package/dist/ast/languages/go.js +17 -40
  19. package/dist/ast/languages/go.js.map +1 -1
  20. package/dist/ast/languages/java.d.ts.map +1 -1
  21. package/dist/ast/languages/java.js +20 -50
  22. package/dist/ast/languages/java.js.map +1 -1
  23. package/dist/ast/languages/javascript.d.ts.map +1 -1
  24. package/dist/ast/languages/javascript.js +53 -88
  25. package/dist/ast/languages/javascript.js.map +1 -1
  26. package/dist/ast/languages/php.d.ts.map +1 -1
  27. package/dist/ast/languages/php.js +25 -54
  28. package/dist/ast/languages/php.js.map +1 -1
  29. package/dist/ast/languages/python.d.ts.map +1 -1
  30. package/dist/ast/languages/python.js +18 -36
  31. package/dist/ast/languages/python.js.map +1 -1
  32. package/dist/ast/languages/registry.d.ts +1 -1
  33. package/dist/ast/languages/registry.d.ts.map +1 -1
  34. package/dist/ast/languages/registry.js +3 -0
  35. package/dist/ast/languages/registry.js.map +1 -1
  36. package/dist/ast/languages/rust.d.ts.map +1 -1
  37. package/dist/ast/languages/rust.js +32 -75
  38. package/dist/ast/languages/rust.js.map +1 -1
  39. package/dist/ast/symbols.d.ts +12 -5
  40. package/dist/ast/symbols.d.ts.map +1 -1
  41. package/dist/ast/symbols.js +72 -22
  42. package/dist/ast/symbols.js.map +1 -1
  43. package/dist/dependency-analyzer.d.ts +12 -2
  44. package/dist/dependency-analyzer.d.ts.map +1 -1
  45. package/dist/dependency-analyzer.js +59 -17
  46. package/dist/dependency-analyzer.js.map +1 -1
  47. package/dist/index.d.ts +2 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +4 -0
  50. package/dist/index.js.map +1 -1
  51. package/dist/risk/blast-radius-risk.d.ts +41 -0
  52. package/dist/risk/blast-radius-risk.d.ts.map +1 -0
  53. package/dist/risk/blast-radius-risk.js +54 -0
  54. package/dist/risk/blast-radius-risk.js.map +1 -0
  55. package/dist/types.d.ts +1 -0
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/utils/path-matching.d.ts +17 -0
  58. package/dist/utils/path-matching.d.ts.map +1 -1
  59. package/dist/utils/path-matching.js +24 -0
  60. package/dist/utils/path-matching.js.map +1 -1
  61. package/package.json +2 -1
@@ -0,0 +1,588 @@
1
+ import CSharp from 'tree-sitter-c-sharp';
2
+ import { extractSignature, extractParameters } from '../extractors/symbol-helpers.js';
3
+ import { calculateComplexity } from '../complexity/index.js';
4
+ // =============================================================================
5
+ // TRAVERSER
6
+ // =============================================================================
7
+ /**
8
+ * C# AST traverser
9
+ *
10
+ * C# has a class-based container structure similar to Java, with methods
11
+ * inside class, interface, struct, record, and enum declarations. Unlike Java,
12
+ * C# has namespaces that can nest declarations, and uses `declaration_list`
13
+ * as the unified body node type for all containers.
14
+ *
15
+ * Lambda expressions can appear in variable declarations:
16
+ * Action a = () => { ... };
17
+ */
18
+ export class CSharpTraverser {
19
+ targetNodeTypes = ['method_declaration', 'constructor_declaration'];
20
+ containerTypes = [
21
+ 'class_declaration',
22
+ 'interface_declaration',
23
+ 'struct_declaration',
24
+ 'record_declaration',
25
+ 'enum_declaration',
26
+ ];
27
+ declarationTypes = ['local_declaration_statement'];
28
+ functionTypes = ['lambda_expression'];
29
+ shouldExtractChildren(node) {
30
+ return this.containerTypes.includes(node.type);
31
+ }
32
+ isDeclarationWithFunction(node) {
33
+ if (node.type !== 'local_declaration_statement')
34
+ return false;
35
+ return findDescendant(node, 'lambda_expression') !== null;
36
+ }
37
+ getContainerBody(node) {
38
+ if (this.containerTypes.includes(node.type)) {
39
+ return node.childForFieldName('body');
40
+ }
41
+ return null;
42
+ }
43
+ shouldTraverseChildren(node) {
44
+ return (node.type === 'compilation_unit' ||
45
+ node.type === 'declaration_list' ||
46
+ node.type === 'namespace_declaration' ||
47
+ node.type === 'file_scoped_namespace_declaration');
48
+ }
49
+ findParentContainerName(node) {
50
+ let current = node.parent;
51
+ while (current) {
52
+ if (current.type === 'class_declaration' ||
53
+ current.type === 'interface_declaration' ||
54
+ current.type === 'struct_declaration' ||
55
+ current.type === 'record_declaration' ||
56
+ current.type === 'enum_declaration') {
57
+ const nameNode = current.childForFieldName('name');
58
+ return nameNode?.text;
59
+ }
60
+ current = current.parent;
61
+ }
62
+ return undefined;
63
+ }
64
+ findFunctionInDeclaration(node) {
65
+ if (node.type !== 'local_declaration_statement') {
66
+ return { hasFunction: false, functionNode: null };
67
+ }
68
+ const lambda = findDescendant(node, 'lambda_expression');
69
+ return lambda
70
+ ? { hasFunction: true, functionNode: lambda }
71
+ : { hasFunction: false, functionNode: null };
72
+ }
73
+ }
74
+ // =============================================================================
75
+ // EXPORT EXTRACTOR
76
+ // =============================================================================
77
+ /**
78
+ * C# export extractor
79
+ *
80
+ * C# uses the `public` modifier for visibility — public declarations are
81
+ * accessible outside the assembly. Unlike Java's `modifiers` wrapper node,
82
+ * C# has individual `modifier` nodes as direct children of declarations.
83
+ *
84
+ * Exportable items:
85
+ * - public class User {}
86
+ * - public struct Point {}
87
+ * - public interface IRepository {}
88
+ * - public enum Status {}
89
+ * - public record Person(string Name) {}
90
+ * - public void Method() {} (inside a class)
91
+ * - Interface methods are implicitly public
92
+ * - public string Name { get; set; } (property)
93
+ *
94
+ * Internal (default access) declarations are NOT exported.
95
+ */
96
+ export class CSharpExportExtractor {
97
+ extractExports(rootNode) {
98
+ const exports = [];
99
+ const seen = new Set();
100
+ const addExport = (name) => {
101
+ if (name && !seen.has(name)) {
102
+ seen.add(name);
103
+ exports.push(name);
104
+ }
105
+ };
106
+ this.walkDeclarations(rootNode, addExport);
107
+ return exports;
108
+ }
109
+ walkDeclarations(node, addExport) {
110
+ node.namedChildren.forEach(child => {
111
+ // Recurse into namespaces to find type declarations
112
+ if (child.type === 'namespace_declaration') {
113
+ const body = child.childForFieldName('body');
114
+ if (body)
115
+ this.walkDeclarations(body, addExport);
116
+ return;
117
+ }
118
+ // File-scoped namespaces: declarations are children of the namespace node
119
+ if (child.type === 'file_scoped_namespace_declaration') {
120
+ this.walkDeclarations(child, addExport);
121
+ return;
122
+ }
123
+ this.extractFromNode(child, addExport);
124
+ });
125
+ }
126
+ extractFromNode(node, addExport) {
127
+ switch (node.type) {
128
+ case 'class_declaration':
129
+ case 'interface_declaration':
130
+ case 'struct_declaration':
131
+ case 'record_declaration':
132
+ case 'enum_declaration': {
133
+ if (hasPublicModifier(node)) {
134
+ const nameNode = node.childForFieldName('name');
135
+ if (nameNode)
136
+ addExport(nameNode.text);
137
+ }
138
+ this.extractPublicMembers(node, addExport);
139
+ break;
140
+ }
141
+ }
142
+ }
143
+ extractPublicMembers(container, addExport) {
144
+ const body = container.childForFieldName('body');
145
+ if (!body)
146
+ return;
147
+ const isInterface = container.type === 'interface_declaration';
148
+ body.namedChildren.forEach(child => this.extractMemberExport(child, isInterface, addExport));
149
+ }
150
+ extractMemberExport(member, isInterface, addExport) {
151
+ if (member.type === 'method_declaration' ||
152
+ member.type === 'constructor_declaration' ||
153
+ member.type === 'property_declaration') {
154
+ // Interface members without explicit modifiers are implicitly public.
155
+ // C# 8+ allows private/protected/internal interface members — only export
156
+ // those that are public or have no explicit visibility modifier.
157
+ const isImplicitlyPublic = isInterface && !hasExplicitAccessModifier(member);
158
+ if (isImplicitlyPublic || hasPublicModifier(member)) {
159
+ const nameNode = member.childForFieldName('name');
160
+ if (nameNode)
161
+ addExport(nameNode.text);
162
+ }
163
+ return;
164
+ }
165
+ if (member.type === 'field_declaration' && hasPublicModifier(member)) {
166
+ this.extractFieldNames(member, addExport);
167
+ }
168
+ }
169
+ extractFieldNames(fieldDecl, addExport) {
170
+ // C# field_declaration contains variable_declaration → variable_declarator(s)
171
+ fieldDecl.namedChildren
172
+ .filter(child => child.type === 'variable_declaration')
173
+ .flatMap(varDecl => varDecl.namedChildren)
174
+ .filter(declarator => declarator.type === 'variable_declarator')
175
+ .forEach(declarator => {
176
+ const nameNode = declarator.childForFieldName('name');
177
+ if (nameNode)
178
+ addExport(nameNode.text);
179
+ });
180
+ }
181
+ }
182
+ // =============================================================================
183
+ // IMPORT EXTRACTOR
184
+ // =============================================================================
185
+ /**
186
+ * Check if a C# import path is a standard library namespace.
187
+ * Standard library namespaces start with System. or Microsoft.
188
+ */
189
+ function isCSharpStdLib(importPath) {
190
+ return (importPath === 'System' ||
191
+ importPath.startsWith('System.') ||
192
+ importPath === 'Microsoft' ||
193
+ importPath.startsWith('Microsoft.'));
194
+ }
195
+ /**
196
+ * C# import extractor
197
+ *
198
+ * Handles all C# using patterns:
199
+ * - using Newtonsoft.Json; (regular using)
200
+ * - using static MyLib.Utils; (static using)
201
+ * - using Json = Newtonsoft.Json; (alias using)
202
+ *
203
+ * Standard library usings (System.*, Microsoft.*) are filtered out.
204
+ */
205
+ export class CSharpImportExtractor {
206
+ importNodeTypes = ['using_directive'];
207
+ extractImportPath(node) {
208
+ const path = this.getImportPath(node);
209
+ if (!path || isCSharpStdLib(path))
210
+ return null;
211
+ return path;
212
+ }
213
+ processImportSymbols(node) {
214
+ const path = this.getImportPath(node);
215
+ if (!path || isCSharpStdLib(path))
216
+ return null;
217
+ // Check for alias using: using Json = Newtonsoft.Json;
218
+ // In alias using, the alias identifier has the 'name' field
219
+ const aliasNode = node.childForFieldName('name');
220
+ if (aliasNode?.type === 'identifier') {
221
+ return { importPath: path, symbols: [aliasNode.text] };
222
+ }
223
+ const parts = path.split('.');
224
+ const lastPart = parts[parts.length - 1];
225
+ return { importPath: path, symbols: [lastPart] };
226
+ }
227
+ getImportPath(node) {
228
+ // qualified_name is always the import path when present
229
+ const qualifiedName = node.namedChildren.find(c => c.type === 'qualified_name');
230
+ if (qualifiedName)
231
+ return qualifiedName.text;
232
+ // For simple using (e.g., `using System;`), the identifier is the path
233
+ // Skip the alias identifier (it has the 'name' field in alias using)
234
+ const aliasNode = node.childForFieldName('name');
235
+ const identifier = node.namedChildren.find(c => c.type === 'identifier' && c !== aliasNode);
236
+ return identifier?.text ?? null;
237
+ }
238
+ }
239
+ // =============================================================================
240
+ // SYMBOL EXTRACTOR
241
+ // =============================================================================
242
+ /**
243
+ * C# symbol extractor
244
+ *
245
+ * Handles:
246
+ * - method_declaration (public void Method() {})
247
+ * - constructor_declaration (public MyClass() {})
248
+ * - class_declaration (class MyClass {})
249
+ * - interface_declaration (interface IMyInterface {})
250
+ * - struct_declaration (struct MyStruct {})
251
+ * - record_declaration (record MyRecord(int X) {})
252
+ * - enum_declaration (enum MyEnum {})
253
+ *
254
+ * Call sites: invocation_expression (direct calls and obj.Method() calls)
255
+ */
256
+ export class CSharpSymbolExtractor {
257
+ symbolNodeTypes = [
258
+ 'method_declaration',
259
+ 'constructor_declaration',
260
+ 'class_declaration',
261
+ 'interface_declaration',
262
+ 'struct_declaration',
263
+ 'record_declaration',
264
+ 'enum_declaration',
265
+ ];
266
+ extractSymbol(node, content, parentClass) {
267
+ switch (node.type) {
268
+ case 'method_declaration':
269
+ return this.extractMethodInfo(node, content, parentClass);
270
+ case 'constructor_declaration':
271
+ return this.extractConstructorInfo(node, content, parentClass);
272
+ case 'class_declaration':
273
+ return this.extractClassInfo(node);
274
+ case 'interface_declaration':
275
+ return this.extractInterfaceInfo(node);
276
+ case 'struct_declaration':
277
+ return this.extractStructInfo(node);
278
+ case 'record_declaration':
279
+ return this.extractRecordInfo(node);
280
+ case 'enum_declaration':
281
+ return this.extractEnumInfo(node);
282
+ default:
283
+ return null;
284
+ }
285
+ }
286
+ extractCallSite(node) {
287
+ if (node.type !== 'invocation_expression')
288
+ return null;
289
+ const funcNode = node.childForFieldName('function');
290
+ if (!funcNode)
291
+ return null;
292
+ const line = node.startPosition.row + 1;
293
+ // Direct call: DoSomething()
294
+ if (funcNode.type === 'identifier') {
295
+ return { symbol: funcNode.text, line, key: `${funcNode.text}:${line}` };
296
+ }
297
+ // Member access call: obj.DoSomething()
298
+ if (funcNode.type === 'member_access_expression') {
299
+ const nameNode = funcNode.childForFieldName('name');
300
+ if (nameNode) {
301
+ return { symbol: nameNode.text, line, key: `${nameNode.text}:${line}` };
302
+ }
303
+ }
304
+ return null;
305
+ }
306
+ extractMethodInfo(node, content, parentClass) {
307
+ const nameNode = node.childForFieldName('name');
308
+ if (!nameNode)
309
+ return null;
310
+ return {
311
+ name: nameNode.text,
312
+ type: parentClass ? 'method' : 'function',
313
+ startLine: node.startPosition.row + 1,
314
+ endLine: node.endPosition.row + 1,
315
+ parentClass,
316
+ signature: extractSignature(node, content),
317
+ parameters: extractParameters(node, content),
318
+ returnType: extractCSharpReturnType(node),
319
+ complexity: calculateComplexity(node),
320
+ };
321
+ }
322
+ extractConstructorInfo(node, content, parentClass) {
323
+ const nameNode = node.childForFieldName('name');
324
+ if (!nameNode)
325
+ return null;
326
+ return {
327
+ name: nameNode.text,
328
+ type: 'method',
329
+ startLine: node.startPosition.row + 1,
330
+ endLine: node.endPosition.row + 1,
331
+ parentClass,
332
+ signature: extractSignature(node, content),
333
+ parameters: extractParameters(node, content),
334
+ complexity: calculateComplexity(node),
335
+ };
336
+ }
337
+ extractClassInfo(node) {
338
+ const nameNode = node.childForFieldName('name');
339
+ if (!nameNode)
340
+ return null;
341
+ return {
342
+ name: nameNode.text,
343
+ type: 'class',
344
+ startLine: node.startPosition.row + 1,
345
+ endLine: node.endPosition.row + 1,
346
+ signature: `class ${nameNode.text}`,
347
+ };
348
+ }
349
+ extractInterfaceInfo(node) {
350
+ const nameNode = node.childForFieldName('name');
351
+ if (!nameNode)
352
+ return null;
353
+ return {
354
+ name: nameNode.text,
355
+ type: 'interface',
356
+ startLine: node.startPosition.row + 1,
357
+ endLine: node.endPosition.row + 1,
358
+ signature: `interface ${nameNode.text}`,
359
+ };
360
+ }
361
+ extractStructInfo(node) {
362
+ const nameNode = node.childForFieldName('name');
363
+ if (!nameNode)
364
+ return null;
365
+ return {
366
+ name: nameNode.text,
367
+ type: 'class',
368
+ startLine: node.startPosition.row + 1,
369
+ endLine: node.endPosition.row + 1,
370
+ signature: `struct ${nameNode.text}`,
371
+ };
372
+ }
373
+ extractRecordInfo(node) {
374
+ const nameNode = node.childForFieldName('name');
375
+ if (!nameNode)
376
+ return null;
377
+ return {
378
+ name: nameNode.text,
379
+ type: 'class',
380
+ startLine: node.startPosition.row + 1,
381
+ endLine: node.endPosition.row + 1,
382
+ signature: `record ${nameNode.text}`,
383
+ };
384
+ }
385
+ extractEnumInfo(node) {
386
+ const nameNode = node.childForFieldName('name');
387
+ if (!nameNode)
388
+ return null;
389
+ return {
390
+ name: nameNode.text,
391
+ type: 'class',
392
+ startLine: node.startPosition.row + 1,
393
+ endLine: node.endPosition.row + 1,
394
+ signature: `enum ${nameNode.text}`,
395
+ };
396
+ }
397
+ }
398
+ // =============================================================================
399
+ // HELPERS
400
+ // =============================================================================
401
+ /**
402
+ * Check if a node has a `public` modifier.
403
+ * C# uses individual `modifier` nodes as direct children (not a `modifiers`
404
+ * wrapper like Java). Iterates children for an exact `public` modifier.
405
+ */
406
+ function hasPublicModifier(node) {
407
+ return node.children.some(child => child.type === 'modifier' && child.text === 'public');
408
+ }
409
+ const ACCESS_MODIFIERS = new Set(['public', 'private', 'protected', 'internal']);
410
+ /**
411
+ * Check if a node has any explicit access modifier (public, private, protected, internal).
412
+ * Used to distinguish implicit public interface members from explicitly non-public ones (C# 8+).
413
+ */
414
+ function hasExplicitAccessModifier(node) {
415
+ return node.children.some(child => child.type === 'modifier' && ACCESS_MODIFIERS.has(child.text));
416
+ }
417
+ /**
418
+ * Extract return type from a C# method_declaration.
419
+ * C# uses a 'returns' field instead of 'type'.
420
+ */
421
+ function extractCSharpReturnType(node) {
422
+ if (node.type !== 'method_declaration')
423
+ return undefined;
424
+ const typeNode = node.childForFieldName('returns');
425
+ if (!typeNode)
426
+ return undefined;
427
+ return typeNode.text;
428
+ }
429
+ /**
430
+ * Find the first descendant of a specific type (depth-first).
431
+ */
432
+ function findDescendant(node, type) {
433
+ for (const child of node.namedChildren) {
434
+ if (child.type === type)
435
+ return child;
436
+ const found = findDescendant(child, type);
437
+ if (found)
438
+ return found;
439
+ }
440
+ return null;
441
+ }
442
+ // =============================================================================
443
+ // LANGUAGE DEFINITION
444
+ // =============================================================================
445
+ export const csharpDefinition = {
446
+ id: 'csharp',
447
+ extensions: ['cs'],
448
+ grammar: CSharp,
449
+ traverser: new CSharpTraverser(),
450
+ exportExtractor: new CSharpExportExtractor(),
451
+ importExtractor: new CSharpImportExtractor(),
452
+ symbolExtractor: new CSharpSymbolExtractor(),
453
+ complexity: {
454
+ decisionPoints: [
455
+ 'if_statement',
456
+ 'while_statement',
457
+ 'for_statement',
458
+ 'foreach_statement',
459
+ 'do_statement',
460
+ 'catch_clause',
461
+ 'conditional_expression',
462
+ 'binary_expression',
463
+ 'switch_section',
464
+ 'switch_expression_arm',
465
+ ],
466
+ nestingTypes: [
467
+ 'if_statement',
468
+ 'while_statement',
469
+ 'for_statement',
470
+ 'foreach_statement',
471
+ 'do_statement',
472
+ 'switch_expression',
473
+ 'catch_clause',
474
+ 'lambda_expression',
475
+ ],
476
+ nonNestingTypes: ['switch_section', 'switch_expression_arm', 'conditional_expression'],
477
+ lambdaTypes: ['lambda_expression'],
478
+ operatorSymbols: new Set([
479
+ '+',
480
+ '-',
481
+ '*',
482
+ '/',
483
+ '%',
484
+ '==',
485
+ '!=',
486
+ '<',
487
+ '>',
488
+ '<=',
489
+ '>=',
490
+ '=',
491
+ '+=',
492
+ '-=',
493
+ '*=',
494
+ '/=',
495
+ '%=',
496
+ '&=',
497
+ '|=',
498
+ '^=',
499
+ '<<=',
500
+ '>>=',
501
+ '&&',
502
+ '||',
503
+ '!',
504
+ '&',
505
+ '|',
506
+ '^',
507
+ '~',
508
+ '<<',
509
+ '>>',
510
+ '.',
511
+ '?',
512
+ ':',
513
+ '=>',
514
+ '??',
515
+ '??=',
516
+ '?.',
517
+ '(',
518
+ ')',
519
+ '[',
520
+ ']',
521
+ '{',
522
+ '}',
523
+ ]),
524
+ operatorKeywords: new Set([
525
+ 'if',
526
+ 'else',
527
+ 'for',
528
+ 'foreach',
529
+ 'while',
530
+ 'do',
531
+ 'switch',
532
+ 'case',
533
+ 'default',
534
+ 'return',
535
+ 'throw',
536
+ 'try',
537
+ 'catch',
538
+ 'finally',
539
+ 'new',
540
+ 'is',
541
+ 'as',
542
+ 'typeof',
543
+ 'sizeof',
544
+ 'nameof',
545
+ 'break',
546
+ 'continue',
547
+ 'class',
548
+ 'struct',
549
+ 'interface',
550
+ 'enum',
551
+ 'record',
552
+ 'namespace',
553
+ 'using',
554
+ 'public',
555
+ 'private',
556
+ 'protected',
557
+ 'internal',
558
+ 'static',
559
+ 'readonly',
560
+ 'const',
561
+ 'abstract',
562
+ 'virtual',
563
+ 'override',
564
+ 'sealed',
565
+ 'void',
566
+ 'base',
567
+ 'this',
568
+ 'var',
569
+ 'async',
570
+ 'await',
571
+ 'yield',
572
+ 'in',
573
+ 'out',
574
+ 'ref',
575
+ 'params',
576
+ 'delegate',
577
+ 'event',
578
+ 'where',
579
+ 'lock',
580
+ 'checked',
581
+ 'unchecked',
582
+ ]),
583
+ },
584
+ symbols: {
585
+ callExpressionTypes: ['invocation_expression'],
586
+ },
587
+ };
588
+ //# sourceMappingURL=csharp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csharp.js","sourceRoot":"","sources":["../../../src/ast/languages/csharp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/ast/languages/go.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAQhC;;;;;;;;;GASG;AACH,qBAAa,WAAY,YAAW,iBAAiB;IACnD,eAAe,WAAsE;IAErF,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B,gBAAgB,WAAgD;IAEhE,aAAa,WAAoB;IAEjC,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAIxD,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAU3D,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI;IAIpE,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAIxD,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS;IAIrE,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,uBAAuB;IAkB3E,OAAO,CAAC,cAAc;CAGvB;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAkB,YAAW,uBAAuB;IAC/D,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE;IAuCrD,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,kBAAkB;CAO3B;AAgBD;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,YAAW,uBAAuB;IAC/D,QAAQ,CAAC,eAAe,WAA0B;IAElD,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,IAAI;IAQzD,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAqB/F,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,YAAY;CAOrB;AAMD;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,uBAAuB;IAC/D,QAAQ,CAAC,eAAe,WAAsE;IAE9F,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAahG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAuB9F,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,eAAe;CA+BxB;AAmHD,eAAO,MAAM,YAAY,EAAE,kBA+G1B,CAAC"}
1
+ {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/ast/languages/go.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAQhC;;;;;;;;;GASG;AACH,qBAAa,WAAY,YAAW,iBAAiB;IACnD,eAAe,WAAsE;IAErF,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B,gBAAgB,WAAgD;IAEhE,aAAa,WAAoB;IAEjC,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAIxD,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAU3D,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI;IAIpE,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAIxD,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS;IAIrE,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,uBAAuB;IAkB3E,OAAO,CAAC,cAAc;CAGvB;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAkB,YAAW,uBAAuB;IAC/D,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE;IAoCrD,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,kBAAkB;CAO3B;AAgBD;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,YAAW,uBAAuB;IAC/D,QAAQ,CAAC,eAAe,WAA0B;IAElD,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,IAAI;IAQzD,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAqB/F,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,YAAY;CAOrB;AAMD;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,uBAAuB;IAC/D,QAAQ,CAAC,eAAe,WAAsE;IAE9F,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAahG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAuB9F,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,eAAe;CA+BxB;AAuGD,eAAO,MAAM,YAAY,EAAE,kBA+G1B,CAAC"}