Commit 5241a92
feat: implement Batch 10 — opcodes, bcmath, filter, calendar, compiler (12 items, 51 new tests, 773 total)
VM opcodes: FramelessIcall0-3, JmpFrameless, ExtStmt/ExtFcallBegin/ExtFcallEnd/ExtNop,
UserOpcode, Ticks (all NOPs or dispatch handlers)
Compiler: static arrow functions (static fn() => expr) skip $this binding
Extensions: bcmath wired to real arbitrary-precision ext crate, calendar wired to ext crate
filter_var: added FILTER_VALIDATE_FLOAT/IP/BOOLEAN/DOMAIN/MAC and
FILTER_SANITIZE_ENCODED/SPECIAL_CHARS/NUMBER_INT/NUMBER_FLOAT/EMAIL/URL/ADD_SLASHES
with all corresponding PHP constants
Runtime: error context (file/line) in error messages, error_log destination support
Stdlib: php_strip_whitespace, highlight_string, highlight_file implementations
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 7ad4b40 commit 5241a92
File tree
11 files changed
+1462
-290
lines changed- crates
- php-rs-compiler/src
- php-rs-parser/src
- php-rs-vm
- src
- builtins
- vm
11 files changed
+1462
-290
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
| |||
315 | 315 | | |
316 | 316 | | |
317 | 317 | | |
318 | | - | |
319 | | - | |
| 318 | + | |
| 319 | + | |
320 | 320 | | |
321 | 321 | | |
322 | 322 | | |
| |||
337 | 337 | | |
338 | 338 | | |
339 | 339 | | |
340 | | - | |
| 340 | + | |
341 | 341 | | |
342 | 342 | | |
343 | 343 | | |
| |||
433 | 433 | | |
434 | 434 | | |
435 | 435 | | |
436 | | - | |
437 | | - | |
| 436 | + | |
| 437 | + | |
438 | 438 | | |
439 | 439 | | |
440 | 440 | | |
| |||
661 | 661 | | |
662 | 662 | | |
663 | 663 | | |
664 | | - | |
| 664 | + | |
665 | 665 | | |
666 | | - | |
| 666 | + | |
667 | 667 | | |
668 | 668 | | |
669 | 669 | | |
| |||
676 | 676 | | |
677 | 677 | | |
678 | 678 | | |
679 | | - | |
| 679 | + | |
680 | 680 | | |
681 | 681 | | |
682 | 682 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1001 | 1001 | | |
1002 | 1002 | | |
1003 | 1003 | | |
1004 | | - | |
1005 | | - | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
1006 | 1010 | | |
1007 | 1011 | | |
1008 | 1012 | | |
| |||
4165 | 4169 | | |
4166 | 4170 | | |
4167 | 4171 | | |
| 4172 | + | |
4168 | 4173 | | |
4169 | 4174 | | |
4170 | 4175 | | |
| |||
4215 | 4220 | | |
4216 | 4221 | | |
4217 | 4222 | | |
4218 | | - | |
| 4223 | + | |
| 4224 | + | |
| 4225 | + | |
| 4226 | + | |
| 4227 | + | |
4219 | 4228 | | |
4220 | 4229 | | |
4221 | 4230 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
338 | 338 | | |
339 | 339 | | |
340 | 340 | | |
| 341 | + | |
341 | 342 | | |
342 | 343 | | |
343 | 344 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4188 | 4188 | | |
4189 | 4189 | | |
4190 | 4190 | | |
| 4191 | + | |
| 4192 | + | |
| 4193 | + | |
| 4194 | + | |
| 4195 | + | |
| 4196 | + | |
| 4197 | + | |
| 4198 | + | |
| 4199 | + | |
| 4200 | + | |
| 4201 | + | |
| 4202 | + | |
| 4203 | + | |
| 4204 | + | |
4191 | 4205 | | |
4192 | 4206 | | |
4193 | 4207 | | |
| |||
4223 | 4237 | | |
4224 | 4238 | | |
4225 | 4239 | | |
| 4240 | + | |
4226 | 4241 | | |
4227 | 4242 | | |
4228 | 4243 | | |
4229 | 4244 | | |
4230 | 4245 | | |
4231 | | - | |
4232 | | - | |
4233 | | - | |
4234 | | - | |
4235 | | - | |
4236 | | - | |
4237 | | - | |
4238 | 4246 | | |
4239 | 4247 | | |
4240 | 4248 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
| |||
0 commit comments