aboutsummaryrefslogtreecommitdiff
path: root/src/types.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/types.cpp')
-rw-r--r--src/types.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/types.cpp b/src/types.cpp
index 5cf86d6b6..76126f17f 100644
--- a/src/types.cpp
+++ b/src/types.cpp
@@ -1307,6 +1307,19 @@ bool is_type_indexable(Type *t) {
return false;
}
+bool is_type_sliceable(Type *t) {
+ Type *bt = base_type(t);
+ switch (bt->kind) {
+ case Type_Basic:
+ return bt->Basic.kind == Basic_string;
+ case Type_Array:
+ case Type_Slice:
+ case Type_DynamicArray:
+ return true;
+ }
+ return false;
+}
+
bool is_type_polymorphic_record(Type *t) {
t = base_type(t);