Commit Graph

114 Commits

Author SHA1 Message Date
ef2ea60a60
Treat whole file as P# source code. Fixes #24. 2018-07-28 18:28:19 +02:00
bdf053a205
Implement a fix also for interface. This commit also adds initial and partial support for multiple inheritance. 2018-07-27 23:28:34 +02:00
db93fd8b25
Make a use of our internal allocator instead of malloc() 2018-07-27 21:16:50 +02:00
caf9126f0b
Several changes:
* small code cleanup
 * implement new structure for storing information about class inheritance
 * implement PH7_NewClassInfo()
 * make a use of smaller ph7_class_info instead of ph7_class, to reduce memory usage
2018-07-27 21:05:54 +02:00
b040886b97
Test and temporary version of compiler emiting PH7_OP_CLASS_INIT instruction.
However it works on ph7_class and thus passes whole class into the VM, what causes memory overhead,
as finally we have to find this class on the VM's stack. Instead, we could pass some ph7_class_info
structure containing a name of class to look for and information about its inheritances.
2018-07-27 08:24:53 +02:00
09451f4042
Two changes come here:
* do not allow two or more classes / interfaces with the same name
 * fix class_exists() builtin function so that it does not return true if interface is found
2018-07-25 19:00:49 +02:00
6628a1ea3d
This is probably what we would like to skip during compilation. 2018-07-25 13:34:17 +02:00
abf9cf61b8
More typos to correct 2018-07-24 18:30:58 +02:00
6f64412108
Typo? Typo. Typo! 2018-07-24 16:37:14 +02:00
ae2c1e2ae5
Fix for #6 2018-07-24 16:14:58 +02:00
c0a8608dd7
Make reported errors more PHP-like 2018-07-24 15:45:44 +02:00
f8beab654d
Cleanup after goto removal 2018-07-23 16:40:32 +02:00
ceca007cd1 Correct some typos 2018-07-22 19:25:12 +01:00
abb91a9874
Reorganize the repository for new build system 2018-07-20 22:35:09 +02:00