| ... | @@ -3119,7 +3119,7 @@ fn validateStructInit( | ... | @@ -3119,7 +3119,7 @@ fn validateStructInit( |
| 3119 | field_values[i] = fields[i].default_val; | 3119 | field_values[i] = fields[i].default_val; |
| 3120 | } | 3120 | } |
| 3121 | | 3121 | |
| 3122 | const struct_val = try Value.Tag.@"struct".create(sema.arena, field_values); | 3122 | const struct_val = try Value.Tag.aggregate.create(sema.arena, field_values); |
| 3123 | const struct_init = try sema.addConstant(struct_ty, struct_val); | 3123 | const struct_init = try sema.addConstant(struct_ty, struct_val); |
| 3124 | try sema.storePtr2(block, init_src, struct_ptr, init_src, struct_init, init_src, .store); | 3124 | try sema.storePtr2(block, init_src, struct_ptr, init_src, struct_init, init_src, .store); |
| 3125 | return; | 3125 | return; |
| ... | @@ -3246,7 +3246,7 @@ fn zirValidateArrayInit( | ... | @@ -3246,7 +3246,7 @@ fn zirValidateArrayInit( |
| 3246 | | 3246 | |
| 3247 | block.instructions.shrinkRetainingCapacity(first_block_index); | 3247 | block.instructions.shrinkRetainingCapacity(first_block_index); |
| 3248 | | 3248 | |
| 3249 | const array_val = try Value.Tag.array.create(sema.arena, element_vals); | 3249 | const array_val = try Value.Tag.aggregate.create(sema.arena, element_vals); |
| 3250 | const array_init = try sema.addConstant(array_ty, array_val); | 3250 | const array_init = try sema.addConstant(array_ty, array_val); |
| 3251 | try sema.storePtr2(block, init_src, array_ptr, init_src, array_init, init_src, .store); | 3251 | try sema.storePtr2(block, init_src, array_ptr, init_src, array_init, init_src, .store); |
| 3252 | } | 3252 | } |
| ... | @@ -8175,7 +8175,7 @@ fn zirBitNot(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. | ... | @@ -8175,7 +8175,7 @@ fn zirBitNot(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. |
| 8175 | } | 8175 | } |
| 8176 | return sema.addConstant( | 8176 | return sema.addConstant( |
| 8177 | operand_type, | 8177 | operand_type, |
| 8178 | try Value.Tag.array.create(sema.arena, elems), | 8178 | try Value.Tag.aggregate.create(sema.arena, elems), |
| 8179 | ); | 8179 | ); |
| 8180 | } else { | 8180 | } else { |
| 8181 | const result_val = try val.bitwiseNot(scalar_type, sema.arena, target); | 8181 | const result_val = try val.bitwiseNot(scalar_type, sema.arena, target); |
| ... | @@ -8239,7 +8239,7 @@ fn analyzeTupleCat( | ... | @@ -8239,7 +8239,7 @@ fn analyzeTupleCat( |
| 8239 | }); | 8239 | }); |
| 8240 | | 8240 | |
| 8241 | const runtime_src = opt_runtime_src orelse { | 8241 | const runtime_src = opt_runtime_src orelse { |
| 8242 | const tuple_val = try Value.Tag.@"struct".create(sema.arena, values); | 8242 | const tuple_val = try Value.Tag.aggregate.create(sema.arena, values); |
| 8243 | return sema.addConstant(tuple_ty, tuple_val); | 8243 | return sema.addConstant(tuple_ty, tuple_val); |
| 8244 | }; | 8244 | }; |
| 8245 | | 8245 | |
| ... | @@ -8334,7 +8334,7 @@ fn zirArrayCat(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -8334,7 +8334,7 @@ fn zirArrayCat(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 8334 | .len = final_len, | 8334 | .len = final_len, |
| 8335 | .elem_type = try lhs_info.elem_type.copy(anon_decl.arena()), | 8335 | .elem_type = try lhs_info.elem_type.copy(anon_decl.arena()), |
| 8336 | }); | 8336 | }); |
| 8337 | const val = try Value.Tag.array.create(anon_decl.arena(), buf); | 8337 | const val = try Value.Tag.aggregate.create(anon_decl.arena(), buf); |
| 8338 | const decl = try anon_decl.finish(ty, val); | 8338 | const decl = try anon_decl.finish(ty, val); |
| 8339 | if (lhs_single_ptr or rhs_single_ptr) { | 8339 | if (lhs_single_ptr or rhs_single_ptr) { |
| 8340 | return sema.analyzeDeclRef(decl); | 8340 | return sema.analyzeDeclRef(decl); |
| ... | @@ -8419,7 +8419,7 @@ fn analyzeTupleMul( | ... | @@ -8419,7 +8419,7 @@ fn analyzeTupleMul( |
| 8419 | }); | 8419 | }); |
| 8420 | | 8420 | |
| 8421 | const runtime_src = opt_runtime_src orelse { | 8421 | const runtime_src = opt_runtime_src orelse { |
| 8422 | const tuple_val = try Value.Tag.@"struct".create(sema.arena, values); | 8422 | const tuple_val = try Value.Tag.aggregate.create(sema.arena, values); |
| 8423 | return sema.addConstant(tuple_ty, tuple_val); | 8423 | return sema.addConstant(tuple_ty, tuple_val); |
| 8424 | }; | 8424 | }; |
| 8425 | | 8425 | |
| ... | @@ -8506,7 +8506,7 @@ fn zirArrayMul(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -8506,7 +8506,7 @@ fn zirArrayMul(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 8506 | if (mulinfo.sentinel) |sent| { | 8506 | if (mulinfo.sentinel) |sent| { |
| 8507 | buf[final_len] = try sent.copy(anon_decl.arena()); | 8507 | buf[final_len] = try sent.copy(anon_decl.arena()); |
| 8508 | } | 8508 | } |
| 8509 | break :blk try Value.Tag.array.create(anon_decl.arena(), buf); | 8509 | break :blk try Value.Tag.aggregate.create(anon_decl.arena(), buf); |
| 8510 | }; | 8510 | }; |
| 8511 | const decl = try anon_decl.finish(final_ty, val); | 8511 | const decl = try anon_decl.finish(final_ty, val); |
| 8512 | if (is_single_ptr) { | 8512 | if (is_single_ptr) { |
| ... | @@ -10186,7 +10186,7 @@ fn zirBuiltinSrc( | ... | @@ -10186,7 +10186,7 @@ fn zirBuiltinSrc( |
| 10186 | | 10186 | |
| 10187 | return sema.addConstant( | 10187 | return sema.addConstant( |
| 10188 | try sema.getBuiltinType(block, src, "SourceLocation"), | 10188 | try sema.getBuiltinType(block, src, "SourceLocation"), |
| 10189 | try Value.Tag.@"struct".create(sema.arena, field_values), | 10189 | try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10190 | ); | 10190 | ); |
| 10191 | } | 10191 | } |
| 10192 | | 10192 | |
| ... | @@ -10289,7 +10289,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10289,7 +10289,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10289 | // arg_type: ?type, | 10289 | // arg_type: ?type, |
| 10290 | param_ty_val, | 10290 | param_ty_val, |
| 10291 | }; | 10291 | }; |
| 10292 | param_val.* = try Value.Tag.@"struct".create(params_anon_decl.arena(), param_fields); | 10292 | param_val.* = try Value.Tag.aggregate.create(params_anon_decl.arena(), param_fields); |
| 10293 | } | 10293 | } |
| 10294 | | 10294 | |
| 10295 | const args_val = v: { | 10295 | const args_val = v: { |
| ... | @@ -10314,7 +10314,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10314,7 +10314,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10314 | .len = param_vals.len, | 10314 | .len = param_vals.len, |
| 10315 | .elem_type = param_info_decl.ty, | 10315 | .elem_type = param_info_decl.ty, |
| 10316 | }), | 10316 | }), |
| 10317 | try Value.Tag.array.create( | 10317 | try Value.Tag.aggregate.create( |
| 10318 | params_anon_decl.arena(), | 10318 | params_anon_decl.arena(), |
| 10319 | param_vals, | 10319 | param_vals, |
| 10320 | ), | 10320 | ), |
| ... | @@ -10345,7 +10345,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10345,7 +10345,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10345 | type_info_ty, | 10345 | type_info_ty, |
| 10346 | try Value.Tag.@"union".create(sema.arena, .{ | 10346 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10347 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Fn)), | 10347 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Fn)), |
| 10348 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10348 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10349 | }), | 10349 | }), |
| 10350 | ); | 10350 | ); |
| 10351 | }, | 10351 | }, |
| ... | @@ -10364,7 +10364,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10364,7 +10364,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10364 | type_info_ty, | 10364 | type_info_ty, |
| 10365 | try Value.Tag.@"union".create(sema.arena, .{ | 10365 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10366 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Int)), | 10366 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Int)), |
| 10367 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10367 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10368 | }), | 10368 | }), |
| 10369 | ); | 10369 | ); |
| 10370 | }, | 10370 | }, |
| ... | @@ -10377,7 +10377,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10377,7 +10377,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10377 | type_info_ty, | 10377 | type_info_ty, |
| 10378 | try Value.Tag.@"union".create(sema.arena, .{ | 10378 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10379 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Float)), | 10379 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Float)), |
| 10380 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10380 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10381 | }), | 10381 | }), |
| 10382 | ); | 10382 | ); |
| 10383 | }, | 10383 | }, |
| ... | @@ -10412,7 +10412,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10412,7 +10412,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10412 | type_info_ty, | 10412 | type_info_ty, |
| 10413 | try Value.Tag.@"union".create(sema.arena, .{ | 10413 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10414 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Pointer)), | 10414 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Pointer)), |
| 10415 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10415 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10416 | }), | 10416 | }), |
| 10417 | ); | 10417 | ); |
| 10418 | }, | 10418 | }, |
| ... | @@ -10430,7 +10430,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10430,7 +10430,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10430 | type_info_ty, | 10430 | type_info_ty, |
| 10431 | try Value.Tag.@"union".create(sema.arena, .{ | 10431 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10432 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Array)), | 10432 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Array)), |
| 10433 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10433 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10434 | }), | 10434 | }), |
| 10435 | ); | 10435 | ); |
| 10436 | }, | 10436 | }, |
| ... | @@ -10446,7 +10446,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10446,7 +10446,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10446 | type_info_ty, | 10446 | type_info_ty, |
| 10447 | try Value.Tag.@"union".create(sema.arena, .{ | 10447 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10448 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Vector)), | 10448 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Vector)), |
| 10449 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10449 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10450 | }), | 10450 | }), |
| 10451 | ); | 10451 | ); |
| 10452 | }, | 10452 | }, |
| ... | @@ -10459,7 +10459,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10459,7 +10459,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10459 | type_info_ty, | 10459 | type_info_ty, |
| 10460 | try Value.Tag.@"union".create(sema.arena, .{ | 10460 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10461 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Optional)), | 10461 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Optional)), |
| 10462 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10462 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10463 | }), | 10463 | }), |
| 10464 | ); | 10464 | ); |
| 10465 | }, | 10465 | }, |
| ... | @@ -10509,7 +10509,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10509,7 +10509,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10509 | name_val, | 10509 | name_val, |
| 10510 | }; | 10510 | }; |
| 10511 | | 10511 | |
| 10512 | field_val.* = try Value.Tag.@"struct".create( | 10512 | field_val.* = try Value.Tag.aggregate.create( |
| 10513 | fields_anon_decl.arena(), | 10513 | fields_anon_decl.arena(), |
| 10514 | error_field_fields, | 10514 | error_field_fields, |
| 10515 | ); | 10515 | ); |
| ... | @@ -10525,7 +10525,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10525,7 +10525,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10525 | .len = vals.len, | 10525 | .len = vals.len, |
| 10526 | .elem_type = error_field_ty, | 10526 | .elem_type = error_field_ty, |
| 10527 | }), | 10527 | }), |
| 10528 | try Value.Tag.array.create( | 10528 | try Value.Tag.aggregate.create( |
| 10529 | fields_anon_decl.arena(), | 10529 | fields_anon_decl.arena(), |
| 10530 | vals, | 10530 | vals, |
| 10531 | ), | 10531 | ), |
| ... | @@ -10559,7 +10559,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10559,7 +10559,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10559 | type_info_ty, | 10559 | type_info_ty, |
| 10560 | try Value.Tag.@"union".create(sema.arena, .{ | 10560 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10561 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.ErrorUnion)), | 10561 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.ErrorUnion)), |
| 10562 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10562 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10563 | }), | 10563 | }), |
| 10564 | ); | 10564 | ); |
| 10565 | }, | 10565 | }, |
| ... | @@ -10618,7 +10618,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10618,7 +10618,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10618 | // value: comptime_int, | 10618 | // value: comptime_int, |
| 10619 | int_val, | 10619 | int_val, |
| 10620 | }; | 10620 | }; |
| 10621 | field_val.* = try Value.Tag.@"struct".create(fields_anon_decl.arena(), enum_field_fields); | 10621 | field_val.* = try Value.Tag.aggregate.create(fields_anon_decl.arena(), enum_field_fields); |
| 10622 | } | 10622 | } |
| 10623 | | 10623 | |
| 10624 | const fields_val = v: { | 10624 | const fields_val = v: { |
| ... | @@ -10627,7 +10627,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10627,7 +10627,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10627 | .len = enum_field_vals.len, | 10627 | .len = enum_field_vals.len, |
| 10628 | .elem_type = enum_field_ty, | 10628 | .elem_type = enum_field_ty, |
| 10629 | }), | 10629 | }), |
| 10630 | try Value.Tag.array.create( | 10630 | try Value.Tag.aggregate.create( |
| 10631 | fields_anon_decl.arena(), | 10631 | fields_anon_decl.arena(), |
| 10632 | enum_field_vals, | 10632 | enum_field_vals, |
| 10633 | ), | 10633 | ), |
| ... | @@ -10659,7 +10659,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10659,7 +10659,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10659 | type_info_ty, | 10659 | type_info_ty, |
| 10660 | try Value.Tag.@"union".create(sema.arena, .{ | 10660 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10661 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Enum)), | 10661 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Enum)), |
| 10662 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10662 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10663 | }), | 10663 | }), |
| 10664 | ); | 10664 | ); |
| 10665 | }, | 10665 | }, |
| ... | @@ -10717,7 +10717,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10717,7 +10717,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10717 | // alignment: comptime_int, | 10717 | // alignment: comptime_int, |
| 10718 | try Value.Tag.int_u64.create(fields_anon_decl.arena(), alignment), | 10718 | try Value.Tag.int_u64.create(fields_anon_decl.arena(), alignment), |
| 10719 | }; | 10719 | }; |
| 10720 | field_val.* = try Value.Tag.@"struct".create(fields_anon_decl.arena(), union_field_fields); | 10720 | field_val.* = try Value.Tag.aggregate.create(fields_anon_decl.arena(), union_field_fields); |
| 10721 | } | 10721 | } |
| 10722 | | 10722 | |
| 10723 | const fields_val = v: { | 10723 | const fields_val = v: { |
| ... | @@ -10726,7 +10726,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10726,7 +10726,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10726 | .len = union_field_vals.len, | 10726 | .len = union_field_vals.len, |
| 10727 | .elem_type = union_field_ty, | 10727 | .elem_type = union_field_ty, |
| 10728 | }), | 10728 | }), |
| 10729 | try Value.Tag.array.create( | 10729 | try Value.Tag.aggregate.create( |
| 10730 | fields_anon_decl.arena(), | 10730 | fields_anon_decl.arena(), |
| 10731 | try fields_anon_decl.arena().dupe(Value, union_field_vals), | 10731 | try fields_anon_decl.arena().dupe(Value, union_field_vals), |
| 10732 | ), | 10732 | ), |
| ... | @@ -10761,7 +10761,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10761,7 +10761,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10761 | type_info_ty, | 10761 | type_info_ty, |
| 10762 | try Value.Tag.@"union".create(sema.arena, .{ | 10762 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10763 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Union)), | 10763 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Union)), |
| 10764 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10764 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10765 | }), | 10765 | }), |
| 10766 | ); | 10766 | ); |
| 10767 | }, | 10767 | }, |
| ... | @@ -10827,7 +10827,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10827,7 +10827,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10827 | // alignment: comptime_int, | 10827 | // alignment: comptime_int, |
| 10828 | try Value.Tag.int_u64.create(fields_anon_decl.arena(), alignment), | 10828 | try Value.Tag.int_u64.create(fields_anon_decl.arena(), alignment), |
| 10829 | }; | 10829 | }; |
| 10830 | struct_field_val.* = try Value.Tag.@"struct".create(fields_anon_decl.arena(), struct_field_fields); | 10830 | struct_field_val.* = try Value.Tag.aggregate.create(fields_anon_decl.arena(), struct_field_fields); |
| 10831 | } | 10831 | } |
| 10832 | break :fv struct_field_vals; | 10832 | break :fv struct_field_vals; |
| 10833 | } | 10833 | } |
| ... | @@ -10871,7 +10871,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10871,7 +10871,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10871 | // alignment: comptime_int, | 10871 | // alignment: comptime_int, |
| 10872 | try Value.Tag.int_u64.create(fields_anon_decl.arena(), alignment), | 10872 | try Value.Tag.int_u64.create(fields_anon_decl.arena(), alignment), |
| 10873 | }; | 10873 | }; |
| 10874 | field_val.* = try Value.Tag.@"struct".create(fields_anon_decl.arena(), struct_field_fields); | 10874 | field_val.* = try Value.Tag.aggregate.create(fields_anon_decl.arena(), struct_field_fields); |
| 10875 | } | 10875 | } |
| 10876 | break :fv struct_field_vals; | 10876 | break :fv struct_field_vals; |
| 10877 | }; | 10877 | }; |
| ... | @@ -10882,7 +10882,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10882,7 +10882,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10882 | .len = struct_field_vals.len, | 10882 | .len = struct_field_vals.len, |
| 10883 | .elem_type = struct_field_ty, | 10883 | .elem_type = struct_field_ty, |
| 10884 | }), | 10884 | }), |
| 10885 | try Value.Tag.array.create( | 10885 | try Value.Tag.aggregate.create( |
| 10886 | fields_anon_decl.arena(), | 10886 | fields_anon_decl.arena(), |
| 10887 | try fields_anon_decl.arena().dupe(Value, struct_field_vals), | 10887 | try fields_anon_decl.arena().dupe(Value, struct_field_vals), |
| 10888 | ), | 10888 | ), |
| ... | @@ -10911,7 +10911,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10911,7 +10911,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10911 | type_info_ty, | 10911 | type_info_ty, |
| 10912 | try Value.Tag.@"union".create(sema.arena, .{ | 10912 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10913 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Struct)), | 10913 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Struct)), |
| 10914 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10914 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10915 | }), | 10915 | }), |
| 10916 | ); | 10916 | ); |
| 10917 | }, | 10917 | }, |
| ... | @@ -10931,7 +10931,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -10931,7 +10931,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10931 | type_info_ty, | 10931 | type_info_ty, |
| 10932 | try Value.Tag.@"union".create(sema.arena, .{ | 10932 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10933 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Opaque)), | 10933 | .tag = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(std.builtin.TypeId.Opaque)), |
| 10934 | .val = try Value.Tag.@"struct".create(sema.arena, field_values), | 10934 | .val = try Value.Tag.aggregate.create(sema.arena, field_values), |
| 10935 | }), | 10935 | }), |
| 10936 | ); | 10936 | ); |
| 10937 | }, | 10937 | }, |
| ... | @@ -10987,7 +10987,7 @@ fn typeInfoDecls( | ... | @@ -10987,7 +10987,7 @@ fn typeInfoDecls( |
| 10987 | //is_pub: bool, | 10987 | //is_pub: bool, |
| 10988 | Value.makeBool(decl.is_pub), | 10988 | Value.makeBool(decl.is_pub), |
| 10989 | }; | 10989 | }; |
| 10990 | decls_val.* = try Value.Tag.@"struct".create(decls_anon_decl.arena(), fields); | 10990 | decls_val.* = try Value.Tag.aggregate.create(decls_anon_decl.arena(), fields); |
| 10991 | } | 10991 | } |
| 10992 | | 10992 | |
| 10993 | const new_decl = try decls_anon_decl.finish( | 10993 | const new_decl = try decls_anon_decl.finish( |
| ... | @@ -10995,7 +10995,7 @@ fn typeInfoDecls( | ... | @@ -10995,7 +10995,7 @@ fn typeInfoDecls( |
| 10995 | .len = decls_vals.len, | 10995 | .len = decls_vals.len, |
| 10996 | .elem_type = declaration_ty, | 10996 | .elem_type = declaration_ty, |
| 10997 | }), | 10997 | }), |
| 10998 | try Value.Tag.array.create( | 10998 | try Value.Tag.aggregate.create( |
| 10999 | decls_anon_decl.arena(), | 10999 | decls_anon_decl.arena(), |
| 11000 | try decls_anon_decl.arena().dupe(Value, decls_vals), | 11000 | try decls_anon_decl.arena().dupe(Value, decls_vals), |
| 11001 | ), | 11001 | ), |
| ... | @@ -11816,7 +11816,7 @@ fn finishStructInit( | ... | @@ -11816,7 +11816,7 @@ fn finishStructInit( |
| 11816 | for (field_inits) |field_init, i| { | 11816 | for (field_inits) |field_init, i| { |
| 11817 | values[i] = (sema.resolveMaybeUndefVal(block, src, field_init) catch unreachable).?; | 11817 | values[i] = (sema.resolveMaybeUndefVal(block, src, field_init) catch unreachable).?; |
| 11818 | } | 11818 | } |
| 11819 | const struct_val = try Value.Tag.@"struct".create(sema.arena, values); | 11819 | const struct_val = try Value.Tag.aggregate.create(sema.arena, values); |
| 11820 | return sema.addConstantMaybeRef(block, src, struct_ty, struct_val, is_ref); | 11820 | return sema.addConstantMaybeRef(block, src, struct_ty, struct_val, is_ref); |
| 11821 | } | 11821 | } |
| 11822 | | 11822 | |
| ... | @@ -11877,7 +11877,7 @@ fn zirStructInitAnon( | ... | @@ -11877,7 +11877,7 @@ fn zirStructInitAnon( |
| 11877 | }); | 11877 | }); |
| 11878 | | 11878 | |
| 11879 | const runtime_src = opt_runtime_src orelse { | 11879 | const runtime_src = opt_runtime_src orelse { |
| 11880 | const tuple_val = try Value.Tag.@"struct".create(sema.arena, values); | 11880 | const tuple_val = try Value.Tag.aggregate.create(sema.arena, values); |
| 11881 | return sema.addConstantMaybeRef(block, src, tuple_ty, tuple_val, is_ref); | 11881 | return sema.addConstantMaybeRef(block, src, tuple_ty, tuple_val, is_ref); |
| 11882 | }; | 11882 | }; |
| 11883 | | 11883 | |
| ... | @@ -11974,7 +11974,7 @@ fn zirArrayInit( | ... | @@ -11974,7 +11974,7 @@ fn zirArrayInit( |
| 11974 | elem_vals[i] = (sema.resolveMaybeUndefVal(block, src, arg) catch unreachable).?; | 11974 | elem_vals[i] = (sema.resolveMaybeUndefVal(block, src, arg) catch unreachable).?; |
| 11975 | } | 11975 | } |
| 11976 | | 11976 | |
| 11977 | const array_val = try Value.Tag.array.create(sema.arena, elem_vals); | 11977 | const array_val = try Value.Tag.aggregate.create(sema.arena, elem_vals); |
| 11978 | return sema.addConstantMaybeRef(block, src, array_ty, array_val, is_ref); | 11978 | return sema.addConstantMaybeRef(block, src, array_ty, array_val, is_ref); |
| 11979 | }; | 11979 | }; |
| 11980 | | 11980 | |
| ... | @@ -12043,7 +12043,7 @@ fn zirArrayInitAnon( | ... | @@ -12043,7 +12043,7 @@ fn zirArrayInitAnon( |
| 12043 | }); | 12043 | }); |
| 12044 | | 12044 | |
| 12045 | const runtime_src = opt_runtime_src orelse { | 12045 | const runtime_src = opt_runtime_src orelse { |
| 12046 | const tuple_val = try Value.Tag.@"struct".create(sema.arena, values); | 12046 | const tuple_val = try Value.Tag.aggregate.create(sema.arena, values); |
| 12047 | return sema.addConstantMaybeRef(block, src, tuple_ty, tuple_val, is_ref); | 12047 | return sema.addConstantMaybeRef(block, src, tuple_ty, tuple_val, is_ref); |
| 12048 | }; | 12048 | }; |
| 12049 | | 12049 | |
| ... | @@ -12250,7 +12250,7 @@ fn zirUnaryMath( | ... | @@ -12250,7 +12250,7 @@ fn zirUnaryMath( |
| 12250 | } | 12250 | } |
| 12251 | return sema.addConstant( | 12251 | return sema.addConstant( |
| 12252 | result_ty, | 12252 | result_ty, |
| 12253 | try Value.Tag.array.create(sema.arena, elems), | 12253 | try Value.Tag.aggregate.create(sema.arena, elems), |
| 12254 | ); | 12254 | ); |
| 12255 | } | 12255 | } |
| 12256 | | 12256 | |
| ... | @@ -12350,7 +12350,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12350,7 +12350,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12350 | .AnyFrame => return Air.Inst.Ref.anyframe_type, | 12350 | .AnyFrame => return Air.Inst.Ref.anyframe_type, |
| 12351 | .EnumLiteral => return Air.Inst.Ref.enum_literal_type, | 12351 | .EnumLiteral => return Air.Inst.Ref.enum_literal_type, |
| 12352 | .Int => { | 12352 | .Int => { |
| 12353 | const struct_val = union_val.val.castTag(.@"struct").?.data; | 12353 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12354 | // TODO use reflection instead of magic numbers here | 12354 | // TODO use reflection instead of magic numbers here |
| 12355 | const signedness_val = struct_val[0]; | 12355 | const signedness_val = struct_val[0]; |
| 12356 | const bits_val = struct_val[1]; | 12356 | const bits_val = struct_val[1]; |
| ... | @@ -12364,7 +12364,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12364,7 +12364,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12364 | return sema.addType(ty); | 12364 | return sema.addType(ty); |
| 12365 | }, | 12365 | }, |
| 12366 | .Vector => { | 12366 | .Vector => { |
| 12367 | const struct_val = union_val.val.castTag(.@"struct").?.data; | 12367 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12368 | // TODO use reflection instead of magic numbers here | 12368 | // TODO use reflection instead of magic numbers here |
| 12369 | const len_val = struct_val[0]; | 12369 | const len_val = struct_val[0]; |
| 12370 | const child_val = struct_val[1]; | 12370 | const child_val = struct_val[1]; |
| ... | @@ -12377,7 +12377,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12377,7 +12377,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12377 | return sema.addType(ty); | 12377 | return sema.addType(ty); |
| 12378 | }, | 12378 | }, |
| 12379 | .Float => { | 12379 | .Float => { |
| 12380 | const struct_val = union_val.val.castTag(.@"struct").?.data; | 12380 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12381 | // TODO use reflection instead of magic numbers here | 12381 | // TODO use reflection instead of magic numbers here |
| 12382 | // bits: comptime_int, | 12382 | // bits: comptime_int, |
| 12383 | const bits_val = struct_val[0]; | 12383 | const bits_val = struct_val[0]; |
| ... | @@ -12394,7 +12394,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12394,7 +12394,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12394 | return sema.addType(ty); | 12394 | return sema.addType(ty); |
| 12395 | }, | 12395 | }, |
| 12396 | .Pointer => { | 12396 | .Pointer => { |
| 12397 | const struct_val = union_val.val.castTag(.@"struct").?.data; | 12397 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12398 | // TODO use reflection instead of magic numbers here | 12398 | // TODO use reflection instead of magic numbers here |
| 12399 | const size_val = struct_val[0]; | 12399 | const size_val = struct_val[0]; |
| 12400 | const is_const_val = struct_val[1]; | 12400 | const is_const_val = struct_val[1]; |
| ... | @@ -12436,7 +12436,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12436,7 +12436,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12436 | return sema.addType(ty); | 12436 | return sema.addType(ty); |
| 12437 | }, | 12437 | }, |
| 12438 | .Array => { | 12438 | .Array => { |
| 12439 | const struct_val = union_val.val.castTag(.@"struct").?.data; | 12439 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12440 | // TODO use reflection instead of magic numbers here | 12440 | // TODO use reflection instead of magic numbers here |
| 12441 | // len: comptime_int, | 12441 | // len: comptime_int, |
| 12442 | const len_val = struct_val[0]; | 12442 | const len_val = struct_val[0]; |
| ... | @@ -12460,7 +12460,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12460,7 +12460,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12460 | return sema.addType(ty); | 12460 | return sema.addType(ty); |
| 12461 | }, | 12461 | }, |
| 12462 | .Optional => { | 12462 | .Optional => { |
| 12463 | const struct_val = union_val.val.castTag(.@"struct").?.data; | 12463 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12464 | // TODO use reflection instead of magic numbers here | 12464 | // TODO use reflection instead of magic numbers here |
| 12465 | // child: type, | 12465 | // child: type, |
| 12466 | const child_val = struct_val[0]; | 12466 | const child_val = struct_val[0]; |
| ... | @@ -12472,7 +12472,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12472,7 +12472,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12472 | return sema.addType(ty); | 12472 | return sema.addType(ty); |
| 12473 | }, | 12473 | }, |
| 12474 | .ErrorUnion => { | 12474 | .ErrorUnion => { |
| 12475 | const struct_val = union_val.val.castTag(.@"struct").?.data; | 12475 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12476 | // TODO use reflection instead of magic numbers here | 12476 | // TODO use reflection instead of magic numbers here |
| 12477 | // error_set: type, | 12477 | // error_set: type, |
| 12478 | const error_set_val = struct_val[0]; | 12478 | const error_set_val = struct_val[0]; |
| ... | @@ -12495,12 +12495,12 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12495,12 +12495,12 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12495 | const slice_val = payload_val.castTag(.slice).?.data; | 12495 | const slice_val = payload_val.castTag(.slice).?.data; |
| 12496 | const decl = slice_val.ptr.pointerDecl().?; | 12496 | const decl = slice_val.ptr.pointerDecl().?; |
| 12497 | try sema.ensureDeclAnalyzed(decl); | 12497 | try sema.ensureDeclAnalyzed(decl); |
| 12498 | const array_val = decl.val.castTag(.array).?.data; | 12498 | const array_val = decl.val.castTag(.aggregate).?.data; |
| 12499 | | 12499 | |
| 12500 | var names: Module.ErrorSet.NameMap = .{}; | 12500 | var names: Module.ErrorSet.NameMap = .{}; |
| 12501 | try names.ensureUnusedCapacity(sema.arena, array_val.len); | 12501 | try names.ensureUnusedCapacity(sema.arena, array_val.len); |
| 12502 | for (array_val) |elem_val| { | 12502 | for (array_val) |elem_val| { |
| 12503 | const struct_val = elem_val.castTag(.@"struct").?.data; | 12503 | const struct_val = elem_val.castTag(.aggregate).?.data; |
| 12504 | // TODO use reflection instead of magic numbers here | 12504 | // TODO use reflection instead of magic numbers here |
| 12505 | // error_set: type, | 12505 | // error_set: type, |
| 12506 | const name_val = struct_val[0]; | 12506 | const name_val = struct_val[0]; |
| ... | @@ -12516,7 +12516,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12516,7 +12516,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12516 | }, | 12516 | }, |
| 12517 | .Struct => { | 12517 | .Struct => { |
| 12518 | // TODO use reflection instead of magic numbers here | 12518 | // TODO use reflection instead of magic numbers here |
| 12519 | const struct_val = union_val.val.castTag(.@"struct").?.data; | 12519 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12520 | // layout: containerlayout, | 12520 | // layout: containerlayout, |
| 12521 | const layout_val = struct_val[0]; | 12521 | const layout_val = struct_val[0]; |
| 12522 | // fields: []const enumfield, | 12522 | // fields: []const enumfield, |
| ... | @@ -12537,7 +12537,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12537,7 +12537,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12537 | try sema.reifyStruct(block, inst, src, layout_val, fields_val); | 12537 | try sema.reifyStruct(block, inst, src, layout_val, fields_val); |
| 12538 | }, | 12538 | }, |
| 12539 | .Enum => { | 12539 | .Enum => { |
| 12540 | const struct_val = union_val.val.castTag(.@"struct").?.data; | 12540 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12541 | // TODO use reflection instead of magic numbers here | 12541 | // TODO use reflection instead of magic numbers here |
| 12542 | // layout: ContainerLayout, | 12542 | // layout: ContainerLayout, |
| 12543 | const layout_val = struct_val[0]; | 12543 | const layout_val = struct_val[0]; |
| ... | @@ -12617,9 +12617,9 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12617,9 +12617,9 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12617 | .ty = enum_obj.tag_ty, | 12617 | .ty = enum_obj.tag_ty, |
| 12618 | }); | 12618 | }); |
| 12619 | | 12619 | |
| 12620 | const array_vals = decl.val.castTag(.array).?.data; | 12620 | const array_vals = decl.val.castTag(.aggregate).?.data; |
| 12621 | for (array_vals) |elem_val| { | 12621 | for (array_vals) |elem_val| { |
| 12622 | const field_struct_val = elem_val.castTag(.@"struct").?.data; | 12622 | const field_struct_val = elem_val.castTag(.aggregate).?.data; |
| 12623 | // TODO use reflection instead of magic numbers here | 12623 | // TODO use reflection instead of magic numbers here |
| 12624 | // name: []const u8 | 12624 | // name: []const u8 |
| 12625 | const name_val = field_struct_val[0]; | 12625 | const name_val = field_struct_val[0]; |
| ... | @@ -12648,7 +12648,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12648,7 +12648,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12648 | return sema.analyzeDeclVal(block, src, new_decl); | 12648 | return sema.analyzeDeclVal(block, src, new_decl); |
| 12649 | }, | 12649 | }, |
| 12650 | .Opaque => { | 12650 | .Opaque => { |
| 12651 | const struct_val = union_val.val.castTag(.@"struct").?.data; | 12651 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12652 | // decls: []const Declaration, | 12652 | // decls: []const Declaration, |
| 12653 | const decls_val = struct_val[0]; | 12653 | const decls_val = struct_val[0]; |
| 12654 | | 12654 | |
| ... | @@ -12694,7 +12694,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I | ... | @@ -12694,7 +12694,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12694 | .Union => return sema.fail(block, src, "TODO: Sema.zirReify for Union", .{}), | 12694 | .Union => return sema.fail(block, src, "TODO: Sema.zirReify for Union", .{}), |
| 12695 | .Fn => return sema.fail(block, src, "TODO: Sema.zirReify for Fn", .{}), | 12695 | .Fn => return sema.fail(block, src, "TODO: Sema.zirReify for Fn", .{}), |
| 12696 | .BoundFn => @panic("TODO delete BoundFn from the language"), | 12696 | .BoundFn => @panic("TODO delete BoundFn from the language"), |
| 12697 | .Frame => return sema.fail(block, src, "TODO: Sema.zirReify for Frame", .{}), | 12697 | .Frame => @panic("TODO implement https://github.com/ziglang/zig/issues/10710"), |
| 12698 | } | 12698 | } |
| 12699 | } | 12699 | } |
| 12700 | | 12700 | |
| ... | @@ -12717,7 +12717,7 @@ fn reifyTuple( | ... | @@ -12717,7 +12717,7 @@ fn reifyTuple( |
| 12717 | var i: usize = 0; | 12717 | var i: usize = 0; |
| 12718 | while (i < fields_len) : (i += 1) { | 12718 | while (i < fields_len) : (i += 1) { |
| 12719 | const elem_val = try fields_val.elemValue(sema.arena, i); | 12719 | const elem_val = try fields_val.elemValue(sema.arena, i); |
| 12720 | const field_struct_val = elem_val.castTag(.@"struct").?.data; | 12720 | const field_struct_val = elem_val.castTag(.aggregate).?.data; |
| 12721 | // TODO use reflection instead of magic numbers here | 12721 | // TODO use reflection instead of magic numbers here |
| 12722 | // name: []const u8 | 12722 | // name: []const u8 |
| 12723 | const name_val = field_struct_val[0]; | 12723 | const name_val = field_struct_val[0]; |
| ... | @@ -12818,7 +12818,7 @@ fn reifyStruct( | ... | @@ -12818,7 +12818,7 @@ fn reifyStruct( |
| 12818 | var i: usize = 0; | 12818 | var i: usize = 0; |
| 12819 | while (i < fields_len) : (i += 1) { | 12819 | while (i < fields_len) : (i += 1) { |
| 12820 | const elem_val = try fields_val.elemValue(sema.arena, i); | 12820 | const elem_val = try fields_val.elemValue(sema.arena, i); |
| 12821 | const field_struct_val = elem_val.castTag(.@"struct").?.data; | 12821 | const field_struct_val = elem_val.castTag(.aggregate).?.data; |
| 12822 | // TODO use reflection instead of magic numbers here | 12822 | // TODO use reflection instead of magic numbers here |
| 12823 | // name: []const u8 | 12823 | // name: []const u8 |
| 12824 | const name_val = field_struct_val[0]; | 12824 | const name_val = field_struct_val[0]; |
| ... | @@ -13219,7 +13219,7 @@ fn zirBitCount( | ... | @@ -13219,7 +13219,7 @@ fn zirBitCount( |
| 13219 | } | 13219 | } |
| 13220 | return sema.addConstant( | 13220 | return sema.addConstant( |
| 13221 | result_ty, | 13221 | result_ty, |
| 13222 | try Value.Tag.array.create(sema.arena, elems), | 13222 | try Value.Tag.aggregate.create(sema.arena, elems), |
| 13223 | ); | 13223 | ); |
| 13224 | } else { | 13224 | } else { |
| 13225 | try sema.requireRuntimeBlock(block, operand_src); | 13225 | try sema.requireRuntimeBlock(block, operand_src); |
| ... | @@ -13985,7 +13985,7 @@ fn analyzeShuffle( | ... | @@ -13985,7 +13985,7 @@ fn analyzeShuffle( |
| 13985 | values[i] = try b_val.elemValue(sema.arena, unsigned); | 13985 | values[i] = try b_val.elemValue(sema.arena, unsigned); |
| 13986 | } | 13986 | } |
| 13987 | } | 13987 | } |
| 13988 | const res_val = try Value.Tag.array.create(sema.arena, values); | 13988 | const res_val = try Value.Tag.aggregate.create(sema.arena, values); |
| 13989 | return sema.addConstant(res_ty, res_val); | 13989 | return sema.addConstant(res_ty, res_val); |
| 13990 | } | 13990 | } |
| 13991 | } | 13991 | } |
| ... | @@ -14008,7 +14008,7 @@ fn analyzeShuffle( | ... | @@ -14008,7 +14008,7 @@ fn analyzeShuffle( |
| 14008 | while (i < max_len) : (i += 1) { | 14008 | while (i < max_len) : (i += 1) { |
| 14009 | expand_mask_values[i] = Value.negative_one; | 14009 | expand_mask_values[i] = Value.negative_one; |
| 14010 | } | 14010 | } |
| 14011 | const expand_mask = try Value.Tag.array.create(sema.arena, expand_mask_values); | 14011 | const expand_mask = try Value.Tag.aggregate.create(sema.arena, expand_mask_values); |
| 14012 | | 14012 | |
| 14013 | if (a_len < b_len) { | 14013 | if (a_len < b_len) { |
| 14014 | const undef = try sema.addConstUndef(a_ty); | 14014 | const undef = try sema.addConstUndef(a_ty); |
| ... | @@ -14454,7 +14454,7 @@ fn zirMinMax( | ... | @@ -14454,7 +14454,7 @@ fn zirMinMax( |
| 14454 | } | 14454 | } |
| 14455 | return sema.addConstant( | 14455 | return sema.addConstant( |
| 14456 | simd_op.result_ty, | 14456 | simd_op.result_ty, |
| 14457 | try Value.Tag.array.create(sema.arena, elems), | 14457 | try Value.Tag.aggregate.create(sema.arena, elems), |
| 14458 | ); | 14458 | ); |
| 14459 | } else rs: { | 14459 | } else rs: { |
| 14460 | if (simd_op.rhs_val) |rhs_val| { | 14460 | if (simd_op.rhs_val) |rhs_val| { |
| ... | @@ -16016,7 +16016,7 @@ fn structFieldVal( | ... | @@ -16016,7 +16016,7 @@ fn structFieldVal( |
| 16016 | return sema.addConstant(field.ty, opv); | 16016 | return sema.addConstant(field.ty, opv); |
| 16017 | } | 16017 | } |
| 16018 | | 16018 | |
| 16019 | const field_values = struct_val.castTag(.@"struct").?.data; | 16019 | const field_values = struct_val.castTag(.aggregate).?.data; |
| 16020 | return sema.addConstant(field.ty, field_values[field_index]); | 16020 | return sema.addConstant(field.ty, field_values[field_index]); |
| 16021 | } | 16021 | } |
| 16022 | | 16022 | |
| ... | @@ -16084,7 +16084,7 @@ fn tupleFieldValByIndex( | ... | @@ -16084,7 +16084,7 @@ fn tupleFieldValByIndex( |
| 16084 | if ((try sema.typeHasOnePossibleValue(block, src, field_ty))) |opv| { | 16084 | if ((try sema.typeHasOnePossibleValue(block, src, field_ty))) |opv| { |
| 16085 | return sema.addConstant(field_ty, opv); | 16085 | return sema.addConstant(field_ty, opv); |
| 16086 | } | 16086 | } |
| 16087 | const field_values = tuple_val.castTag(.@"struct").?.data; | 16087 | const field_values = tuple_val.castTag(.aggregate).?.data; |
| 16088 | return sema.addConstant(field_ty, field_values[field_index]); | 16088 | return sema.addConstant(field_ty, field_values[field_index]); |
| 16089 | } | 16089 | } |
| 16090 | | 16090 | |
| ... | @@ -16414,7 +16414,7 @@ fn tupleField( | ... | @@ -16414,7 +16414,7 @@ fn tupleField( |
| 16414 | | 16414 | |
| 16415 | if (try sema.resolveMaybeUndefVal(block, tuple_src, tuple)) |tuple_val| { | 16415 | if (try sema.resolveMaybeUndefVal(block, tuple_src, tuple)) |tuple_val| { |
| 16416 | if (tuple_val.isUndef()) return sema.addConstUndef(field_ty); | 16416 | if (tuple_val.isUndef()) return sema.addConstUndef(field_ty); |
| 16417 | const field_values = tuple_val.castTag(.@"struct").?.data; | 16417 | const field_values = tuple_val.castTag(.aggregate).?.data; |
| 16418 | return sema.addConstant(field_ty, field_values[field_index]); | 16418 | return sema.addConstant(field_ty, field_values[field_index]); |
| 16419 | } | 16419 | } |
| 16420 | | 16420 | |
| ... | @@ -17510,7 +17510,7 @@ fn beginComptimePtrMutation( | ... | @@ -17510,7 +17510,7 @@ fn beginComptimePtrMutation( |
| 17510 | const elems = try arena.alloc(Value, array_len_including_sentinel); | 17510 | const elems = try arena.alloc(Value, array_len_including_sentinel); |
| 17511 | mem.set(Value, elems, Value.undef); | 17511 | mem.set(Value, elems, Value.undef); |
| 17512 | | 17512 | |
| 17513 | parent.val.* = try Value.Tag.array.create(arena, elems); | 17513 | parent.val.* = try Value.Tag.aggregate.create(arena, elems); |
| 17514 | | 17514 | |
| 17515 | return ComptimePtrMutationKit{ | 17515 | return ComptimePtrMutationKit{ |
| 17516 | .decl_ref_mut = parent.decl_ref_mut, | 17516 | .decl_ref_mut = parent.decl_ref_mut, |
| ... | @@ -17537,7 +17537,7 @@ fn beginComptimePtrMutation( | ... | @@ -17537,7 +17537,7 @@ fn beginComptimePtrMutation( |
| 17537 | elem.* = try Value.Tag.int_u64.create(arena, bytes[i]); | 17537 | elem.* = try Value.Tag.int_u64.create(arena, bytes[i]); |
| 17538 | } | 17538 | } |
| 17539 | | 17539 | |
| 17540 | parent.val.* = try Value.Tag.array.create(arena, elems); | 17540 | parent.val.* = try Value.Tag.aggregate.create(arena, elems); |
| 17541 | | 17541 | |
| 17542 | return ComptimePtrMutationKit{ | 17542 | return ComptimePtrMutationKit{ |
| 17543 | .decl_ref_mut = parent.decl_ref_mut, | 17543 | .decl_ref_mut = parent.decl_ref_mut, |
| ... | @@ -17562,7 +17562,7 @@ fn beginComptimePtrMutation( | ... | @@ -17562,7 +17562,7 @@ fn beginComptimePtrMutation( |
| 17562 | const elems = try arena.alloc(Value, array_len_including_sentinel); | 17562 | const elems = try arena.alloc(Value, array_len_including_sentinel); |
| 17563 | mem.set(Value, elems, repeated_val); | 17563 | mem.set(Value, elems, repeated_val); |
| 17564 | | 17564 | |
| 17565 | parent.val.* = try Value.Tag.array.create(arena, elems); | 17565 | parent.val.* = try Value.Tag.aggregate.create(arena, elems); |
| 17566 | | 17566 | |
| 17567 | return ComptimePtrMutationKit{ | 17567 | return ComptimePtrMutationKit{ |
| 17568 | .decl_ref_mut = parent.decl_ref_mut, | 17568 | .decl_ref_mut = parent.decl_ref_mut, |
| ... | @@ -17571,9 +17571,9 @@ fn beginComptimePtrMutation( | ... | @@ -17571,9 +17571,9 @@ fn beginComptimePtrMutation( |
| 17571 | }; | 17571 | }; |
| 17572 | }, | 17572 | }, |
| 17573 | | 17573 | |
| 17574 | .array => return ComptimePtrMutationKit{ | 17574 | .aggregate => return ComptimePtrMutationKit{ |
| 17575 | .decl_ref_mut = parent.decl_ref_mut, | 17575 | .decl_ref_mut = parent.decl_ref_mut, |
| 17576 | .val = &parent.val.castTag(.array).?.data[elem_ptr.index], | 17576 | .val = &parent.val.castTag(.aggregate).?.data[elem_ptr.index], |
| 17577 | .ty = elem_ty, | 17577 | .ty = elem_ty, |
| 17578 | }, | 17578 | }, |
| 17579 | | 17579 | |
| ... | @@ -17613,7 +17613,7 @@ fn beginComptimePtrMutation( | ... | @@ -17613,7 +17613,7 @@ fn beginComptimePtrMutation( |
| 17613 | const fields = try arena.alloc(Value, parent.ty.structFieldCount()); | 17613 | const fields = try arena.alloc(Value, parent.ty.structFieldCount()); |
| 17614 | mem.set(Value, fields, Value.undef); | 17614 | mem.set(Value, fields, Value.undef); |
| 17615 | | 17615 | |
| 17616 | parent.val.* = try Value.Tag.@"struct".create(arena, fields); | 17616 | parent.val.* = try Value.Tag.aggregate.create(arena, fields); |
| 17617 | | 17617 | |
| 17618 | return ComptimePtrMutationKit{ | 17618 | return ComptimePtrMutationKit{ |
| 17619 | .decl_ref_mut = parent.decl_ref_mut, | 17619 | .decl_ref_mut = parent.decl_ref_mut, |
| ... | @@ -17639,9 +17639,9 @@ fn beginComptimePtrMutation( | ... | @@ -17639,9 +17639,9 @@ fn beginComptimePtrMutation( |
| 17639 | else => unreachable, | 17639 | else => unreachable, |
| 17640 | } | 17640 | } |
| 17641 | }, | 17641 | }, |
| 17642 | .@"struct" => return ComptimePtrMutationKit{ | 17642 | .aggregate => return ComptimePtrMutationKit{ |
| 17643 | .decl_ref_mut = parent.decl_ref_mut, | 17643 | .decl_ref_mut = parent.decl_ref_mut, |
| 17644 | .val = &parent.val.castTag(.@"struct").?.data[field_index], | 17644 | .val = &parent.val.castTag(.aggregate).?.data[field_index], |
| 17645 | .ty = field_ty, | 17645 | .ty = field_ty, |
| 17646 | }, | 17646 | }, |
| 17647 | .@"union" => { | 17647 | .@"union" => { |
| ... | @@ -18209,7 +18209,7 @@ fn coerceArrayLike( | ... | @@ -18209,7 +18209,7 @@ fn coerceArrayLike( |
| 18209 | | 18209 | |
| 18210 | return sema.addConstant( | 18210 | return sema.addConstant( |
| 18211 | dest_ty, | 18211 | dest_ty, |
| 18212 | try Value.Tag.array.create(sema.arena, element_vals), | 18212 | try Value.Tag.aggregate.create(sema.arena, element_vals), |
| 18213 | ); | 18213 | ); |
| 18214 | } | 18214 | } |
| 18215 | | 18215 | |
| ... | @@ -18266,7 +18266,7 @@ fn coerceTupleToArray( | ... | @@ -18266,7 +18266,7 @@ fn coerceTupleToArray( |
| 18266 | | 18266 | |
| 18267 | return sema.addConstant( | 18267 | return sema.addConstant( |
| 18268 | dest_ty, | 18268 | dest_ty, |
| 18269 | try Value.Tag.array.create(sema.arena, element_vals), | 18269 | try Value.Tag.aggregate.create(sema.arena, element_vals), |
| 18270 | ); | 18270 | ); |
| 18271 | } | 18271 | } |
| 18272 | | 18272 | |
| ... | @@ -18397,7 +18397,7 @@ fn coerceTupleToStruct( | ... | @@ -18397,7 +18397,7 @@ fn coerceTupleToStruct( |
| 18397 | | 18397 | |
| 18398 | return sema.addConstant( | 18398 | return sema.addConstant( |
| 18399 | struct_ty, | 18399 | struct_ty, |
| 18400 | try Value.Tag.@"struct".create(sema.arena, field_vals), | 18400 | try Value.Tag.aggregate.create(sema.arena, field_vals), |
| 18401 | ); | 18401 | ); |
| 18402 | } | 18402 | } |
| 18403 | | 18403 | |