addbits($_, 4 => qw(OPpTARGET_MY TARGMY))
for ops_with_flag('T'),
- # This flag is also used to indicate matches against implicit $_,
- # where $_ is lexical; e.g. my $_; ....; /foo/
- qw(match subst pushre qr trans transr);
;
# We might be an lvalue to return
addbits($_, 3 => qw(OPpMAYBE_LVSUB LVSUB))
for qw(aassign rv2av rv2gv rv2hv padav padhv aelem helem aslice hslice
- av2arylen keys kvaslice kvhslice substr pos vec multideref);
+ av2arylen keys akeys kvaslice kvhslice substr pos vec
+ multideref);
+# note that for refassign, this bit can mean either OPpPAD_STATE or
+# OPpOUR_INTRO depending on the type of the LH child, .e.g.
+# \our $foo = ...
+# \state $foo = ...
+
addbits($_, 6 => qw(OPpPAD_STATE STATE)) for qw(padav padhv padsv lvavref
lvref refassign pushmark);
);
+# NB OPpITER_REVERSED must always be bit 1: see pp_iter()
addbits('enteriter',
- 2 => qw(OPpITER_REVERSED REVERSED),# for (reverse ...)
- 3 => qw(OPpITER_DEF DEF), # 'for $_' or 'for my $_'
+ 1 => qw(OPpITER_REVERSED REVERSED),# for (reverse ...)
+ 3 => qw(OPpITER_DEF DEF), # 'for $_'
);
-addbits('iter', 2 => qw(OPpITER_REVERSED REVERSED));
+addbits('iter', 1 => qw(OPpITER_REVERSED REVERSED));
-addbits($_, 1 => qw(OPpGREP_LEX GREPLEX)) # iterate over lexical $_
- for qw(mapwhile mapstart grepwhile grepstart);
-
-
-
addbits('entereval',
1 => qw(OPpEVAL_HAS_HH HAS_HH ), # Does it have a copy of %^H ?
2 => qw(OPpEVAL_UNICODE UNI ),
3 OPpLVREF_CV CV
)],
},
+ #6 => qw(OPpPAD_STATE STATE),
#7 => qw(OPpLVAL_INTRO LVINTRO),
) for 'refassign', 'lvref';