From 44d6e8a27294e5ca7300ab11900011b73d9336d4 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Tue, 21 Jul 2026 01:55:56 +0200 Subject: Implement slices --- boot/evaluator.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'boot/evaluator.cc') diff --git a/boot/evaluator.cc b/boot/evaluator.cc index 7eb612b..990f358 100644 --- a/boot/evaluator.cc +++ b/boot/evaluator.cc @@ -399,7 +399,8 @@ namespace elna::boot { type const resolved = resolve_underlying_type(subject); - if (is_primitive_type(resolved, "Int")) + if (is_primitive_type(resolved, "Int") + || resolved.get() != nullptr) { return target.int_size; } @@ -415,6 +416,15 @@ namespace elna::boot { return target.float_size; } + else if (is_primitive_type(resolved, "Bool")) + { + return target.bool_size; + } + else if (is_primitive_type(resolved, "String") + || resolved.get() != nullptr) + { + return target.pointer_size + target.word_size; + } else if (is_primitive_type(resolved, "Pointer") || resolved.get() != nullptr) { -- cgit v1.2.3