From 02a23c7b0dcd19dc9c46ba15d5af71569146ffa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Thu, 25 Nov 1999 17:40:26 +0100 Subject: [PATCH] Added support for runtime checks of soft casts. Rev: src/interpreter.h:1.19 --- src/interpreter.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/interpreter.h b/src/interpreter.h index 9f26933c71..9da06d84d3 100644 --- a/src/interpreter.h +++ b/src/interpreter.h @@ -1285,6 +1285,22 @@ static int eval_instruction(unsigned char *pc) CASE(F_CAST); f_cast(); break; + CASE(F_SOFT_CAST); +#ifdef PIKE_DEBUG + if (d_flag) { + /* FIXME: Perform a type-check here */ + /* Stack: type_string, value */ + if (d_flag > 1) { + struct pike_string *t = describe_type(sp[-2].u.string); + fprintf(stderr, "Soft cast to %s\n", t->str); + free_string(t); + } + } +#endif /* PIKE_DEBUG */ + stack_swap(); + pop_stack(); + break; + CASE(F_RANGE); o_range(); break; CASE(F_COPY_VALUE); { -- GitLab