From ceef5db547690740f2e2c112af4e972c9b44c9de Mon Sep 17 00:00:00 2001 From: gingerBill Date: Fri, 27 Dec 2019 17:16:43 +0000 Subject: Support `for` and `inline for` for enumerated arrays --- src/check_stmt.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/check_stmt.cpp') diff --git a/src/check_stmt.cpp b/src/check_stmt.cpp index 7bb6924b4..c365dca84 100644 --- a/src/check_stmt.cpp +++ b/src/check_stmt.cpp @@ -652,6 +652,11 @@ void check_inline_range_stmt(CheckerContext *ctx, Ast *node, u32 mod_flags) { val1 = t_int; inline_for_depth = exact_value_i64(t->Array.count); break; + case Type_EnumeratedArray: + val0 = t->EnumeratedArray.elem; + val1 = t->EnumeratedArray.index; + inline_for_depth = exact_value_i64(t->EnumeratedArray.count); + break; } } @@ -1506,6 +1511,12 @@ void check_stmt_internal(CheckerContext *ctx, Ast *node, u32 flags) { add_package_dependency(ctx, "runtime", "string_decode_rune"); } break; + + case Type_EnumeratedArray: + val0 = t->EnumeratedArray.elem; + val1 = t->EnumeratedArray.index; + break; + case Type_Array: val0 = t->Array.elem; val1 = t_int; -- cgit v1.2.3