diff --git a/oberon.h b/oberon.h
index 86f95def78e74ccd07b87b82e8bdeefde13601eb..53693a79629e8b772c38497cfc0c00046891cbed 100644 (file)
--- a/oberon.h
+++ b/oberon.h
gcc_jit_result * gcc_result;
gen_block_t * block;
unsigned record_count;
+ gcc_jit_lvalue * gcc_alloc;
};
typedef struct oberon_type_s oberon_type_t;
oberon_type_t * base;
oberon_object_t * decl;
+ oberon_module_t * module;
+
int recursive;
int initialized;
gen_type_t * gen_type;
MODE_INDEX,
MODE_FIELD,
MODE_DEREF,
- MODE_NIL
+ MODE_NIL,
+ MODE_NEW
};
enum
int is_item; // == 1
oberon_type_t * result;
oberon_expr_t * next;
+ int read_only;
int mode;
int integer;
int is_item; // == 0
oberon_type_t * result;
oberon_expr_t * next;
+ int read_only;
int op;
oberon_expr_t * left;
int is_item;
oberon_type_t * result;
oberon_expr_t * next;
+ int read_only;
};
oberon_item_t item;