From 2afe4bea67ff50c2ad41ff7c3ba7fbdc18748746 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 15 Oct 2019 22:43:04 +0100 Subject: [PATCH] Add `instrincs.type_is_valid_map_key` --- src/check_expr.cpp | 2 ++ src/checker_builtin_procs.hpp | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 44bbc8988..b2a2528dd 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -3317,6 +3317,7 @@ BuiltinTypeIsProc *builtin_type_is_procs[BuiltinProc__type_end - BuiltinProc__ty is_type_sliceable, is_type_simple_compare, is_type_dereferenceable, + is_type_valid_for_keys, is_type_named, is_type_pointer, @@ -4899,6 +4900,7 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32 case BuiltinProc_type_is_sliceable: case BuiltinProc_type_is_simple_compare: case BuiltinProc_type_is_dereferenceable: + case BuiltinProc_type_is_valid_map_key: case BuiltinProc_type_is_named: case BuiltinProc_type_is_pointer: case BuiltinProc_type_is_opaque: diff --git a/src/checker_builtin_procs.hpp b/src/checker_builtin_procs.hpp index b119452d4..50d27d715 100644 --- a/src/checker_builtin_procs.hpp +++ b/src/checker_builtin_procs.hpp @@ -134,6 +134,7 @@ BuiltinProc__type_begin, BuiltinProc_type_is_sliceable, BuiltinProc_type_is_simple_compare, // easily compared using memcmp BuiltinProc_type_is_dereferenceable, + BuiltinProc_type_is_valid_map_key, BuiltinProc_type_is_named, BuiltinProc_type_is_pointer, @@ -291,8 +292,9 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = { {STR_LIT("type_is_ordered_numeric"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, {STR_LIT("type_is_indexable"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, {STR_LIT("type_is_sliceable"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, - {STR_LIT("type_is_simple_compare"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics,}, + {STR_LIT("type_is_simple_compare"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, {STR_LIT("type_is_dereferenceable"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, + {STR_LIT("type_is_valid_map_key"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, {STR_LIT("type_is_named"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, {STR_LIT("type_is_pointer"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},