618 Commits (v0.1.0)

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 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 045ebe92ae
At least compile the 'finally' block for now. 2 years ago
  Rafal Kupiec b5cdbf4721
Allow to access variables from active frames after exception is thrown. 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 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 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 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 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 b319e11c09
Fix build. 2 years ago
  Rafal Kupiec 5c176207e1
Set base class only when $base called. 2 years ago