belliash
d85154ac58
Preserve argv boundaries and empty arguments passed to main
Build / AerScript (push) Successful in 38s
2026-10-27 19:28:55 +01:00
belliash
fa32262998
Validate Program entry points and resolve accessible zero-argument constructors
Build / AerScript (push) Successful in 38s
2026-10-27 19:06:54 +01:00
belliash
62f81aea89
Implement deterministic int64 wrapping arithmetic
2026-10-27 16:20:48 +01:00
belliash
f74af13f98
Implement numeric string escapes and fix hexadecimal escape parsing and respect constant name length in undefined constant diagnostics
Build / AerScript (push) Successful in 39s
2026-10-26 23:09:29 +01:00
belliash
3c83579fb6
Preserve pending completions through finally and restore operand stack on unwind
Build / AerScript (push) Successful in 38s
2026-10-26 20:43:57 +01:00
belliash
d912ddf4df
Distinguish explicit NULL arguments from omitted defaults
Build / AerScript (push) Successful in 42s
2026-10-26 18:57:03 +01:00
belliash
329305c071
Warn when non-void methods and closures finish without returning
Build / AerScript (push) Successful in 40s
2026-10-26 18:39:37 +01:00
belliash
7ae2412a88
Implement __invoke dispatch and fix VM cleanup and allocator alignment
2026-10-26 15:10:47 +01:00
belliash
4fe0f4dcd9
Implement explicit value and reference captures for closures
Build / AerScript (push) Successful in 40s
2026-10-26 00:05:05 +01:00
belliash
85f59a2998
Evaluate local constants once per declaration and invocation
Build / AerScript (push) Successful in 40s
2026-10-25 19:57:49 +01:00
belliash
8a2d7d8bd3
Fix block scope for local declarations
Build / AerScript (push) Successful in 40s
2026-10-25 19:22:50 +01:00
belliash
3e3b795626
Keep source file descriptors stable for the lifetime of the VM and execute included fragments in the enclosing method and closure context
Build / AerScript (push) Successful in 40s
2026-10-25 18:11:22 +01:00
belliash
c42b0ae010
Restrict require to global scope and track required files independently
Build / AerScript (push) Successful in 40s
2026-10-24 23:53:53 +02:00
belliash
b513add46b
Handle module import failures and duplicates safely and add module_loaded
Build / AerScript (push) Successful in 39s
2026-10-24 22:51:09 +02:00
belliash
1026c8d525
Validate interface contracts against effective C3 implementations and support transitive interface checks
Build / AerScript (push) Successful in 39s
2026-10-24 20:19:11 +02:00
belliash
c6e7151e72
Implement cooperative parent calls across runtime C3 MRO and enforce lifecycle method rules
Build / AerScript (push) Successful in 41s
2026-10-24 19:20:52 +02:00
belliash
d511414453
Preserve class attribute identity and validate inheritance conflicts across C3 MRO
Build / AerScript (push) Successful in 42s
2026-10-24 18:26:58 +02:00
belliash
b306409a37
Validate method visibility, final overrides and effective virtual contracts across C3 MRO
Build / AerScript (push) Failing after 40s
2026-10-24 13:50:32 +02:00
belliash
5f02a34b10
Resolve inherited method overloads across C3 MRO using full input signatures and own import path storage for the lifetime of the VM
Build / AerScript (push) Successful in 39s
2026-10-24 12:27:01 +02:00
belliash
bc5e5f6a8e
Implement C3 class linearization and validate inheritance graphs
Build / AerScript (push) Successful in 2m13s
2026-10-24 01:16:34 +02:00
belliash
323793153c
Implement short-circuit evaluation for the null coalescing operator
Build / AerScript (push) Successful in 40s
2026-10-24 00:30:45 +02:00
belliash
18e6da6c08
Preserve runtime object identity and declaring-class scope in inherited method calls
Build / AerScript (push) Successful in 2m48s
2026-10-24 00:18:24 +02:00
belliash
04a74de51a
Preserve declared return types when cloning closures with captures
Build / AerScript (push) Successful in 9m0s
2026-10-23 23:59:58 +02:00
belliash
3c7f1b8f5b
Fix overload resolution using argument compatibility and recursive array matching
Build / AerScript (push) Successful in 1m1s
2026-10-23 23:36:25 +02:00
belliash
206061c837
Correct comment
Build / AerScript (push) Successful in 32s
2025-08-30 19:37:31 +02:00
belliash
cd924eb066
Revert context frame implementation
Build / AerScript (push) Successful in 32s
2025-08-30 18:27:59 +02:00
belliash
e592eded1b
Use strict type hinting with all OP_*_STORE opcodes
Build / AerScript (push) Successful in 37s
2025-08-29 22:38:37 +02:00
belliash
d73eb9b5b2
Implement exponentiation (**) operator
Build / AerScript (push) Successful in 40s
2025-08-29 22:04:55 +02:00
belliash
5ff7d03ed1
Get rid of OP_UNUSED and implement additional context frame to resolve scope issue
Build / AerScript (push) Failing after 28s
2025-08-29 14:32:01 +02:00
belliash
dc5725d1af
Unset local for variable, fixes #62
Build / AerScript (push) Failing after 26s
2025-08-28 18:38:28 +02:00
belliash
709b5971c6
Return can break loop execution as well. If it does, it needs to ensure VM_FRAME_ACTIVE is on top.
The build was successful.
2019-12-22 22:40:11 +01:00
belliash
0bf2f6d94f
Correct error message.
The build was successful.
2019-12-21 16:22:16 +01:00
belliash
b527840f10
Correct arguments length. Get rid of some additional non-printable characters from the end of string.
The build was successful.
2019-12-21 15:33:55 +01:00
belliash
9d762a2350
Move debug-related code into separate file.
The build was successful.
2019-12-15 13:32:45 +01:00
belliash
0b5e94bacc
Add missing operator description.
The build was successful.
2019-12-15 00:00:54 +01:00
belliash
e623111f41
Correct comment.
The build was successful.
2019-12-14 23:37:55 +01:00
belliash
ad5784f81f
Reimplement import() builtin function as a global-scope statement. This fixes #58 .
The build was successful.
2019-12-14 23:30:38 +01:00
belliash
9290db2504
Another changes in file inclusion mechanism ( #58 ):
...
The build was successful.
* Remove builtin functions: 'include' & 'require'
* Implement 'include' and 'require' statements compiler
* Implement OP_INCLUDE operator
* Allow 'require' statement to be used in global scope as well as in method body and 'include' only in method body
2019-12-10 16:09:26 +01:00
belliash
09e7400349
Add forward declaration for VmExecIncludedFile().
The build was successful.
2019-12-09 19:36:40 +01:00
belliash
cb91a4bbf4
Rework including mechanism ( #58 ) related changes:
...
The build was successful.
* VmExecIncludedFile() does not need a call context
* Builtin include() function does not need to return false, it throws an error
2019-12-09 19:30:28 +01:00
belliash
f3156bcbd5
Throw E_ERROR when impossible to include specified file.
The build was successful.
2019-11-27 20:15:43 +01:00
belliash
cb71daec12
Code inclusion rework that include several changes ( #58 ):
...
The build was successful.
* include() builtin function allows now to include a chunk of code, eg. a body of some loop
* include() allows to load and execute file several times
* require() still allows to include file just once and included file must have a valid OOP syntax
* both functions will throw E_ERROR when impossible to include specified file
2019-11-27 20:07:50 +01:00
belliash
e1e6a19f30
Update code formatting.
The build was successful.
2019-11-18 18:57:10 +01:00
belliash
f3972a9ca2
Rename LFB/LFE operators.
The build was successful.
2019-10-25 23:09:30 +02:00
belliash
f323e3cb57
Make a use from PH7_MemObjIsHashmap().
The build was successful.
2019-09-10 14:12:07 +02:00
belliash
3aa31a9dfa
Make a use from MemObjIsNumeric().
The build was successful.
2019-09-10 10:10:52 +02:00
belliash
f0aba06f4f
Allow increment/decrement operations only on numeric operands.
The build was successful.
2019-09-10 08:03:35 +02:00
belliash
18b96064e4
Do not allow to call non-existen array/string index.
...
The build was successful.
PHP returns a NULL for each call to non-existen array element, while AerScript design disallows usage of indexes outside the bounds. This fixes one of most serious PHP problems.
2019-09-09 16:55:48 +02:00
David Carlier
d96dcdf1e0
Little build warning removal
The build was successful.
2019-07-11 07:17:34 +00:00
belliash
ad49b81b33
Add support for HTTP/2.0 protocol version.
The build was successful.
2019-06-30 09:51:15 +02:00