Rafal Kupiec
f5960d57b1
Allow static class attributes to store compatible data types only.
2019-03-29 19:56:10 +01:00
Rafal Kupiec
41d20eeb28
Builtin library is broken; strtok() cannot return a boolean value.
2019-03-29 09:45:15 +01:00
Rafal Kupiec
01f1932230
Respect the class attribute data type.
2019-03-29 09:21:58 +01:00
Rafal Kupiec
47cca096bc
Fix segmentation fault when trying to access array element.
2019-03-29 09:09:51 +01:00
Rafal Kupiec
140bd35f93
Set proper type for all class attributes.
2019-03-29 09:00:55 +01:00
Rafal Kupiec
a013cee2d1
Properly serve the arrays.
2019-03-28 19:44:03 +01:00
Rafal Kupiec
e4dc9f641e
Invert the logic. Variable needs to be declared.
2019-03-28 19:43:00 +01:00
Rafal Kupiec
66b55e35a9
Enable reference operator.
2019-03-28 07:58:53 +01:00
Rafal Kupiec
874e416d65
Typo correction.
2019-03-27 09:50:24 +01:00
Rafal Kupiec
46a3bd85b0
Add function description.
2019-03-27 09:49:48 +01:00
Rafal Kupiec
14f958a4b2
Implement PH7_HashmapCast().
2019-03-27 09:42:23 +01:00
Rafal Kupiec
45f4a00b05
Revert 5e54233ef8
.
2019-03-26 17:41:32 +01:00
Rafal Kupiec
9303517b9e
Fix return by reference.
2019-03-26 17:40:28 +01:00
Rafal Kupiec
5e54233ef8
Check only non-array vriables.
2019-03-26 16:39:19 +01:00
Rafal Kupiec
04c56c9041
Multidimensional array of the same type should not be marked as mixed.
2019-03-25 09:37:40 +01:00
Rafal Kupiec
891818d601
Fix PH7_CheckVarCompat(). Array can be assigned only to array.
2019-03-24 13:33:15 +01:00
Rafal Kupiec
fa295b9437
It's callback, not callable.
2019-03-24 09:31:19 +01:00
Rafal Kupiec
a87471e1e3
The empty() function is useless in Aer.
2019-03-24 09:22:10 +01:00
Rafal Kupiec
9438407ebf
Never store an element if there is no callback function specified.
2019-03-24 09:01:38 +01:00
Rafal Kupiec
4f29507c0d
The isset() function always results in true, thus it is useless. If passed as argument variable is not set, the interpreter will throw an error.
2019-03-23 19:51:19 +01:00
Rafal Kupiec
e75ed7b9a9
Only INTEGER and FLOAT should be considered as numerical.
2019-03-23 19:34:51 +01:00
Rafal Kupiec
0af594f1ed
Seems not so useful in AerScript.
2019-03-23 19:15:16 +01:00
Rafal Kupiec
fc95deffa0
Typecasting should be enough.
2019-03-23 17:25:18 +01:00
Rafal Kupiec
76e76983a3
Implement new builtin functions: is_char() and is_void().
2019-03-23 12:59:09 +01:00
Rafal Kupiec
ea93c8dba4
Fix typo.
2019-03-22 19:55:53 +01:00
Rafal Kupiec
ff6c71db1c
Do not use NULL if possible.
2019-03-22 19:53:12 +01:00
Rafal Kupiec
9d7a542aea
The is_null() is useless now, as it always returns FALSE.
2019-03-22 19:29:50 +01:00
Rafal Kupiec
135e7c9698
VAR & FUNCTION are no longer valid keywords.
2019-03-22 18:47:46 +01:00
Rafal Kupiec
59e2743a60
Simply release the object, no need to use a wrapper function.
2019-03-22 18:42:46 +01:00
Rafal Kupiec
154469f475
Variable cannot be typecasted to NULL.
2019-03-22 18:33:39 +01:00
Rafal Kupiec
9a41f7195d
AerScript does not implement any error control operator.
2019-03-22 17:32:40 +01:00
Rafal Kupiec
65b178932a
Get rid of array() & list() for the new syntax.
2019-03-22 15:54:46 +01:00
Rafal Kupiec
90b5a8797a
Fix a bug allowing to pass an array as argument to the method/closure that takes a scalar.
2019-03-22 08:59:12 +01:00
Rafal Kupiec
075d2f0963
Temporary workaround to allow the use of curly braces and array() syntax concurrently.
2019-03-21 17:30:08 +01:00
Rafal Kupiec
412a70c0c6
Allow the array to be defined inside curly braces, instead of using array() keyword.
2019-03-21 17:27:19 +01:00
Rafal Kupiec
0115b30d01
Extension to PHP, standard in AerScript.
2019-03-21 06:19:27 +01:00
Rafal Kupiec
1460200919
This is true about PH7, but not about the AerScript.
2019-03-20 19:39:30 +01:00
Rafal Kupiec
7b1ed59f41
Basic check if all methods declared in interface are also defined in class.
2019-03-20 09:24:30 +01:00
Rafal Kupiec
3d23d43040
Enable garbage collector for Program class. This also partially fixes #47 , as from now Program::__destruct() will be called automatically.
2019-03-19 12:52:36 +01:00
Rafal Kupiec
b60c1de4cf
Abort on SXERR_ABORT, #47 .
2019-03-19 10:42:53 +01:00
Rafal Kupiec
23601fe9c5
Partially fix #47 , static variables are still affected.
2019-03-19 10:38:07 +01:00
Rafal Kupiec
6ca08c9c4a
Fix typo and builtin library.
2019-03-17 19:57:31 +01:00
Rafal Kupiec
55b652c740
Verify that Program::main() returns a value of int or void.
2019-03-17 19:56:07 +01:00
Rafal Kupiec
fe898ec7e7
Update builtin library to follow new syntax.
2019-03-17 19:52:28 +01:00
Rafal Kupiec
c26f8cd777
Strict data types for classes and interfaces:
...
1) New syntax for method declaration, now requiring a strict data type to be passed (i.e. void main()),
2) New syntax for attributes declaration, als orequiring a strict data type before variable name (i.e. string $str).
2019-03-17 19:43:03 +01:00
Rafal Kupiec
9934489ed9
Fix build.
2019-03-17 18:56:17 +01:00
Rafal Kupiec
f3d10dd4bc
Try to exit with code returned by Program::main() only when it is integer value.
2019-03-17 18:49:22 +01:00
Rafal Kupiec
de2b355862
Return 0, when display error message.
2019-03-17 18:47:17 +01:00
Rafal Kupiec
615e75fb8a
Store methods return type.
2019-03-16 14:57:04 +01:00
Rafal Kupiec
7897f28ebb
Fix parameters order.
2019-03-13 20:10:32 +01:00