Commit d790573
committed
Fix GS2 array operations and string function dispatch
Fixed:
- Consume subarray operands in native bytecode order.
- Return matching positions from the indices opcode using script value equality.
Changed:
- Align tests with global bare variables, function-local temp variables, and single-equals comparisons in conditions.
Added:
- Regression coverage for slice boundaries, slice independence, and exact string matches.
Removed:
- Global string-method registrations that shadowed script helpers and receiver dispatch.
Validation: 450 passed, 0 failed, 8 existing skips.1 parent 0b061c7 commit d790573
4 files changed
Lines changed: 90 additions & 64 deletions
File tree
- Preagonal.Scripting.GS2Engine.UnitTests
- Preagonal.Scripting.GS2Engine
- GS2/Script
- Models
Lines changed: 46 additions & 45 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3312 | 3312 | | |
3313 | 3313 | | |
3314 | 3314 | | |
3315 | | - | |
| 3315 | + | |
3316 | 3316 | | |
3317 | 3317 | | |
3318 | 3318 | | |
3319 | | - | |
3320 | | - | |
3321 | | - | |
| 3319 | + | |
| 3320 | + | |
| 3321 | + | |
3322 | 3322 | | |
3323 | | - | |
3324 | | - | |
3325 | | - | |
| 3323 | + | |
| 3324 | + | |
| 3325 | + | |
3326 | 3326 | | |
3327 | | - | |
3328 | | - | |
3329 | | - | |
| 3327 | + | |
| 3328 | + | |
| 3329 | + | |
3330 | 3330 | | |
3331 | 3331 | | |
3332 | 3332 | | |
3333 | 3333 | | |
3334 | 3334 | | |
3335 | 3335 | | |
3336 | | - | |
| 3336 | + | |
3337 | 3337 | | |
3338 | 3338 | | |
3339 | 3339 | | |
3340 | | - | |
| 3340 | + | |
3341 | 3341 | | |
3342 | 3342 | | |
3343 | 3343 | | |
3344 | | - | |
3345 | | - | |
3346 | | - | |
3347 | | - | |
3348 | | - | |
3349 | | - | |
3350 | | - | |
3351 | | - | |
3352 | | - | |
3353 | | - | |
3354 | | - | |
| 3344 | + | |
| 3345 | + | |
| 3346 | + | |
| 3347 | + | |
| 3348 | + | |
| 3349 | + | |
| 3350 | + | |
| 3351 | + | |
| 3352 | + | |
| 3353 | + | |
| 3354 | + | |
| 3355 | + | |
3355 | 3356 | | |
3356 | | - | |
3357 | | - | |
3358 | | - | |
| 3357 | + | |
| 3358 | + | |
| 3359 | + | |
3359 | 3360 | | |
3360 | 3361 | | |
3361 | 3362 | | |
3362 | 3363 | | |
3363 | 3364 | | |
3364 | 3365 | | |
3365 | | - | |
| 3366 | + | |
3366 | 3367 | | |
3367 | 3368 | | |
3368 | 3369 | | |
| |||
5815 | 5816 | | |
5816 | 5817 | | |
5817 | 5818 | | |
5818 | | - | |
| 5819 | + | |
5819 | 5820 | | |
5820 | 5821 | | |
5821 | 5822 | | |
| |||
5831 | 5832 | | |
5832 | 5833 | | |
5833 | 5834 | | |
5834 | | - | |
| 5835 | + | |
5835 | 5836 | | |
5836 | 5837 | | |
5837 | 5838 | | |
| |||
5902 | 5903 | | |
5903 | 5904 | | |
5904 | 5905 | | |
5905 | | - | |
5906 | | - | |
5907 | | - | |
5908 | | - | |
5909 | | - | |
| 5906 | + | |
| 5907 | + | |
| 5908 | + | |
| 5909 | + | |
| 5910 | + | |
5910 | 5911 | | |
5911 | | - | |
5912 | | - | |
5913 | | - | |
| 5912 | + | |
| 5913 | + | |
| 5914 | + | |
5914 | 5915 | | |
5915 | | - | |
5916 | | - | |
5917 | | - | |
5918 | | - | |
| 5916 | + | |
| 5917 | + | |
| 5918 | + | |
| 5919 | + | |
5919 | 5920 | | |
5920 | | - | |
5921 | | - | |
5922 | | - | |
| 5921 | + | |
| 5922 | + | |
| 5923 | + | |
5923 | 5924 | | |
5924 | 5925 | | |
5925 | 5926 | | |
| |||
7528 | 7529 | | |
7529 | 7530 | | |
7530 | 7531 | | |
7531 | | - | |
| 7532 | + | |
Lines changed: 37 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
221 | 231 | | |
222 | 232 | | |
223 | 233 | | |
| |||
465 | 475 | | |
466 | 476 | | |
467 | 477 | | |
| 478 | + | |
| 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 | + | |
468 | 504 | | |
469 | 505 | | |
470 | 506 | | |
| |||
487 | 523 | | |
488 | 524 | | |
489 | 525 | | |
490 | | - | |
| 526 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1106 | 1106 | | |
1107 | 1107 | | |
1108 | 1108 | | |
| 1109 | + | |
1109 | 1110 | | |
1110 | 1111 | | |
1111 | 1112 | | |
1112 | 1113 | | |
1113 | 1114 | | |
1114 | 1115 | | |
1115 | | - | |
| 1116 | + | |
| 1117 | + | |
1116 | 1118 | | |
1117 | 1119 | | |
1118 | 1120 | | |
| |||
1228 | 1230 | | |
1229 | 1231 | | |
1230 | 1232 | | |
| 1233 | + | |
| 1234 | + | |
1231 | 1235 | | |
1232 | | - | |
1233 | | - | |
1234 | 1236 | | |
1235 | 1237 | | |
1236 | 1238 | | |
| |||
2721 | 2723 | | |
2722 | 2724 | | |
2723 | 2725 | | |
2724 | | - | |
| 2726 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | 7 | | |
21 | 8 | | |
22 | 9 | | |
| |||
40 | 27 | | |
41 | 28 | | |
42 | 29 | | |
43 | | - | |
| 30 | + | |
0 commit comments