| ... | ... | @@ -3119,7 +3119,7 @@ fn validateStructInit( |
| 3119 | 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 | 3123 | const struct_init = try sema.addConstant(struct_ty, struct_val); |
| 3124 | 3124 | try sema.storePtr2(block, init_src, struct_ptr, init_src, struct_init, init_src, .store); |
| 3125 | 3125 | return; |
| ... | ... | @@ -3246,7 +3246,7 @@ fn zirValidateArrayInit( |
| 3246 | 3246 | |
| 3247 | 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 | 3250 | const array_init = try sema.addConstant(array_ty, array_val); |
| 3251 | 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 | 8175 | } |
| 8176 | 8176 | return sema.addConstant( |
| 8177 | 8177 | operand_type, |
| 8178 | | try Value.Tag.array.create(sema.arena, elems), |
| 8178 | try Value.Tag.aggregate.create(sema.arena, elems), |
| 8179 | 8179 | ); |
| 8180 | 8180 | } else { |
| 8181 | 8181 | const result_val = try val.bitwiseNot(scalar_type, sema.arena, target); |
| ... | ... | @@ -8239,7 +8239,7 @@ fn analyzeTupleCat( |
| 8239 | 8239 | }); |
| 8240 | 8240 | |
| 8241 | 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 | 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 | 8334 | .len = final_len, |
| 8335 | 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 | 8338 | const decl = try anon_decl.finish(ty, val); |
| 8339 | 8339 | if (lhs_single_ptr or rhs_single_ptr) { |
| 8340 | 8340 | return sema.analyzeDeclRef(decl); |
| ... | ... | @@ -8419,7 +8419,7 @@ fn analyzeTupleMul( |
| 8419 | 8419 | }); |
| 8420 | 8420 | |
| 8421 | 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 | 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 | 8506 | if (mulinfo.sentinel) |sent| { |
| 8507 | 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 | 8511 | const decl = try anon_decl.finish(final_ty, val); |
| 8512 | 8512 | if (is_single_ptr) { |
| ... | ... | @@ -10186,7 +10186,7 @@ fn zirBuiltinSrc( |
| 10186 | 10186 | |
| 10187 | 10187 | return sema.addConstant( |
| 10188 | 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 | 10289 | // arg_type: ?type, |
| 10290 | 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 | 10295 | const args_val = v: { |
| ... | ... | @@ -10314,7 +10314,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10314 | 10314 | .len = param_vals.len, |
| 10315 | 10315 | .elem_type = param_info_decl.ty, |
| 10316 | 10316 | }), |
| 10317 | | try Value.Tag.array.create( |
| 10317 | try Value.Tag.aggregate.create( |
| 10318 | 10318 | params_anon_decl.arena(), |
| 10319 | 10319 | param_vals, |
| 10320 | 10320 | ), |
| ... | ... | @@ -10345,7 +10345,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10345 | 10345 | type_info_ty, |
| 10346 | 10346 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10347 | 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 | 10364 | type_info_ty, |
| 10365 | 10365 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10366 | 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 | 10377 | type_info_ty, |
| 10378 | 10378 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10379 | 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 | 10412 | type_info_ty, |
| 10413 | 10413 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10414 | 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 | 10430 | type_info_ty, |
| 10431 | 10431 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10432 | 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 | 10446 | type_info_ty, |
| 10447 | 10447 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10448 | 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 | 10459 | type_info_ty, |
| 10460 | 10460 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10461 | 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 | 10509 | name_val, |
| 10510 | 10510 | }; |
| 10511 | 10511 | |
| 10512 | | field_val.* = try Value.Tag.@"struct".create( |
| 10512 | field_val.* = try Value.Tag.aggregate.create( |
| 10513 | 10513 | fields_anon_decl.arena(), |
| 10514 | 10514 | error_field_fields, |
| 10515 | 10515 | ); |
| ... | ... | @@ -10525,7 +10525,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10525 | 10525 | .len = vals.len, |
| 10526 | 10526 | .elem_type = error_field_ty, |
| 10527 | 10527 | }), |
| 10528 | | try Value.Tag.array.create( |
| 10528 | try Value.Tag.aggregate.create( |
| 10529 | 10529 | fields_anon_decl.arena(), |
| 10530 | 10530 | vals, |
| 10531 | 10531 | ), |
| ... | ... | @@ -10559,7 +10559,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10559 | 10559 | type_info_ty, |
| 10560 | 10560 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10561 | 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 | 10618 | // value: comptime_int, |
| 10619 | 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 | 10624 | const fields_val = v: { |
| ... | ... | @@ -10627,7 +10627,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10627 | 10627 | .len = enum_field_vals.len, |
| 10628 | 10628 | .elem_type = enum_field_ty, |
| 10629 | 10629 | }), |
| 10630 | | try Value.Tag.array.create( |
| 10630 | try Value.Tag.aggregate.create( |
| 10631 | 10631 | fields_anon_decl.arena(), |
| 10632 | 10632 | enum_field_vals, |
| 10633 | 10633 | ), |
| ... | ... | @@ -10659,7 +10659,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10659 | 10659 | type_info_ty, |
| 10660 | 10660 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10661 | 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 | 10717 | // alignment: comptime_int, |
| 10718 | 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 | 10723 | const fields_val = v: { |
| ... | ... | @@ -10726,7 +10726,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 10726 | 10726 | .len = union_field_vals.len, |
| 10727 | 10727 | .elem_type = union_field_ty, |
| 10728 | 10728 | }), |
| 10729 | | try Value.Tag.array.create( |
| 10729 | try Value.Tag.aggregate.create( |
| 10730 | 10730 | fields_anon_decl.arena(), |
| 10731 | 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 | 10761 | type_info_ty, |
| 10762 | 10762 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10763 | 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 | 10827 | // alignment: comptime_int, |
| 10828 | 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 | 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 | 10871 | // alignment: comptime_int, |
| 10872 | 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 | 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 | 10882 | .len = struct_field_vals.len, |
| 10883 | 10883 | .elem_type = struct_field_ty, |
| 10884 | 10884 | }), |
| 10885 | | try Value.Tag.array.create( |
| 10885 | try Value.Tag.aggregate.create( |
| 10886 | 10886 | fields_anon_decl.arena(), |
| 10887 | 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 | 10911 | type_info_ty, |
| 10912 | 10912 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10913 | 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 | 10931 | type_info_ty, |
| 10932 | 10932 | try Value.Tag.@"union".create(sema.arena, .{ |
| 10933 | 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 | 10987 | //is_pub: bool, |
| 10988 | 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 | 10993 | const new_decl = try decls_anon_decl.finish( |
| ... | ... | @@ -10995,7 +10995,7 @@ fn typeInfoDecls( |
| 10995 | 10995 | .len = decls_vals.len, |
| 10996 | 10996 | .elem_type = declaration_ty, |
| 10997 | 10997 | }), |
| 10998 | | try Value.Tag.array.create( |
| 10998 | try Value.Tag.aggregate.create( |
| 10999 | 10999 | decls_anon_decl.arena(), |
| 11000 | 11000 | try decls_anon_decl.arena().dupe(Value, decls_vals), |
| 11001 | 11001 | ), |
| ... | ... | @@ -11816,7 +11816,7 @@ fn finishStructInit( |
| 11816 | 11816 | for (field_inits) |field_init, i| { |
| 11817 | 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 | 11820 | return sema.addConstantMaybeRef(block, src, struct_ty, struct_val, is_ref); |
| 11821 | 11821 | } |
| 11822 | 11822 | |
| ... | ... | @@ -11877,7 +11877,7 @@ fn zirStructInitAnon( |
| 11877 | 11877 | }); |
| 11878 | 11878 | |
| 11879 | 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 | 11881 | return sema.addConstantMaybeRef(block, src, tuple_ty, tuple_val, is_ref); |
| 11882 | 11882 | }; |
| 11883 | 11883 | |
| ... | ... | @@ -11974,7 +11974,7 @@ fn zirArrayInit( |
| 11974 | 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 | 11978 | return sema.addConstantMaybeRef(block, src, array_ty, array_val, is_ref); |
| 11979 | 11979 | }; |
| 11980 | 11980 | |
| ... | ... | @@ -12043,7 +12043,7 @@ fn zirArrayInitAnon( |
| 12043 | 12043 | }); |
| 12044 | 12044 | |
| 12045 | 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 | 12047 | return sema.addConstantMaybeRef(block, src, tuple_ty, tuple_val, is_ref); |
| 12048 | 12048 | }; |
| 12049 | 12049 | |
| ... | ... | @@ -12250,7 +12250,7 @@ fn zirUnaryMath( |
| 12250 | 12250 | } |
| 12251 | 12251 | return sema.addConstant( |
| 12252 | 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 | 12350 | .AnyFrame => return Air.Inst.Ref.anyframe_type, |
| 12351 | 12351 | .EnumLiteral => return Air.Inst.Ref.enum_literal_type, |
| 12352 | 12352 | .Int => { |
| 12353 | | const struct_val = union_val.val.castTag(.@"struct").?.data; |
| 12353 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12354 | 12354 | // TODO use reflection instead of magic numbers here |
| 12355 | 12355 | const signedness_val = struct_val[0]; |
| 12356 | 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 | 12364 | return sema.addType(ty); |
| 12365 | 12365 | }, |
| 12366 | 12366 | .Vector => { |
| 12367 | | const struct_val = union_val.val.castTag(.@"struct").?.data; |
| 12367 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12368 | 12368 | // TODO use reflection instead of magic numbers here |
| 12369 | 12369 | const len_val = struct_val[0]; |
| 12370 | 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 | 12377 | return sema.addType(ty); |
| 12378 | 12378 | }, |
| 12379 | 12379 | .Float => { |
| 12380 | | const struct_val = union_val.val.castTag(.@"struct").?.data; |
| 12380 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12381 | 12381 | // TODO use reflection instead of magic numbers here |
| 12382 | 12382 | // bits: comptime_int, |
| 12383 | 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 | 12394 | return sema.addType(ty); |
| 12395 | 12395 | }, |
| 12396 | 12396 | .Pointer => { |
| 12397 | | const struct_val = union_val.val.castTag(.@"struct").?.data; |
| 12397 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12398 | 12398 | // TODO use reflection instead of magic numbers here |
| 12399 | 12399 | const size_val = struct_val[0]; |
| 12400 | 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 | 12436 | return sema.addType(ty); |
| 12437 | 12437 | }, |
| 12438 | 12438 | .Array => { |
| 12439 | | const struct_val = union_val.val.castTag(.@"struct").?.data; |
| 12439 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12440 | 12440 | // TODO use reflection instead of magic numbers here |
| 12441 | 12441 | // len: comptime_int, |
| 12442 | 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 | 12460 | return sema.addType(ty); |
| 12461 | 12461 | }, |
| 12462 | 12462 | .Optional => { |
| 12463 | | const struct_val = union_val.val.castTag(.@"struct").?.data; |
| 12463 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12464 | 12464 | // TODO use reflection instead of magic numbers here |
| 12465 | 12465 | // child: type, |
| 12466 | 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 | 12472 | return sema.addType(ty); |
| 12473 | 12473 | }, |
| 12474 | 12474 | .ErrorUnion => { |
| 12475 | | const struct_val = union_val.val.castTag(.@"struct").?.data; |
| 12475 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12476 | 12476 | // TODO use reflection instead of magic numbers here |
| 12477 | 12477 | // error_set: type, |
| 12478 | 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 | 12495 | const slice_val = payload_val.castTag(.slice).?.data; |
| 12496 | 12496 | const decl = slice_val.ptr.pointerDecl().?; |
| 12497 | 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 | 12500 | var names: Module.ErrorSet.NameMap = .{}; |
| 12501 | 12501 | try names.ensureUnusedCapacity(sema.arena, array_val.len); |
| 12502 | 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 | 12504 | // TODO use reflection instead of magic numbers here |
| 12505 | 12505 | // error_set: type, |
| 12506 | 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 | 12516 | }, |
| 12517 | 12517 | .Struct => { |
| 12518 | 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 | 12520 | // layout: containerlayout, |
| 12521 | 12521 | const layout_val = struct_val[0]; |
| 12522 | 12522 | // fields: []const enumfield, |
| ... | ... | @@ -12537,7 +12537,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 12537 | 12537 | try sema.reifyStruct(block, inst, src, layout_val, fields_val); |
| 12538 | 12538 | }, |
| 12539 | 12539 | .Enum => { |
| 12540 | | const struct_val = union_val.val.castTag(.@"struct").?.data; |
| 12540 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12541 | 12541 | // TODO use reflection instead of magic numbers here |
| 12542 | 12542 | // layout: ContainerLayout, |
| 12543 | 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 | 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 | 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 | 12623 | // TODO use reflection instead of magic numbers here |
| 12624 | 12624 | // name: []const u8 |
| 12625 | 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 | 12648 | return sema.analyzeDeclVal(block, src, new_decl); |
| 12649 | 12649 | }, |
| 12650 | 12650 | .Opaque => { |
| 12651 | | const struct_val = union_val.val.castTag(.@"struct").?.data; |
| 12651 | const struct_val = union_val.val.castTag(.aggregate).?.data; |
| 12652 | 12652 | // decls: []const Declaration, |
| 12653 | 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 | 12694 | .Union => return sema.fail(block, src, "TODO: Sema.zirReify for Union", .{}), |
| 12695 | 12695 | .Fn => return sema.fail(block, src, "TODO: Sema.zirReify for Fn", .{}), |
| 12696 | 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 | 12717 | var i: usize = 0; |
| 12718 | 12718 | while (i < fields_len) : (i += 1) { |
| 12719 | 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 | 12721 | // TODO use reflection instead of magic numbers here |
| 12722 | 12722 | // name: []const u8 |
| 12723 | 12723 | const name_val = field_struct_val[0]; |
| ... | ... | @@ -12818,7 +12818,7 @@ fn reifyStruct( |
| 12818 | 12818 | var i: usize = 0; |
| 12819 | 12819 | while (i < fields_len) : (i += 1) { |
| 12820 | 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 | 12822 | // TODO use reflection instead of magic numbers here |
| 12823 | 12823 | // name: []const u8 |
| 12824 | 12824 | const name_val = field_struct_val[0]; |
| ... | ... | @@ -13219,7 +13219,7 @@ fn zirBitCount( |
| 13219 | 13219 | } |
| 13220 | 13220 | return sema.addConstant( |
| 13221 | 13221 | result_ty, |
| 13222 | | try Value.Tag.array.create(sema.arena, elems), |
| 13222 | try Value.Tag.aggregate.create(sema.arena, elems), |
| 13223 | 13223 | ); |
| 13224 | 13224 | } else { |
| 13225 | 13225 | try sema.requireRuntimeBlock(block, operand_src); |
| ... | ... | @@ -13985,7 +13985,7 @@ fn analyzeShuffle( |
| 13985 | 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 | 13989 | return sema.addConstant(res_ty, res_val); |
| 13990 | 13990 | } |
| 13991 | 13991 | } |
| ... | ... | @@ -14008,7 +14008,7 @@ fn analyzeShuffle( |
| 14008 | 14008 | while (i < max_len) : (i += 1) { |
| 14009 | 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 | 14013 | if (a_len < b_len) { |
| 14014 | 14014 | const undef = try sema.addConstUndef(a_ty); |
| ... | ... | @@ -14454,7 +14454,7 @@ fn zirMinMax( |
| 14454 | 14454 | } |
| 14455 | 14455 | return sema.addConstant( |
| 14456 | 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 | 14459 | } else rs: { |
| 14460 | 14460 | if (simd_op.rhs_val) |rhs_val| { |
| ... | ... | @@ -16016,7 +16016,7 @@ fn structFieldVal( |
| 16016 | 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 | 16020 | return sema.addConstant(field.ty, field_values[field_index]); |
| 16021 | 16021 | } |
| 16022 | 16022 | |
| ... | ... | @@ -16084,7 +16084,7 @@ fn tupleFieldValByIndex( |
| 16084 | 16084 | if ((try sema.typeHasOnePossibleValue(block, src, field_ty))) |opv| { |
| 16085 | 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 | 16088 | return sema.addConstant(field_ty, field_values[field_index]); |
| 16089 | 16089 | } |
| 16090 | 16090 | |
| ... | ... | @@ -16414,7 +16414,7 @@ fn tupleField( |
| 16414 | 16414 | |
| 16415 | 16415 | if (try sema.resolveMaybeUndefVal(block, tuple_src, tuple)) |tuple_val| { |
| 16416 | 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 | 16418 | return sema.addConstant(field_ty, field_values[field_index]); |
| 16419 | 16419 | } |
| 16420 | 16420 | |
| ... | ... | @@ -17510,7 +17510,7 @@ fn beginComptimePtrMutation( |
| 17510 | 17510 | const elems = try arena.alloc(Value, array_len_including_sentinel); |
| 17511 | 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 | 17515 | return ComptimePtrMutationKit{ |
| 17516 | 17516 | .decl_ref_mut = parent.decl_ref_mut, |
| ... | ... | @@ -17537,7 +17537,7 @@ fn beginComptimePtrMutation( |
| 17537 | 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 | 17542 | return ComptimePtrMutationKit{ |
| 17543 | 17543 | .decl_ref_mut = parent.decl_ref_mut, |
| ... | ... | @@ -17562,7 +17562,7 @@ fn beginComptimePtrMutation( |
| 17562 | 17562 | const elems = try arena.alloc(Value, array_len_including_sentinel); |
| 17563 | 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 | 17567 | return ComptimePtrMutationKit{ |
| 17568 | 17568 | .decl_ref_mut = parent.decl_ref_mut, |
| ... | ... | @@ -17571,9 +17571,9 @@ fn beginComptimePtrMutation( |
| 17571 | 17571 | }; |
| 17572 | 17572 | }, |
| 17573 | 17573 | |
| 17574 | | .array => return ComptimePtrMutationKit{ |
| 17574 | .aggregate => return ComptimePtrMutationKit{ |
| 17575 | 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 | 17577 | .ty = elem_ty, |
| 17578 | 17578 | }, |
| 17579 | 17579 | |
| ... | ... | @@ -17613,7 +17613,7 @@ fn beginComptimePtrMutation( |
| 17613 | 17613 | const fields = try arena.alloc(Value, parent.ty.structFieldCount()); |
| 17614 | 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 | 17618 | return ComptimePtrMutationKit{ |
| 17619 | 17619 | .decl_ref_mut = parent.decl_ref_mut, |
| ... | ... | @@ -17639,9 +17639,9 @@ fn beginComptimePtrMutation( |
| 17639 | 17639 | else => unreachable, |
| 17640 | 17640 | } |
| 17641 | 17641 | }, |
| 17642 | | .@"struct" => return ComptimePtrMutationKit{ |
| 17642 | .aggregate => return ComptimePtrMutationKit{ |
| 17643 | 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 | 17645 | .ty = field_ty, |
| 17646 | 17646 | }, |
| 17647 | 17647 | .@"union" => { |
| ... | ... | @@ -18209,7 +18209,7 @@ fn coerceArrayLike( |
| 18209 | 18209 | |
| 18210 | 18210 | return sema.addConstant( |
| 18211 | 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 | 18266 | |
| 18267 | 18267 | return sema.addConstant( |
| 18268 | 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 | 18397 | |
| 18398 | 18398 | return sema.addConstant( |
| 18399 | 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 | |