Commit f7390b7
fix(intelligence): GoLanguageExtractor duplicate IMPORTS edges (RAN-170)
collectImportPaths() used an ArrayList allowing duplicate paths when a file
has both a block import and a single-line import for the same package path.
Switch to LinkedHashSet for deduplication (insertion order preserved), then
return a new ArrayList to maintain the List<String> contract.
Added test: extract_duplicateImportBothStyles_noDuplicateEdges verifies that
a file with both import styles for the same package produces exactly one
IMPORTS edge.
Co-Authored-By: Paperclip <noreply@paperclip.ing>1 parent eb049ce commit f7390b7
2 files changed
Lines changed: 34 additions & 2 deletions
File tree
- src
- main/java/io/github/randomcodespace/iq/intelligence/extractor/go
- test/java/io/github/randomcodespace/iq/intelligence/extractor/go
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
| 18 | + | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
| |||
104 | 106 | | |
105 | 107 | | |
106 | 108 | | |
107 | | - | |
| 109 | + | |
108 | 110 | | |
109 | 111 | | |
110 | 112 | | |
| |||
119 | 121 | | |
120 | 122 | | |
121 | 123 | | |
122 | | - | |
| 124 | + | |
123 | 125 | | |
124 | 126 | | |
125 | 127 | | |
| |||
Lines changed: 30 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
100 | 130 | | |
101 | 131 | | |
102 | 132 | | |
| |||
0 commit comments