@@ -195,10 +195,8 @@ struct AstNodeRoot {
195
195
struct AstNodeFnProto {
196
196
TopLevelDecl top_level_decl;
197
197
Buf name;
198
- ZigList<AstNode *> generic_params;
199
198
ZigList<AstNode *> params;
200
199
AstNode *return_type;
201
- bool generic_params_is_var_args;
202
200
bool is_var_args;
203
201
bool is_extern;
204
202
bool is_inline;
@@ -210,7 +208,10 @@ struct AstNodeFnProto {
210
208
FnTableEntry *fn_table_entry;
211
209
bool skip;
212
210
Expr resolved_expr;
213
- TypeTableEntry *generic_fn_type;
211
+ // computed from params field
212
+ int inline_arg_count;
213
+ // if this is a generic function implementation, this points to the generic node
214
+ AstNode *generic_proto_node;
214
215
};
215
216
216
217
struct AstNodeFnDef {
@@ -219,6 +220,7 @@ struct AstNodeFnDef {
219
220
220
221
// populated by semantic analyzer
221
222
TypeTableEntry *implicit_return_type;
223
+ // the first child block context
222
224
BlockContext *block_context;
223
225
};
224
226
@@ -230,6 +232,7 @@ struct AstNodeParamDecl {
230
232
Buf name;
231
233
AstNode *type;
232
234
bool is_noalias;
235
+ bool is_inline;
233
236
234
237
// populated by semantic analyzer
235
238
VariableTableEntry *variable;
@@ -841,6 +844,7 @@ struct FnTypeId {
841
844
bool is_naked;
842
845
bool is_cold;
843
846
bool is_extern;
847
+ bool is_inline;
844
848
FnTypeParamInfo prealloc_param_info[fn_type_id_prealloc_param_info_count];
845
849
};
846
850
@@ -1063,7 +1067,6 @@ struct FnTableEntry {
1063
1067
ZigList<LabelTableEntry *> all_labels;
1064
1068
Buf symbol_name;
1065
1069
TypeTableEntry *type_entry; // function type
1066
- bool is_inline;
1067
1070
bool internal_linkage;
1068
1071
bool is_extern;
1069
1072
bool is_test;
@@ -1172,8 +1175,8 @@ struct CodeGen {
1172
1175
1173
1176
ZigList<ImportTableEntry *> import_queue;
1174
1177
int import_queue_index;
1175
- ZigList<AstNode *> export_queue ;
1176
- int export_queue_index ;
1178
+ ZigList<AstNode *> resolve_queue ;
1179
+ int resolve_queue_index ;
1177
1180
ZigList<AstNode *> use_queue;
1178
1181
int use_queue_index;
1179
1182
0 commit comments