From 9a358d2d33b0ecdec38ba3698acf8b239c43b667 Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Wed, 4 Sep 2019 11:08:49 -0600 Subject: Add Array support to @Type --- src/ir.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/ir.cpp') diff --git a/src/ir.cpp b/src/ir.cpp index 054fbf0073..03e084e5ce 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -20942,6 +20942,13 @@ static ZigType *type_info_to_type(IrAnalyze *ira, IrInstruction *instruction, Zi return ptr_type; return get_slice_type(ira->codegen, ptr_type); } + case ZigTypeIdArray: + assert(payload->special == ConstValSpecialStatic); + assert(payload->type == ir_type_info_get_type(ira, "Array", nullptr)); + return get_array_type(ira->codegen, + get_const_field_meta_type(ira, payload, "child", 1), + bigint_as_u64(get_const_field_lit_int(ira, payload, "len", 0)) + ); case ZigTypeIdComptimeFloat: return ira->codegen->builtin_types.entry_num_lit_float; case ZigTypeIdComptimeInt: @@ -20950,7 +20957,6 @@ static ZigType *type_info_to_type(IrAnalyze *ira, IrInstruction *instruction, Zi return ira->codegen->builtin_types.entry_undef; case ZigTypeIdNull: return ira->codegen->builtin_types.entry_null; - case ZigTypeIdArray: case ZigTypeIdOptional: case ZigTypeIdErrorUnion: case ZigTypeIdErrorSet: -- cgit v1.2.3