895 Commits (6c449dbdbfd31a5fd5b1b87375c4173f51036883)
 

Author SHA1 Message Date
Rafal Kupiec 6c449dbdbf
Allow OP_IS to check for type def and value. 2 years ago
Rafal Kupiec fa5c2e1f5e
Parse the OP_IS instruction. 2 years ago
Rafal Kupiec dbd39be5ed
Allow the array typedef constructs to be used not only when declaring a variable. 2 years ago
Rafal Kupiec a5af1d473f
Compile the typedef for OP_IS instruction. 2 years ago
Rafal Kupiec ce851b5df5
Do not try to load constant on OP_IS. 2 years ago
Rafal Kupiec b15d0d33fd
Improve operator precedence. 2 years ago
Rafal Kupiec 734710ae78
Rename 'instanceof' to 'is'. 2 years ago
Rafal Kupiec d0995a4239
Rename 'instanceof' to 'is'. 2 years ago
Rafal Kupiec 24c75975e3
Correct the condition. 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 3715b1b53d
Extend the exception test. 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 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