From d6d202341a96cfa3a8d8478a904f494ed77403e1 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Sat, 14 Nov 2020 11:39:58 +0200 Subject: [PATCH] table: add a helper `pub fn (t Type) debug() []string {}` --- vlib/v/table/atypes.v | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/vlib/v/table/atypes.v b/vlib/v/table/atypes.v index f3a8417578..433a61f0dd 100644 --- a/vlib/v/table/atypes.v +++ b/vlib/v/table/atypes.v @@ -171,6 +171,29 @@ pub fn (t Type) has_flag(flag TypeFlag) bool { return int(t) & (1 << (int(flag) + 24)) > 0 } +pub fn (t Type) debug() []string { + mut res := []string{} + res << 'idx: ${t.idx():5}' + res << 'type: ${t:10}' + res << 'nr_muls: $t.nr_muls()' + if t.has_flag(.optional) { + res << 'optional' + } + if t.has_flag(.variadic) { + res << 'variadic' + } + if t.has_flag(.generic) { + res << 'generic' + } + if t.has_flag(.shared_f) { + res << 'shared_f' + } + if t.has_flag(.atomic_f) { + res << 'atomic_f' + } + return res +} + // copy flags & nr_muls from `t_from` to `t` and return `t` [inline] pub fn (t Type) derive(t_from Type) Type {