296 Commits (5948c3a5b613193634fb62c5fbef9f072de23572)

Author SHA1 Message Date
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
Rafal Kupiec ab8bf48485
Make constant declarations local. 2 years ago
Rafal Kupiec 8f681d1605
Correct PH7_OP_JMPLFE debug name. 2 years ago
Rafal Kupiec 508e8965a9
VmExtractMemObj() should not be able to create a variable. 2 years ago
Rafal Kupiec 7d606cbf1d
Do not create variables automatically on each OP_CALL using VmExtractMemObj(). 2 years ago
Rafal Kupiec 3dfa4232ba
Use VmCreateMemObj() to create $this. 2 years ago
Rafal Kupiec 798fd7d3b2
Remove unused and useless VM instruction. 2 years ago