diff options
author | Paul "LeoNerd" Evans <leonerd@leonerd.org.uk> | 2019-10-23 19:00:38 +0100 |
---|---|---|
committer | Paul "LeoNerd" Evans <leonerd@leonerd.org.uk> | 2019-12-09 23:19:05 +0000 |
commit | 813e85a03dc214f719dc8248bda36156897b0757 (patch) | |
tree | 9e3c12a41469a967477219e0d0a670ab593618d2 /keywords.h | |
parent | e139e9c0aa8151ab29e98bb9f3216ee7a14abe4d (diff) | |
download | perl-813e85a03dc214f719dc8248bda36156897b0757.tar.gz |
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")
Diffstat (limited to 'keywords.h')
-rw-r--r-- | keywords.h | 293 |
1 files changed, 147 insertions, 146 deletions
diff --git a/keywords.h b/keywords.h index 2b1d598a4e..23fa6944d8 100644 --- a/keywords.h +++ b/keywords.h @@ -123,152 +123,153 @@ #define KEY_index 107 #define KEY_int 108 #define KEY_ioctl 109 -#define KEY_join 110 -#define KEY_keys 111 -#define KEY_kill 112 -#define KEY_last 113 -#define KEY_lc 114 -#define KEY_lcfirst 115 -#define KEY_le 116 -#define KEY_length 117 -#define KEY_link 118 -#define KEY_listen 119 -#define KEY_local 120 -#define KEY_localtime 121 -#define KEY_lock 122 -#define KEY_log 123 -#define KEY_lstat 124 -#define KEY_lt 125 -#define KEY_m 126 -#define KEY_map 127 -#define KEY_mkdir 128 -#define KEY_msgctl 129 -#define KEY_msgget 130 -#define KEY_msgrcv 131 -#define KEY_msgsnd 132 -#define KEY_my 133 -#define KEY_ne 134 -#define KEY_next 135 -#define KEY_no 136 -#define KEY_not 137 -#define KEY_oct 138 -#define KEY_open 139 -#define KEY_opendir 140 -#define KEY_or 141 -#define KEY_ord 142 -#define KEY_our 143 -#define KEY_pack 144 -#define KEY_package 145 -#define KEY_pipe 146 -#define KEY_pop 147 -#define KEY_pos 148 -#define KEY_print 149 -#define KEY_printf 150 -#define KEY_prototype 151 -#define KEY_push 152 -#define KEY_q 153 -#define KEY_qq 154 -#define KEY_qr 155 -#define KEY_quotemeta 156 -#define KEY_qw 157 -#define KEY_qx 158 -#define KEY_rand 159 -#define KEY_read 160 -#define KEY_readdir 161 -#define KEY_readline 162 -#define KEY_readlink 163 -#define KEY_readpipe 164 -#define KEY_recv 165 -#define KEY_redo 166 -#define KEY_ref 167 -#define KEY_rename 168 -#define KEY_require 169 -#define KEY_reset 170 -#define KEY_return 171 -#define KEY_reverse 172 -#define KEY_rewinddir 173 -#define KEY_rindex 174 -#define KEY_rmdir 175 -#define KEY_s 176 -#define KEY_say 177 -#define KEY_scalar 178 -#define KEY_seek 179 -#define KEY_seekdir 180 -#define KEY_select 181 -#define KEY_semctl 182 -#define KEY_semget 183 -#define KEY_semop 184 -#define KEY_send 185 -#define KEY_setgrent 186 -#define KEY_sethostent 187 -#define KEY_setnetent 188 -#define KEY_setpgrp 189 -#define KEY_setpriority 190 -#define KEY_setprotoent 191 -#define KEY_setpwent 192 -#define KEY_setservent 193 -#define KEY_setsockopt 194 -#define KEY_shift 195 -#define KEY_shmctl 196 -#define KEY_shmget 197 -#define KEY_shmread 198 -#define KEY_shmwrite 199 -#define KEY_shutdown 200 -#define KEY_sin 201 -#define KEY_sleep 202 -#define KEY_socket 203 -#define KEY_socketpair 204 -#define KEY_sort 205 -#define KEY_splice 206 -#define KEY_split 207 -#define KEY_sprintf 208 -#define KEY_sqrt 209 -#define KEY_srand 210 -#define KEY_stat 211 -#define KEY_state 212 -#define KEY_study 213 -#define KEY_sub 214 -#define KEY_substr 215 -#define KEY_symlink 216 -#define KEY_syscall 217 -#define KEY_sysopen 218 -#define KEY_sysread 219 -#define KEY_sysseek 220 -#define KEY_system 221 -#define KEY_syswrite 222 -#define KEY_tell 223 -#define KEY_telldir 224 -#define KEY_tie 225 -#define KEY_tied 226 -#define KEY_time 227 -#define KEY_times 228 -#define KEY_tr 229 -#define KEY_truncate 230 -#define KEY_uc 231 -#define KEY_ucfirst 232 -#define KEY_umask 233 -#define KEY_undef 234 -#define KEY_unless 235 -#define KEY_unlink 236 -#define KEY_unpack 237 -#define KEY_unshift 238 -#define KEY_untie 239 -#define KEY_until 240 -#define KEY_use 241 -#define KEY_utime 242 -#define KEY_values 243 -#define KEY_vec 244 -#define KEY_wait 245 -#define KEY_waitpid 246 -#define KEY_wantarray 247 -#define KEY_warn 248 -#define KEY_when 249 -#define KEY_while 250 -#define KEY_write 251 -#define KEY_x 252 -#define KEY_xor 253 -#define KEY_y 254 +#define KEY_isa 110 +#define KEY_join 111 +#define KEY_keys 112 +#define KEY_kill 113 +#define KEY_last 114 +#define KEY_lc 115 +#define KEY_lcfirst 116 +#define KEY_le 117 +#define KEY_length 118 +#define KEY_link 119 +#define KEY_listen 120 +#define KEY_local 121 +#define KEY_localtime 122 +#define KEY_lock 123 +#define KEY_log 124 +#define KEY_lstat 125 +#define KEY_lt 126 +#define KEY_m 127 +#define KEY_map 128 +#define KEY_mkdir 129 +#define KEY_msgctl 130 +#define KEY_msgget 131 +#define KEY_msgrcv 132 +#define KEY_msgsnd 133 +#define KEY_my 134 +#define KEY_ne 135 +#define KEY_next 136 +#define KEY_no 137 +#define KEY_not 138 +#define KEY_oct 139 +#define KEY_open 140 +#define KEY_opendir 141 +#define KEY_or 142 +#define KEY_ord 143 +#define KEY_our 144 +#define KEY_pack 145 +#define KEY_package 146 +#define KEY_pipe 147 +#define KEY_pop 148 +#define KEY_pos 149 +#define KEY_print 150 +#define KEY_printf 151 +#define KEY_prototype 152 +#define KEY_push 153 +#define KEY_q 154 +#define KEY_qq 155 +#define KEY_qr 156 +#define KEY_quotemeta 157 +#define KEY_qw 158 +#define KEY_qx 159 +#define KEY_rand 160 +#define KEY_read 161 +#define KEY_readdir 162 +#define KEY_readline 163 +#define KEY_readlink 164 +#define KEY_readpipe 165 +#define KEY_recv 166 +#define KEY_redo 167 +#define KEY_ref 168 +#define KEY_rename 169 +#define KEY_require 170 +#define KEY_reset 171 +#define KEY_return 172 +#define KEY_reverse 173 +#define KEY_rewinddir 174 +#define KEY_rindex 175 +#define KEY_rmdir 176 +#define KEY_s 177 +#define KEY_say 178 +#define KEY_scalar 179 +#define KEY_seek 180 +#define KEY_seekdir 181 +#define KEY_select 182 +#define KEY_semctl 183 +#define KEY_semget 184 +#define KEY_semop 185 +#define KEY_send 186 +#define KEY_setgrent 187 +#define KEY_sethostent 188 +#define KEY_setnetent 189 +#define KEY_setpgrp 190 +#define KEY_setpriority 191 +#define KEY_setprotoent 192 +#define KEY_setpwent 193 +#define KEY_setservent 194 +#define KEY_setsockopt 195 +#define KEY_shift 196 +#define KEY_shmctl 197 +#define KEY_shmget 198 +#define KEY_shmread 199 +#define KEY_shmwrite 200 +#define KEY_shutdown 201 +#define KEY_sin 202 +#define KEY_sleep 203 +#define KEY_socket 204 +#define KEY_socketpair 205 +#define KEY_sort 206 +#define KEY_splice 207 +#define KEY_split 208 +#define KEY_sprintf 209 +#define KEY_sqrt 210 +#define KEY_srand 211 +#define KEY_stat 212 +#define KEY_state 213 +#define KEY_study 214 +#define KEY_sub 215 +#define KEY_substr 216 +#define KEY_symlink 217 +#define KEY_syscall 218 +#define KEY_sysopen 219 +#define KEY_sysread 220 +#define KEY_sysseek 221 +#define KEY_system 222 +#define KEY_syswrite 223 +#define KEY_tell 224 +#define KEY_telldir 225 +#define KEY_tie 226 +#define KEY_tied 227 +#define KEY_time 228 +#define KEY_times 229 +#define KEY_tr 230 +#define KEY_truncate 231 +#define KEY_uc 232 +#define KEY_ucfirst 233 +#define KEY_umask 234 +#define KEY_undef 235 +#define KEY_unless 236 +#define KEY_unlink 237 +#define KEY_unpack 238 +#define KEY_unshift 239 +#define KEY_untie 240 +#define KEY_until 241 +#define KEY_use 242 +#define KEY_utime 243 +#define KEY_values 244 +#define KEY_vec 245 +#define KEY_wait 246 +#define KEY_waitpid 247 +#define KEY_wantarray 248 +#define KEY_warn 249 +#define KEY_when 250 +#define KEY_while 251 +#define KEY_write 252 +#define KEY_x 253 +#define KEY_xor 254 +#define KEY_y 255 /* Generated from: - * db0472e0ad4f44bd0816cad799d63b60d1bbd7e11cef40ea15bf0d00f69669f6 regen/keywords.pl + * f77998a5bc995c1b42d3d080de227ef5f11638bcd329367431d8f193aef2d3cc regen/keywords.pl * ex: set ro: */ |