Commit Graph

130 Commits

Author SHA1 Message Date
291b6f0607 Get rid of backstick quoted strings (shell commands).
All checks were successful
The build was successful.
2019-04-18 06:48:51 +02:00
395f6c446c Get rid of known from PHP 'elseif' construction.
All checks were successful
The build was successful.
2019-04-17 07:55:32 +02:00
ba8e9080ef Implement OP_JMPLFB & OP_JMPLFE VM instructions.
All checks were successful
The build was successful.
2019-04-16 12:46:58 +02:00
89f19133d5 Rename VM's jump instructions for better readability.
All checks were successful
The build was successful.
2019-04-16 08:14:16 +02:00
517dffcbc1 Separate VM instruction for variable declaration (OP_DECLARE).
All checks were successful
The build was successful.
2019-04-15 19:18:29 +02:00
0f0fc01a96 We need to distinguish the loop frames.
All checks were successful
The build was successful.
2019-04-13 20:21:47 +02:00
c51b3dfa8a Revert 89d5158d7e and a8a1a2cd51. Fix should be based on VM frames.
All checks were successful
The build was successful.
2019-04-13 14:39:57 +02:00
a8a1a2cd51 Fix variable declaration in loops.
Some checks reported errors
The build has failed.
2019-04-11 13:28:47 +02:00
4eaf6a7117 AerScript is strict type hinting language, thus OP_TEQ & OP_TNE are not needed here.
All checks were successful
The build was successful.
2019-04-11 06:25:20 +02:00
d8f9db8f9a Proper implementation of is_callback() & is_callable(). First one only performs a check if variable type is callback, while the second checks if function exists and if can be called.
All checks were successful
The build was successful.
2019-04-10 09:45:00 +02:00
aaef03396c Implement PH7_MemObjSafeStore().
All checks were successful
The build was successful.
2019-04-02 19:44:09 +02:00
3f205c19ce Get rid of dirty references. Return a reference & pass-by reference are still working.
All checks were successful
The build was successful.
2019-03-29 22:55:49 +01:00
140bd35f93 Set proper type for all class attributes.
All checks were successful
The build was successful.
2019-03-29 09:00:55 +01:00
14f958a4b2 Implement PH7_HashmapCast().
All checks were successful
The build was successful.
2019-03-27 09:42:23 +01:00
243faf4373 Header cleanup.
All checks were successful
The build was successful.
2019-03-24 09:38:52 +01:00
accde59f9e Cleanup header.
All checks were successful
The build was successful.
2019-03-24 09:32:27 +01:00
fa295b9437 It's callback, not callable.
All checks were successful
The build was successful.
2019-03-24 09:31:19 +01:00
a87471e1e3 The empty() function is useless in Aer.
All checks were successful
The build was successful.
2019-03-24 09:22:10 +01:00
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.
Some checks reported errors
The build has failed.
2019-03-23 19:51:19 +01:00
135e7c9698 VAR & FUNCTION are no longer valid keywords.
All checks were successful
The build was successful.
2019-03-22 18:47:46 +01:00
59e2743a60 Simply release the object, no need to use a wrapper function.
All checks were successful
The build was successful.
2019-03-22 18:42:46 +01:00
98a5fc1af0 No such operator.
All checks were successful
The build was successful.
2019-03-22 18:34:12 +01:00
154469f475 Variable cannot be typecasted to NULL.
All checks were successful
The build was successful.
2019-03-22 18:33:39 +01:00
9a41f7195d AerScript does not implement any error control operator.
All checks were successful
The build was successful.
2019-03-22 17:32:40 +01:00
65b178932a Get rid of array() & list() for the new syntax.
All checks were successful
The build was successful.
2019-03-22 15:54:46 +01:00
7b1ed59f41 Basic check if all methods declared in interface are also defined in class.
All checks were successful
The build was successful.
2019-03-20 09:24:30 +01:00
615e75fb8a Store methods return type.
All checks were successful
The build was successful.
2019-03-16 14:57:04 +01:00
e498bc7646 It is enought to declare 'object'.
All checks were successful
The build was successful.
2019-03-13 19:59:48 +01:00
a2749000d6 Do not store these information twice; save the memory.
All checks were successful
The build was successful.
2019-03-13 09:58:00 +01:00
f71e60f641 Add fields to store information about method's return data type.
All checks were successful
The build was successful.
2019-03-13 09:43:27 +01:00
df3d00d02c Revert f1d4d80f65.
All checks were successful
The build was successful.
2019-03-11 08:16:51 +01:00
051bca470e Save the closure return data type for further use.
All checks were successful
The build was successful.
2019-03-10 21:02:06 +01:00
f1d4d80f65 Cleanup keywords.
All checks were successful
The build was successful.
2019-03-09 22:39:26 +01:00
fa0b487cc0 Implement typecasting to resource data type.
All checks were successful
The build was successful.
2019-02-08 14:06:39 +01:00
f97e2a8294 Implement typecasting to callback data type.
All checks were successful
The build was successful.
2018-12-20 18:30:21 +01:00
1c3211e00d Add missing PH7_OP_CVT_CALL definition.
All checks were successful
The build was successful.
2018-12-13 09:35:48 +01:00
9ab896c2e2 Implement PH7_CheckVarCompat().
All checks were successful
The build was successful.
2018-11-28 20:37:07 +01:00
d65a529d21 Initial support for char data type.
All checks were successful
The build was successful.
2018-11-26 20:37:51 +01:00
174ecb2a38 Initial support for void type.
All checks were successful
The build was successful.
2018-11-23 09:19:37 +01:00
f927667d85 Strictly check for data type of static variable declaration.
Some checks reported errors
The build has failed.
2018-09-21 22:06:36 +02:00
241c7d8168 First step to declare a variable with specified data type.
All checks were successful
The build was successful.
2018-09-20 17:06:23 +02:00
9884f8288b Do not allow typecasting to unset a variable.
All checks were successful
The build was successful.
2018-09-18 22:11:57 +02:00
58103ea5fe Mark method/closure call frame as active.
All checks were successful
The build was successful.
It is impossible to dump the frame during its initialization, as it does not contain all necessary information. Such frame should be skipped. After initialization is done, the frame has to be marked as active just before
evaluating a function body.
2018-09-16 19:52:24 +02:00
faca9b7fb2 Another fix in debug trace.
All checks were successful
The build was successful.
2018-09-14 22:22:37 +02:00
8b48786f29 Add missing data types.
All checks were successful
The build was successful.
2018-09-14 08:47:16 +02:00
1e5538fc67 Remove useless fields in pVm.
All checks were successful
The build was successful.
2018-09-11 17:52:28 +02:00
82e5dc1565 Add SyStrtok() declaration.
All checks were successful
The build was successful.
2018-09-10 23:02:25 +02:00
eb79ed500e Store float values in an union.
All checks were successful
The build was successful.
Single variable cannot have many values of different types. This also saves some memory, because union allocates memory just for one of its members.
2018-09-07 12:04:51 +02:00
af1d59dab4 Don't try to get an integer representation of float.
All checks were successful
The build was successful.
2018-09-07 06:49:50 +02:00
9ee0f1954c Do not omit the floating point.
All checks were successful
The build was successful.
Every modern hardware, including embedded devices, should support floating point numbers.
2018-09-07 06:38:32 +02:00