From 813e85a03dc214f719dc8248bda36156897b0757 Mon Sep 17 00:00:00 2001 From: "Paul \"LeoNerd\" Evans" Date: Wed, 23 Oct 2019 19:00:38 +0100 Subject: Add the `isa` operator Adds a new infix operator named `isa`, with the semantics that $x isa SomeClass is true if and only if `$x` is a blessed object reference that is either `SomeClass` directly, or includes the class somewhere in its @ISA hierarchy. It is false without warning or error for non-references or non-blessed references. This operator respects `->isa` method overloading, and is intended to replace boilerplate code such as use Scalar::Util 'blessed'; blessed($x) and $x->isa("SomeClass") --- opnames.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'opnames.h') diff --git a/opnames.h b/opnames.h index d87ba88f01..d63371afd1 100644 --- a/opnames.h +++ b/opnames.h @@ -411,10 +411,11 @@ typedef enum opcode { OP_LVREFSLICE = 394, OP_LVAVREF = 395, OP_ANONCONST = 396, + OP_ISA = 397, OP_max } opcode; -#define MAXO 397 +#define MAXO 398 #define OP_FREED MAXO /* the OP_IS_* macros are optimized to a simple range check because -- cgit v1.2.1