Commit Graph
194 Commits
Author SHA1 Message Date
belliash 1026c8d525 Validate interface contracts against effective C3 implementations and support transitive interface checks
Build / AerScript (push) Successful in 39s
2026-10-24 20:19:11 +02:00
belliash d511414453 Preserve class attribute identity and validate inheritance conflicts across C3 MRO
Build / AerScript (push) Successful in 42s
2026-10-24 18:26:58 +02:00
belliash 5f02a34b10 Resolve inherited method overloads across C3 MRO using full input signatures and own import path storage for the lifetime of the VM
Build / AerScript (push) Successful in 39s
2026-10-24 12:27:01 +02:00
belliash bc5e5f6a8e Implement C3 class linearization and validate inheritance graphs
Build / AerScript (push) Successful in 2m13s
2026-10-24 01:16:34 +02:00
belliash cd924eb066 Revert context frame implementation
Build / AerScript (push) Successful in 32s
2025-08-30 18:27:59 +02:00
belliash d73eb9b5b2 Implement exponentiation (**) operator
Build / AerScript (push) Successful in 40s
2025-08-29 22:04:55 +02:00
belliash 5ff7d03ed1 Get rid of OP_UNUSED and implement additional context frame to resolve scope issue
Build / AerScript (push) Failing after 28s
2025-08-29 14:32:01 +02:00
belliash dc5725d1af Unset local for variable, fixes #62
Build / AerScript (push) Failing after 26s
2025-08-28 18:38:28 +02:00
belliash 9d762a2350 Move debug-related code into separate file.
The build was successful.
2019-12-15 13:32:45 +01:00
belliash ad5784f81f Reimplement import() builtin function as a global-scope statement. This fixes #58.
The build was successful.
2019-12-14 23:30:38 +01:00
belliash 9290db2504 Another changes in file inclusion mechanism (#58):
The build was successful.
* Remove builtin functions: 'include' & 'require'
* Implement 'include' and 'require' statements compiler
* Implement OP_INCLUDE operator
* Allow 'require' statement to be used in global scope as well as in method body and 'include' only in method body
2019-12-10 16:09:26 +01:00
belliash cb71daec12 Code inclusion rework that include several changes (#58):
The build was successful.
* include() builtin function allows now to include a chunk of code, eg. a body of some loop
 * include() allows to load and execute file several times
 * require() still allows to include file just once and included file must have a valid OOP syntax
 * both functions will throw E_ERROR when impossible to include specified file
2019-11-27 20:07:50 +01:00
belliash a24e44fbf3 Completely remove this broken threading implementation. Fixes #55.
The build was successful.
2019-10-28 21:35:16 +01:00
belliash f3972a9ca2 Rename LFB/LFE operators.
The build was successful.
2019-10-25 23:09:30 +02:00
belliash 426ec932ec Implement MemObjIsHashmap().
The build was successful.
2019-09-10 10:55:54 +02:00
belliash 3b9d91f186 Revert 3dcc908788.
The build was successful.
2019-08-29 14:23:33 +02:00
belliash 616b2eeae3 Cleanup the headers a bit.
The build was successful.
2019-06-29 11:50:01 +02:00
belliash 2ef2b6265c Never disable IO library.
The build was successful.
2019-06-29 11:10:50 +02:00
belliash 48d5088265 Enable the magic number protection.
The build was successful.
2019-06-27 22:57:08 +02:00
belliash 3dcc908788 Enable threading.
The build was successful.
2019-06-27 20:52:37 +02:00
belliash 8b2086402e Fix all compiler warnings in AerScript compiler.
The build was successful.
2019-06-22 11:59:43 +02:00
belliash dcf37af75e Implement a NULL-coalescing '??' operator.
The build was successful.
2019-06-21 00:34:41 +02:00
belliash 6d964d6113 Add missing declaration for PH7_MemObjIsNull() function.
The build was successful.
2019-06-21 00:30:35 +02:00
belliash ca51e2a5da Add comments.
The build was successful.
2019-06-19 10:14:01 +02:00
belliash bd24aa0605 Correct more compiler warnings.
The build was successful.
2019-06-19 09:31:40 +02:00
belliash 0be38392bd Correct variable types, to make compiler silent.
The build was successful.
2019-06-17 14:28:03 +02:00
belliash bffd44a7b4 Get rid of some annoying compiler warnings.
The build was successful.
2019-06-17 09:51:37 +02:00
belliash 173bac16ad Add missing definitions.
The build was successful.
2019-06-16 19:54:42 +02:00
belliash b3eb2d0139 Include missing header.
The build was successful.
2019-06-16 08:41:42 +02:00
belliash 050a637e88 Add missing declarations.
The build was successful.
2019-06-16 08:31:43 +02:00
belliash 1a91fedb1f Proper SXUNUSED() macro implementation.
The build was successful.
2019-06-16 00:10:27 +02:00
belliash 0bef248298 Implement PH7_VmDestroyMemObj() to forcibly destroy a memory object.
The build was successful.
2019-06-14 17:11:34 +02:00
belliash 5c824ec67d Do not set any recursion depth limit.
The build was successful.
2019-06-10 12:11:55 +02:00
belliash cbe4f29909 Define 'auto' keyword.
The build was successful.
2019-06-08 12:19:00 +02:00
belliash d0995a4239 Rename 'instanceof' to 'is'.
The build was successful.
2019-06-06 11:53:17 +02:00
belliash 5948c3a5b6 Remove unused function argument.
The build was successful.
2019-06-05 17:30:17 +02:00
belliash 9fe4aa653f We will store 'finally' block bytecode here.
The build was successful.
2019-06-04 06:31:07 +02:00
belliash d57d6caf2d Add 'finally' frame definition.
The build was successful.
2019-06-03 19:21:03 +02:00
belliash d0840d7eea Cleanup after switching from 'parent' constant to '$parent' variable.
The build was successful.
2019-06-03 12:31:28 +02:00
belliash 625a386b69 Get rid of 'self' statement.
The build was successful.
2019-06-03 12:29:21 +02:00
belliash b1b78433dd Clean up $base statement.
The build was successful.
2019-05-30 18:16:29 +02:00
belliash e654e42b07 Store class directly in function container.
The build was successful.
2019-05-22 08:33:56 +02:00
belliash ddd46a4e80 Quick small cleanup.
The build was successful.
2019-05-21 19:18:52 +02:00
belliash 3cca5faa76 Store variable type in dedicated field.
The build was successful.
2019-05-21 14:49:36 +02:00
belliash 0f4a666b89 Variable type should be separated from control flags.
The build was successful.
2019-05-21 10:58:34 +02:00
belliash 1acbd21caf Store a pointer to class container in each method.
The build was successful.
2019-05-21 08:40:10 +02:00
belliash e8c675bd8e Store a pointer to class container to reduce memory usage.
The build was successful.
2019-05-16 15:41:37 +02:00
belliash 7203492763 Store a class name in each attribute.
The build was successful.
2019-05-16 13:25:06 +02:00
belliash 8aed5af238 Correct indentation.
The build was successful.
2019-05-15 20:15:26 +02:00
belliash f2116a6461 Always use HTTPS when possible.
The build was successful.
2019-05-15 20:02:39 +02:00