diff options
Diffstat (limited to 'type.h')
| -rw-r--r-- | type.h | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -9,10 +9,16 @@ struct data_type { bool is_floating; }; +struct fn_type { + struct type_list* arg_types; + struct type* return_type; +}; + struct type { enum { TP_DATA, TP_PTR, + TP_FN, } type; union { struct { @@ -23,9 +29,15 @@ struct type { const struct data_type* data_type; integral_t ptr_level; } pointer; + struct fn_type fn; }; }; +struct type_list { + const struct type* type; + struct type_list* next; +}; + extern const struct data_type void_type; extern const struct data_type char_type; extern const struct data_type short_type; |
