882 Commits (4267bb2f2635bce5aef0c0aa89447dff67e138c2)
 

Author SHA1 Message Date
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 84b5fd2717
Test 'finally' block compiler. 2 years ago
Rafal Kupiec 045ebe92ae
At least compile the 'finally' block for now. 2 years ago
Rafal Kupiec 9fe4aa653f
We will store 'finally' block bytecode here. 2 years ago
Rafal Kupiec b5cdbf4721
Allow to access variables from active frames after exception is thrown. 2 years ago
Rafal Kupiec d57d6caf2d
Add 'finally' frame definition. 2 years ago
Rafal Kupiec d0840d7eea
Cleanup after switching from 'parent' constant to '$parent' variable. 2 years ago
Rafal Kupiec 625a386b69
Get rid of 'self' statement. 2 years ago
Rafal Kupiec 3184b95a09
Do not use 'self' construct referring to current class. 2 years ago
Rafal Kupiec 5f90f3e8e1
Install $parent & $this only if there is class instantiated. 2 years ago
Rafal Kupiec 3689a0239a
Lets test access to derived attributes. 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 cd9ff68ae9
Completely disallow static methods in interfaces. 2 years ago
Rafal Kupiec 984429bc55
Disallow static method declarations in interface. 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 fd278b1f47
Test static class. 2 years ago
Rafal Kupiec a3a2c8b619
Allow non-static methods inside static (final virtual) classes to be called statically. 2 years ago
Rafal Kupiec ba1c840009
Allow a 'final virtual' classes to be declared. 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 c206011c95
Rework PH7_ClassExtractAttribute() function. Now it returns a pointer to valid attribute. 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 5e166492d5
Revert 02471b4ccb. 2 years ago
Rafal Kupiec a5fb8ff8be
VmClassMemberAccess() should only check access right. 2 years ago
Rafal Kupiec d924d41a7a
Do not unset $this. 2 years ago
Rafal Kupiec a6f7c6d847
Prevent $base, $parent and $this from being unset. 2 years ago
Rafal Kupiec 02471b4ccb
Do not install private methods from parent to subclass. 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 26333360b0
Fix similar to a25b163af6. 2 years ago
Rafal Kupiec 1175219ad4
Temporarily fix test. 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 e654e42b07
Store class directly in function container. 2 years ago
Rafal Kupiec 5b2f300fe4
Implement '$base' construction. 2 years ago
Rafal Kupiec d8db20e9bd
Do not use as variable name. 2 years ago