Commit Graph

530 Commits

Author SHA1 Message Date
fb46b058d7 making return-from-home more rewind friendly 2022-02-28 16:08:44 +00:00
f4661d018a fixing bugs related to stack, class stack, exceptio stack handling 2022-02-27 19:35:47 +00:00
3f03140dcc changed an error message 2022-02-24 17:25:15 +00:00
c446330f4a compiler enhancement in checking instance variable access in class methods 2022-02-24 17:16:02 +00:00
50c04bb770 trying to detect prohibited access to an instance vairables in a class method.
inventing the class instantiation method concept
2022-02-24 16:47:26 +00:00
6d409c809f proper return variables handling in message sends 2022-02-21 16:07:55 +00:00
e70e54293d some testsuites enhancement 2022-02-21 15:22:22 +00:00
5c7febf9a8 integrating test scripts 2022-02-21 08:15:00 +00:00
f0b6ccdf42 enhanced the compiler to emit the right instruction for super 2022-02-19 17:26:26 +00:00
e482ce620f fixed wrong instructions generated for set-r and return variables.
class variables access fixed to use hcl->active_context->home->owner instead of hcl->active_context->owner
2022-02-19 16:57:06 +00:00
026ece9aea added the super keyword 2022-02-18 16:32:19 +00:00
420d38c8be simplified the class variable access by remembering the method owner class in context objects 2022-02-17 12:40:22 +00:00
fcfbec6647 meaningless interim commit 2022-02-14 01:21:01 +00:00
4b4e6a6385 added a class-side dictionary to the class object 2022-02-13 10:15:14 +00:00
eefc544644 wrote some code to process class method definition 2022-02-13 02:39:37 +00:00
cdc499763e adding class_cmstore and class_imstore. deleting class_mstore 2022-02-12 15:05:31 +00:00
36aba57e4b some more code clean-up 2022-02-08 14:00:45 +00:00
a61197d3f7 some code clean-up 2022-02-08 13:57:48 +00:00
78543920f5 fixed some type warnings 2022-02-08 12:01:57 +00:00
2c2cfc99bb changed the object instantiation function to add up the instance variables counts of the superclass chain 2022-02-07 15:13:38 +00:00
ef24bf68df implementing instance variable access with regards to inheritance 2022-02-06 16:06:48 +00:00
eac89bff5c removed an annoying comma in the syncode enumerator definition 2022-02-05 17:37:06 +00:00
495cea5704 added a new identifier - self 2022-02-05 17:35:10 +00:00
d1c12bc543 attempting to touch up the context object 2022-02-03 00:57:36 +00:00
5ded15d06a more code for message sending 2022-01-31 04:38:05 +00:00
72ed203f80 renamed class_set to class_mstore 2022-01-31 01:36:59 +00:00
84e53e3459 adding the class_set instruction 2022-01-29 17:43:11 +00:00
a89b83a6fd writing message sending implementation code 2022-01-29 09:58:52 +00:00
d72baec0a9 more code added for message sending implementation 2022-01-25 07:54:11 +00:00
e94936b893 some code for message sending 2022-01-24 15:39:49 +00:00
d8a23ad52c fixed %js handling in the formatting funtion 2022-01-24 07:39:43 +00:00
6cdbc457a0 implementing message sending 2022-01-23 16:46:13 +00:00
7ad9b2d499 rearranged the stack for the call operation by pushing a dummy receiver.
the rearrangement is done to make aa plain function call look the same as a message send
2022-01-22 15:40:38 +00:00
a7a69d9a11 implementing a message sending list 2022-01-14 16:09:52 +00:00
bdf527f298 writing the compiler code for class variable handling 2022-01-09 16:47:38 +00:00
0fd038ddb6 utf8 range limiting.
compiler work for class variable access in the class defintion scope
2022-01-08 09:26:54 +00:00
7c6511d4ad rewriting variable collection in a class 2022-01-04 15:26:17 +00:00
8582b9288d removed a debugging message 2022-01-04 13:43:51 +00:00
a830d578e0 touching up variable declaration handling in a class 2022-01-03 17:59:55 +00:00
57bb1657b3 added new instructions - push_clsvar, store_into_clsvar, pop_into_clsvar 2022-01-01 14:58:57 +00:00
a61f6f5f47 fixed the missing prototype defintion of hcl_instantiate() 2021-12-31 08:39:12 +00:00
ff6f895c31 minor update of an error message 2021-12-31 06:31:57 +00:00
72724799b3 working on object instanttiation 2021-12-27 23:12:36 +00:00
7b653c0df8 fixed yet another bug compiling a catch block 2021-12-26 16:37:54 +00:00
73148041a2 fixed another bug compiling a catch block 2021-12-26 16:00:08 +00:00
447fafd7b2 fixed a wrong compiler check in the post_catch() phase 2021-12-26 14:59:34 +00:00
afeebc08c9 fixed process stack handling 2021-12-25 15:33:49 +00:00
d2e6f94b33 enhanced try_exit and try_exit2 to restore the class stack pointer 2021-12-24 14:59:16 +00:00
c230355e90 changed do_throw() to clear the class stack when the exception is empty 2021-12-24 05:10:50 +00:00
3d4e161a5f added 'class_push_exit'
enhanced the compiler to produce 'pop_stacktop' at the end of the class if the class body is not empty
2021-12-24 00:05:58 +00:00