302 Commits (5c824ec67d3a7c78a38a44fcc182bd5a1ad87692)

Author SHA1 Message Date
Rafal Kupiec 5c824ec67d
Do not set any recursion depth limit. 2 years ago
Rafal Kupiec 78c416c6b8
Implement the implicit 'auto' type. 2 years ago
Rafal Kupiec 6c449dbdbf
Allow OP_IS to check for type def and value. 2 years ago
Rafal Kupiec ce851b5df5
Do not try to load constant on OP_IS. 2 years ago
Rafal Kupiec d0995a4239
Rename 'instanceof' to 'is'. 2 years ago
Rafal Kupiec 9cc0f203ca
Report an error when trying to create an instance on interface or virtual class. 2 years ago
Rafal Kupiec 5948c3a5b6
Remove unused function argument. 2 years ago
Rafal Kupiec 075f707a0a
Allow 'catch' and 'finally' blocks to abort script execution. 2 years ago
Rafal Kupiec 4267bb2f26
Execute the 'finally' block when to exception has been thrown. 2 years ago
Rafal Kupiec 384b057c93
Release the bytecode container and make sure the 'finally' block will not be executed anymore. 2 years ago
Rafal Kupiec 101453950e
Execute the compiled 'finally' block. 2 years ago
Rafal Kupiec ba43269b80
Do not release the bytecode container right after code execution. 2 years ago
Rafal Kupiec bb20f04f3c
Implement VmExecFinallyBlock(). 2 years ago
Rafal Kupiec c3184eb3ea
Return a VmByteCodeExec() return value from inside a PH7_VmCallUserFunction(). 2 years ago
Rafal Kupiec b5cdbf4721
Allow to access variables from active frames after exception is thrown. 2 years ago
Rafal Kupiec 5f90f3e8e1
Install $parent & $this only if there is class instantiated. 2 years ago
Rafal Kupiec 1f7e14fd7a
Finally, do it the proper way. This should fix all problems with accessing class attributes, at least I hope so. 2 years ago
Rafal Kupiec 519f5050b7
The easiest solutions are the best. Just look for attributes in object. 2 years ago
Rafal Kupiec 53199cac4e
Another fixes to OOP-related error reporting. 2 years ago
Rafal Kupiec feba01eb49
More fixes to error messages. 2 years ago
Rafal Kupiec b1b78433dd
Clean up $base statement. 2 years ago
Rafal Kupiec a3a2c8b619
Allow non-static methods inside static (final virtual) classes to be called statically. 2 years ago
Rafal Kupiec 3530e6ea09
Get rid of useless class_alias() builtin function. 2 years ago
Rafal Kupiec 1bf5c3a8a2
Consider private attributes to be accessed. Fix access check. 2 years ago
Rafal Kupiec 8847d645c0
More corrections to error messages. 2 years ago
Rafal Kupiec 1c0ba22c48
Check access level for static methods call. 2 years ago
Rafal Kupiec 7732a239ff
Correct error messages. 2 years ago
Rafal Kupiec a5fb8ff8be
VmClassMemberAccess() should only check access right. 2 years ago
Rafal Kupiec a6f7c6d847
Prevent $base, $parent and $this from being unset. 2 years ago
Rafal Kupiec 28e18bcb4b
Attempt to fix attributes lookup and their visibility. 2 years ago
Rafal Kupiec 2d50a64cac
AerScript supports multiple inheritance, thus it needs to iterate through whole list of derived classes. 2 years ago
Rafal Kupiec 4d1c246a65
Attempt to fix methods visibility mechanism. 2 years ago
Rafal Kupiec 1f5afc9d51
Reverse the logic. It does not seem to work actually. 2 years ago
Rafal Kupiec 675f3596a1
Properly look for method in all classes. 2 years ago
Rafal Kupiec b319e11c09
Fix build. 2 years ago
Rafal Kupiec 5c176207e1
Set base class only when $base called. 2 years ago
Rafal Kupiec 5cc4a5e48d
Access privileges to methods should be done in OP_MEMBER. 2 years ago
Rafal Kupiec 5b2f300fe4
Implement '$base' construction. 2 years ago
Rafal Kupiec ddd46a4e80
Quick small cleanup. 2 years ago
Rafal Kupiec 3cca5faa76
Store variable type in dedicated field. 2 years ago
Rafal Kupiec f2116a6461
Always use HTTPS when possible. 2 years ago
Rafal Kupiec 5d9b73ba4e
Use method full name. 2 years ago
Rafal Kupiec 5256dda922
Attempt to fix '$this' and '$parent' constructs. 2 years ago
Rafal Kupiec ea5499f8b3
Private methods should not be accessible from child class. 2 years ago
Rafal Kupiec 5e7d5957e2
Distinguish methods from attributes. 2 years ago
Rafal Kupiec d3d3dff673
Do not allow to call statically a non-static method. 2 years ago
Rafal Kupiec 07bd3ceec3
Reimplement 'parent' construct as variable $parent. 2 years ago
Rafal Kupiec 17e0fb4653
Do not try to resolve constants when OP_MEMBER is next instruction on the stack. 2 years ago
Rafal Kupiec 7b6245572f
Remove constants management builtin functions. 2 years ago
Rafal Kupiec c4b63a3018
Rename OP_LOAD instruction to OP_LOADV. 2 years ago