Commit 05bb685
committed
fix(java): avoid identifier collisions between distinct wordless names
The wordless-name fallback added in the previous commit collapsed any
input with no legal Java-identifier characters left (e.g. "-", "@") to
the same placeholder ("_"). Two such discriminants as siblings in one
union therefore generated identically-named methods and a duplicate
nested class - generation reported success but emitted non-compiling
Java.
Encode the stripped characters' code points instead of collapsing to a
shared placeholder, so distinct inputs always produce distinct
identifiers (e.g. "-" -> "__2d", "@" -> "__40").1 parent d7b67eb commit 05bb685
3 files changed
Lines changed: 40 additions & 14 deletions
File tree
- generators/java
- generator-utils/src
- main/java/com/fern/java/utils
- test/java/com/fern/java/utils
- sdk/changes/unreleased
Lines changed: 19 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
198 | | - | |
199 | | - | |
200 | | - | |
| 198 | + | |
201 | 199 | | |
202 | | - | |
203 | | - | |
| 200 | + | |
204 | 201 | | |
205 | 202 | | |
206 | 203 | | |
| |||
223 | 220 | | |
224 | 221 | | |
225 | 222 | | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
226 | 240 | | |
227 | 241 | | |
228 | 242 | | |
| |||
Lines changed: 17 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
998 | 998 | | |
999 | 999 | | |
1000 | 1000 | | |
1001 | | - | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
1002 | 1004 | | |
1003 | 1005 | | |
1004 | | - | |
1005 | | - | |
1006 | | - | |
1007 | | - | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
1008 | 1010 | | |
1009 | 1011 | | |
1010 | 1012 | | |
1011 | | - | |
| 1013 | + | |
1012 | 1014 | | |
1013 | | - | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
1014 | 1024 | | |
1015 | 1025 | | |
1016 | 1026 | | |
| |||
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
11 | 13 | | |
0 commit comments