618 Commits (v0.1.0)

Author SHA1 Message Date
  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 ddd46a4e80
Quick small cleanup. 2 years ago
  Rafal Kupiec 3cca5faa76
Store variable type in dedicated field. 2 years ago
  Rafal Kupiec 9fd61a207b
Store class pointer in attribute during installation. 2 years ago
  Rafal Kupiec 1acbd21caf
Store a pointer to class container in each method. 2 years ago
  Rafal Kupiec a25b163af6
Fix another PH7 conceptual bug. Reverse this logic. 2 years ago
  Rafal Kupiec 77c57674e8
Allow private methods redeclaration. 2 years ago
  Rafal Kupiec 4cc7940216
Correctly identify a member. 2 years ago
  Rafal Kupiec 55acf8111f
Assume private visibility for all class members by default. 2 years ago
  Rafal Kupiec 48ccd7fef0
Copy all attributes from base classes and emit a warning if redeclared in subclass. 2 years ago
  Rafal Kupiec e8c675bd8e
Store a pointer to class container to reduce memory usage. 2 years ago
  Rafal Kupiec 7203492763
Store a class name in each attribute. 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 a2fb0b9ae5
Get rid of 'parent' constant. Use variable instead. 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 d3ae1c1bf4
Only identifiers should be allowed as constant name. 2 years ago
  Rafal Kupiec cedc288f67
Remove static constant. 2 years ago
  Rafal Kupiec 0a6b5a6f42
The 'self' and 'parent' keywords should be resolved at compile time. 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 23900f2aed
Remove unused compiler function - PH7_CompileLangConstruct(). 2 years ago
  Rafal Kupiec b36510943d
Implement 'define' statement for defining constants globally. 2 years ago
  Rafal Kupiec ab8bf48485
Make constant declarations local. 2 years ago
  Rafal Kupiec e6b7f1be2c
Always emit OP_JMPLFE as goto can be used inside a loop and frame has to be left. 2 years ago
  Rafal Kupiec 03fc167be1
Proper implementation of so hated 'goto' statement. 2 years ago
  Rafal Kupiec 2f3ce65289
Correct comment to if/else statements. 2 years ago
  Rafal Kupiec 8f681d1605
Correct PH7_OP_JMPLFE debug name. 2 years ago
  Rafal Kupiec 5a0e4667fa
More readable error message. 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 7c37451520
Namespaces are not supported and broken, but compile them properly. 2 years ago
  Rafal Kupiec 1829eff323
Fix interface and class compilation. 2 years ago
  Rafal Kupiec 798fd7d3b2
Remove unused and useless VM instruction. 2 years ago
  Rafal Kupiec d76441ad4c
Safely store only compatible values. 2 years ago
  Rafal Kupiec 1d6822c1e2
Allow key and value declaration inside foreach() loop. 2 years ago
  Rafal Kupiec a726ab795a
Throw an error if $key or $value does not exist. 2 years ago
  Rafal Kupiec 5c1e0f0cce
Simplify the foreach() loop implementation. 2 years ago
  Rafal Kupiec 4d8d92092e
Refactor foreach() loop. 2 years ago
  Rafal Kupiec 1156519af6
This is a compiler task to fill key and value variables names. 2 years ago
  Rafal Kupiec 62c315da9e
Call to undefined constant should lead to an error. 2 years ago
  Rafal Kupiec f09d4def2d
It's AerScript. 2 years ago