implementing instance variable access with regards to inheritance

This commit is contained in:
2022-02-06 16:06:48 +00:00
parent eac89bff5c
commit ef24bf68df
4 changed files with 45 additions and 19 deletions

View File

@ -577,7 +577,7 @@ typedef struct hcl_function_t* hcl_oop_function_t;
typedef struct hcl_block_t hcl_block_t;
typedef struct hcl_block_t* hcl_oop_block_t;
#define HCL_CONTEXT_NAMED_INSTVARS 8
#define HCL_CONTEXT_NAMED_INSTVARS 9
typedef struct hcl_context_t hcl_context_t;
typedef struct hcl_context_t* hcl_oop_context_t;
@ -670,6 +670,8 @@ struct hcl_context_t
hcl_oop_context_t home; /* context or nil */
hcl_oop_t instoff;
/* variable indexed part */
hcl_oop_t slot[1]; /* arguments, return variables, local variables, other arguments, etc */
};
@ -850,7 +852,7 @@ struct hcl_process_scheduler_t
};
#define HCL_CLASS_NAMED_INSTVARS 6
#define HCL_CLASS_NAMED_INSTVARS 7
typedef struct hcl_class_t hcl_class_t;
typedef struct hcl_class_t* hcl_oop_class_t;
struct hcl_class_t
@ -862,6 +864,7 @@ struct hcl_class_t
hcl_oop_t superclass;
hcl_oop_t nivars; /* smooi. */
hcl_oop_t ncvars; /* smooi. */
hcl_oop_t nivars_super; /* smooi */
hcl_oop_char_t ivarnames;
hcl_oop_char_t cvarnames;