From 04b5d8c132e8aabb3bb5dff31683cb45d4dff9c0 Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Thu, 29 Sep 2016 00:42:26 +0100 Subject: using on indexable field; Auto deref for (Index|Slice)Expr --- src/checker/type.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/checker/type.cpp') diff --git a/src/checker/type.cpp b/src/checker/type.cpp index 34a18a6da..dded3826e 100644 --- a/src/checker/type.cpp +++ b/src/checker/type.cpp @@ -487,6 +487,10 @@ b32 is_type_u8(Type *t) { } return false; } +b32 is_type_array(Type *t) { + t = base_type(t); + return t->kind == Type_Array; +} b32 is_type_slice(Type *t) { t = base_type(t); return t->kind == Type_Slice; @@ -546,6 +550,11 @@ b32 is_type_any(Type *t) { } +b32 is_type_indexable(Type *t) { + return is_type_array(t) || is_type_slice(t) || is_type_vector(t) || is_type_string(t); +} + + b32 is_type_comparable(Type *t) { t = base_type(t); -- cgit v1.2.3