Skip to content

Commit ff303a4

Browse files
feat(csharp): complete PR#39 review with parser fixes and search enhancements
C# Parser Fixes: - fix documentation extraction to capture full multi-line XML comments (prev_sibling traversal) - fix caller context tracking to show proper function names in calls - fix clippy warnings by converting recursive methods to static functions - add 6 unit tests for C# parser functionality (5 passing, 1 ignored for future work) Search Enhancements: - add fuzzy search on non-tokenized name field for whole-word typo tolerance - add 3 tests for ngram tokenizer and fuzzy search interaction - dual fuzzy strategy: ngram tokens (short queries) + whole words (full names) Infrastructure: - fix Windows file locking retry logic with error logging Test Results: - 447 tests passing (added 9 new tests) - all critical bug fixes verified Co-Authored-By: Sergi Torres <sergio.torres@codere.com>
1 parent c6d86ea commit ff303a4

45 files changed

Lines changed: 9340 additions & 702 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

contributing/parsers/c/AUDIT_REPORT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# C Parser Coverage Report
22

3-
*Generated: 2025-09-30 23:32:49 UTC*
3+
*Generated: 2025-10-02 21:49:28 UTC*
44

55
## Summary
66
- Nodes in file: 145

contributing/parsers/c/GRAMMAR_ANALYSIS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# C Grammar Analysis
22

3-
*Generated: 2025-09-30 23:32:49 UTC*
3+
*Generated: 2025-10-02 21:49:28 UTC*
44

55
## Statistics
66
- Total nodes in grammar JSON: 132

contributing/parsers/c/node_discovery.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
=== C Language ABI-15 COMPREHENSIVE NODE MAPPING ===
2-
Generated: 2025-09-30 23:32:49 UTC
2+
Generated: 2025-10-02 21:49:28 UTC
33
ABI Version: 15
44
Node kind count: 145
55

contributing/parsers/cpp/AUDIT_REPORT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# C++ Parser Coverage Report
22

3-
*Generated: 2025-09-30 23:32:49 UTC*
3+
*Generated: 2025-10-02 21:49:28 UTC*
44

55
## Summary
66
- Nodes in file: 131

contributing/parsers/cpp/GRAMMAR_ANALYSIS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# C++ Grammar Analysis
22

3-
*Generated: 2025-09-30 23:32:49 UTC*
3+
*Generated: 2025-10-02 21:49:28 UTC*
44

55
## Statistics
66
- Total nodes in grammar JSON: 223

contributing/parsers/cpp/node_discovery.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
=== C++ Language ABI-15 COMPREHENSIVE NODE MAPPING ===
2-
Generated: 2025-09-30 23:32:49 UTC
2+
Generated: 2025-10-02 21:49:28 UTC
33
ABI Version: 14
44
Node kind count: 131
55

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# C# Parser Coverage Report
2+
3+
*Generated: 2025-10-02 21:49:28 UTC*
4+
5+
## Summary
6+
- Nodes in file: 108
7+
- Nodes handled by parser: 108
8+
- Symbol kinds extracted: 7
9+
10+
## Coverage Table
11+
12+
| Node Type | ID | Status |
13+
|-----------|-----|--------|
14+
| class_declaration | 231 | ✅ implemented |
15+
| interface_declaration | 236 | ✅ implemented |
16+
| struct_declaration | - | ❌ not found |
17+
| record_declaration | - | ❌ not found |
18+
| enum_declaration | 233 | ✅ implemented |
19+
| enum_member_declaration | 235 | ✅ implemented |
20+
| delegate_declaration | - | ❌ not found |
21+
| namespace_declaration | 228 | ✅ implemented |
22+
| file_scoped_namespace_declaration | - | ❌ not found |
23+
| method_declaration | 255 | ✅ implemented |
24+
| constructor_declaration | 253 | ✅ implemented |
25+
| destructor_declaration | - | ❌ not found |
26+
| property_declaration | 262 | ✅ implemented |
27+
| indexer_declaration | - | ❌ not found |
28+
| event_declaration | - | ❌ not found |
29+
| event_field_declaration | 257 | ✅ implemented |
30+
| field_declaration | 252 | ✅ implemented |
31+
| operator_declaration | - | ❌ not found |
32+
| conversion_operator_declaration | - | ❌ not found |
33+
| using_directive | 221 | ✅ implemented |
34+
| extern_alias_directive | - | ❌ not found |
35+
| modifier | 241 | ✅ implemented |
36+
| parameter | 265 | ✅ implemented |
37+
| type_parameter | 243 | ✅ implemented |
38+
| type_parameter_list | 242 | ✅ implemented |
39+
| base_list | 244 | ✅ implemented |
40+
| invocation_expression | 380 | ✅ implemented |
41+
| object_creation_expression | 396 | ✅ implemented |
42+
| member_access_expression | 394 | ✅ implemented |
43+
| variable_declaration | 274 | ✅ implemented |
44+
| variable_declarator | 276 | ✅ implemented |
45+
| local_declaration_statement | 330 | ✅ implemented |
46+
47+
## Legend
48+
49+
-**implemented**: Node type is recognized and handled by the parser
50+
- ⚠️ **gap**: Node type exists in the grammar but not handled by parser (needs implementation)
51+
-**not found**: Node type not present in the example file (may need better examples)
52+
53+
## Recommended Actions
54+
55+
### Priority 2: Missing Examples
56+
These nodes aren't in the comprehensive example. Consider:
57+
58+
- `struct_declaration`: Add example to comprehensive.cs or verify node name
59+
- `record_declaration`: Add example to comprehensive.cs or verify node name
60+
- `delegate_declaration`: Add example to comprehensive.cs or verify node name
61+
- `file_scoped_namespace_declaration`: Add example to comprehensive.cs or verify node name
62+
- `destructor_declaration`: Add example to comprehensive.cs or verify node name
63+
- `indexer_declaration`: Add example to comprehensive.cs or verify node name
64+
- `event_declaration`: Add example to comprehensive.cs or verify node name
65+
- `operator_declaration`: Add example to comprehensive.cs or verify node name
66+
- `conversion_operator_declaration`: Add example to comprehensive.cs or verify node name
67+
- `extern_alias_directive`: Add example to comprehensive.cs or verify node name
68+

0 commit comments

Comments
 (0)