Lines Matching defs:kid

137 S_bad_type(pTHX_ I32 n, char *t, char *name, OP *kid)
140 (int)n, name, t, OP_DESC(kid)));
283 register OP *kid, *nextkid;
310 for (kid = cUNOPo->op_first; kid; kid = nextkid) {
311 nextkid = kid->op_sibling; /* Get before next freeing kid */
312 op_free(kid);
504 register OP *kid;
512 for (kid = cUNOPo->op_first; kid; kid = kid->op_sibling) {
513 if (kid->op_sibling)
514 kid->op_next = LINKLIST(kid->op_sibling);
516 kid->op_next = o;
528 OP *kid;
530 for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling)
531 scalar(kid);
555 OP *kid;
573 for (kid = cUNOPo->op_first->op_sibling; kid; kid = kid->op_sibling)
574 scalar(kid);
577 if ((kid = cLISTOPo->op_first) && kid->op_type == OP_PUSHRE) {
588 for (kid = cUNOPo->op_first; kid; kid = kid->op_sibling)
589 scalar(kid);
594 kid = cLISTOPo->op_first;
595 scalar(kid);
596 while ((kid = kid->op_sibling)) {
597 if (kid->op_sibling)
598 scalarvoid(kid);
600 scalar(kid);
607 for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling) {
608 if (kid->op_sibling)
609 scalarvoid(kid);
611 scalar(kid);
625 OP *kid;
795 for (kid = cUNOPo->op_first->op_sibling; kid; kid = kid->op_sibling)
796 scalarvoid(kid);
816 for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling)
817 scalarvoid(kid);
829 if ((kid = cLISTOPo->op_first) && kid->op_type == OP_PUSHRE) {
843 OP *kid;
845 for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling)
846 list(kid);
854 OP *kid;
879 for (kid = cUNOPo->op_first->op_sibling; kid; kid = kid->op_sibling)
880 list(kid);
898 kid = cLISTOPo->op_first;
899 list(kid);
900 while ((kid = kid->op_sibling)) {
901 if (kid->op_sibling)
902 scalarvoid(kid);
904 list(kid);
910 for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling) {
911 if (kid->op_sibling)
912 scalarvoid(kid);
914 list(kid);
929 OP *kid;
937 for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling) {
938 if (kid->op_sibling) {
939 scalarvoid(kid);
956 OP *kid;
958 for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling)
959 mod(kid, type);
967 OP *kid;
1022 OP *kid = cUNOPo->op_first;
1026 if (kid->op_type == OP_PUSHMARK)
1028 if (kid->op_type != OP_NULL || kid->op_targ != OP_LIST)
1032 (long)kid->op_type, (UV)kid->op_targ);
1033 kid = kLISTOP->op_first;
1035 while (kid->op_sibling)
1036 kid = kid->op_sibling;
1037 if (!(kid->op_type == OP_NULL && kid->op_targ == OP_RV2CV)) {
1039 if (kid->op_type == OP_METHOD_NAMED
1040 || kid->op_type == OP_METHOD)
1049 kid->op_sibling = (OP*)newop;
1054 if (kid->op_type != OP_RV2CV)
1058 (long)kid->op_type, (UV)kid->op_targ);
1059 kid->op_private |= OPpLVAL_INTRO;
1063 okid = kid;
1064 kid = kUNOP->op_first;
1065 if (kid->op_type == OP_NULL && kid->op_targ == OP_RV2SV)
1066 kid = kUNOP->op_first;
1067 if (kid->op_type == OP_NULL)
1071 (long)kid->op_type, (UV)kid->op_targ);
1072 if (kid->op_type != OP_GV) {
1075 if (kid->op_next && kid->op_next != kid) { /* Happens? */
1076 okid->op_next = kid->op_next;
1077 kid->op_next = okid;
1136 for (kid = cUNOPo->op_first->op_sibling; kid; kid = kid->op_sibling)
1137 mod(kid, type);
1259 for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling)
1260 mod(kid, type);
1365 OP *kid;
1367 for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling)
1368 ref(kid, type);
1376 OP *kid;
1394 for (kid = cUNOPo->op_first->op_sibling; kid; kid = kid->op_sibling)
1395 ref(kid, type);
1468 * where the first kid is OP_PUSHMARK and the remaining ones
1626 OP *kid;
1634 for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling)
1635 my_kid(kid, attrs, imopsp);
1799 OP *kid;
1802 kid = ((LISTOP*)o)->op_first;
1803 if (kid->op_type == OP_NEXTSTATE || kid->op_type == OP_DBSTATE)
1804 op_null(kid);
4839 OP *kid = cUNOPo->op_first;
4840 if (kid->op_type == OP_CONCAT && !(kid->op_private & OPpTARGET_MY) &&
4851 OP* kid;
4854 kid = cUNOPo->op_first;
4877 OP *kid = cUNOPo->op_first;
4878 switch (kid->op_type) {
4894 op_null(kid);
4928 SVOP *kid = (SVOP*)cUNOPo->op_first;
4930 if (!kid) {
4934 else if (kid->op_type == OP_LINESEQ || kid->op_type == OP_STUB) {
4948 o = prepend_elem(OP_LINESEQ, (OP*)enter, (OP*)kid);
4955 scalar((OP*)kid);
4983 OP *kid;
4986 kid = cUNOPo->op_first->op_sibling;
4987 if (kid->op_type == OP_RV2GV)
4988 op_null(kid);
5000 OP *kid = cUNOPo->op_first;
5001 if (kid->op_type == OP_ENTERSUB) {
5002 (void) ref(kid, o->op_type);
5003 if (kid->op_type != OP_RV2CV && !PL_error_count)
5008 else if (kid->op_type == OP_AELEM)
5010 else if (kid->op_type != OP_HELEM)
5013 op_null(kid);
5032 SVOP *kid = (SVOP*)cUNOPo->op_first;
5035 if (kid->op_type == OP_CONST) {
5039 SV *kidsv = kid->op_sv;
5080 if ((PL_hints & HINT_STRICT_REFS) && (kid->op_private & OPpCONST_BARE)) {
5109 iscv | !(kid->op_private & OPpCONST_ENTERED),
5119 } while (!gv && !(kid->op_private & OPpCONST_ENTERED) && !iscv++);
5121 kid->op_type = OP_GV;
5122 SvREFCNT_dec(kid->op_sv);
5130 kid->op_sv = SvREFCNT_inc(gv);
5132 kid->op_private = 0;
5133 kid->op_ppaddr = PL_ppaddr[OP_GV];
5148 SVOP *kid = (SVOP*)cUNOPo->op_first;
5150 if (kid->op_type == OP_CONST && (kid->op_private & OPpCONST_BARE)) {
5153 gv_fetchpv(SvPVx(kid->op_sv, n_a), TRUE, SVt_PVIO));
5176 register OP *kid;
5193 kid = cLISTOPo->op_first;
5194 if (kid->op_type == OP_PUSHMARK ||
5195 (kid->op_type == OP_NULL && kid->op_targ == OP_PUSHMARK))
5197 tokid = &kid->op_sibling;
5198 kid = kid->op_sibling;
5200 if (!kid && PL_opargs[type] & OA_DEFGV)
5201 *tokid = kid = newDEFSVOP();
5203 while (oa && kid) {
5205 sibl = kid->op_sibling;
5210 && kid->op_type == OP_LIST && type != OP_SCALAR)
5214 scalar(kid);
5218 kid = 0;
5222 list(kid);
5226 && !kid->op_sibling && ckWARN(WARN_SYNTAX))
5231 if (kid->op_type == OP_CONST &&
5232 (kid->op_private & OPpCONST_BARE))
5234 char *name = SvPVx(((SVOP*)kid)->op_sv, n_a);
5241 op_free(kid);
5242 kid = newop;
5243 kid->op_sibling = sibl;
5244 *tokid = kid;
5246 else if (kid->op_type != OP_RV2AV && kid->op_type != OP_PADAV)
5247 bad_type(numargs, "array", PL_op_desc[type], kid);
5248 mod(kid, type);
5251 if (kid->op_type == OP_CONST &&
5252 (kid->op_private & OPpCONST_BARE))
5254 char *name = SvPVx(((SVOP*)kid)->op_sv, n_a);
5261 op_free(kid);
5262 kid = newop;
5263 kid->op_sibling = sibl;
5264 *tokid = kid;
5266 else if (kid->op_type != OP_RV2HV && kid->op_type != OP_PADHV)
5267 bad_type(numargs, "hash", PL_op_desc[type], kid);
5268 mod(kid, type);
5272 OP *newop = newUNOP(OP_NULL, 0, kid);
5273 kid->op_sibling = 0;
5274 linklist(kid);
5276 kid = newop;
5277 kid->op_sibling = sibl;
5278 *tokid = kid;
5282 if (kid->op_type != OP_GV && kid->op_type != OP_RV2GV) {
5283 if (kid->op_type == OP_CONST &&
5284 (kid->op_private & OPpCONST_BARE))
5287 gv_fetchpv(SvPVx(((SVOP*)kid)->op_sv, n_a), TRUE,
5290 kid == cLISTOPo->op_last)
5292 op_free(kid);
5293 kid = newop;
5295 else if (kid->op_type == OP_READLINE) {
5297 bad_type(numargs, "HANDLE", OP_DESC(o), kid);
5315 if (kid->op_type == OP_PADSV) {
5317 /*XXX*/ assert(av_fetch(PL_comppad_name, (kid->op_targ), FALSE));
5318 /*XXX*/ assert(*av_fetch(PL_comppad_name, (kid->op_targ), FALSE));
5320 name = PAD_COMPNAME_PV(kid->op_targ);
5328 else if (kid->op_type == OP_RV2SV
5335 else if (kid->op_type == OP_AELEM
5336 || kid->op_type == OP_HELEM)
5341 if ((op = ((BINOP*)kid)->op_first)) {
5344 kid->op_type == OP_AELEM ?
5381 mod(kid, type);
5393 kid->op_sibling = 0;
5394 kid = newUNOP(OP_RV2GV, flags, scalar(kid));
5395 kid->op_targ = targ;
5396 kid->op_private |= priv;
5398 kid->op_sibling = sibl;
5399 *tokid = kid;
5401 scalar(kid);
5404 mod(scalar(kid), type);
5408 tokid = &kid->op_sibling;
5409 kid = kid->op_sibling;
5412 if (kid)
5488 OP *kid;
5497 kid = cLISTOPo->op_first->op_sibling;
5498 for (k = cUNOPx(kid)->op_first; k; k = k->op_next) {
5499 kid = k;
5501 kid->op_next = (OP*)gwop;
5504 kid = cLISTOPo->op_first->op_sibling;
5506 list(kid);
5508 scalar(kid);
5512 kid = cLISTOPo->op_first->op_sibling;
5513 if (kid->op_type != OP_NULL)
5515 kid = kUNOP->op_first;
5522 gwop->op_other = LINKLIST(kid);
5524 kid->op_next = (OP*)gwop;
5526 kid = cLISTOPo->op_first->op_sibling;
5527 if (!kid || !kid->op_sibling)
5529 for (kid = kid->op_sibling; kid; kid = kid->op_sibling)
5530 mod(kid, OP_GREPSTART);
5539 OP *kid = cLISTOPo->op_first->op_sibling; /* get past pushmark */
5540 if (kid)
5541 kid = kid->op_sibling; /* get past "big" */
5542 if (kid && kid->op_type == OP_CONST)
5543 fbm_compile(((SVOP*)kid)->op_sv, 0);
5610 register OP *kid;
5612 kid = cLISTOPo->op_first;
5613 if (!kid) {
5615 kid = cLISTOPo->op_first;
5617 if (kid->op_type == OP_PUSHMARK)
5618 kid = kid->op_sibling;
5619 if (kid && o->op_flags & OPf_STACKED)
5620 kid = kid->op_sibling;
5621 else if (kid && !kid->op_sibling) { /* print HANDLE; */
5622 if (kid->op_type == OP_CONST && kid->op_private & OPpCONST_BARE) {
5624 kid = newUNOP(OP_RV2GV, OPf_REF, scalar(kid));
5625 cLISTOPo->op_first->op_sibling = kid;
5626 cLISTOPo->op_last = kid;
5627 kid = kid->op_sibling;
5631 if (!kid)
5640 OP *kid = cLISTOPo->op_first;
5642 if ((PL_opargs[kid->op_type] & OA_TARGLEX)
5643 && !(kid->op_flags & OPf_STACKED)
5645 && !(kid->op_private & OPpTARGET_MY))
5647 OP *kkid = kid->op_sibling;
5653 kid->op_targ = kkid->op_targ;
5656 kid->op_sibling = o->op_sibling; /* NULL */
5660 kid->op_private |= OPpTARGET_MY; /* Used for context settings */
5661 return kid;
5665 if (kid->op_type == OP_UNDEF) {
5666 OP *kkid = kid->op_sibling;
5671 kid->op_sibling = NULL;
5673 op_free(kid);
5690 OP *kid = cUNOPo->op_first;
5691 if (kid->op_type == OP_CONST) {
5782 SVOP *kid = (SVOP*)cUNOPo->op_first;
5784 if (kid->op_type == OP_CONST && (kid->op_private & OPpCONST_BARE)) {
5786 for (s = SvPVX(kid->op_sv); *s; s++) {
5790 --SvCUR(kid->op_sv);
5793 if (SvREADONLY(kid->op_sv)) {
5794 SvREADONLY_off(kid->op_sv);
5795 sv_catpvn(kid->op_sv, ".pm", 3);
5796 SvREADONLY_on(kid->op_sv);
5799 sv_catpvn(kid->op_sv, ".pm", 3);
5809 OP *kid = cUNOPo->op_first;
5813 append_elem(OP_LIST, kid,
5825 OP *kid;
5827 for (kid = cLISTOPo->op_first->op_sibling; kid; kid = kid->op_sibling)
5828 mod(kid, OP_LEAVESUBLV);
5846 OP* kid;
5848 kid = cLISTOPo->op_first->op_sibling; /* get past pushmark */
5849 if (kid && kid->op_sibling) {
5857 kid = cLISTOPo->op_first->op_sibling; /* get past pushmark */
5858 if (kid && kid->op_type == OP_RV2GV)
5859 kid->op_private &= ~HINT_STRICT_REFS;
5901 OP *kid = cUNOPx(firstkid)->op_first; /* get past null */
5903 if (kid->op_type == OP_SCOPE || kid->op_type == OP_LEAVE) {
5904 linklist(kid);
5905 if (kid->op_type == OP_SCOPE) {
5906 k = kid->op_next;
5907 kid->op_next = 0;
5909 else if (kid->op_type == OP_LEAVE) {
5911 op_null(kid); /* wipe out leave */
5912 kid->op_next = kid;
5915 if (k->op_next == kid)
5926 kid->op_next = 0; /* just disconnect the leave */
5931 kid = firstkid;
5934 kid = scalar(kid);
5935 kid->op_next = kid;
5938 kid->op_next = k;
5941 else if (kid->op_type == OP_RV2SV || kid->op_type == OP_PADSV)
5957 register OP *kid = cLISTOPo->op_first->op_sibling; /* get past pushmark */
5965 kid = kUNOP->op_first; /* get past null */
5966 if (kid->op_type != OP_SCOPE)
5968 kid = kLISTOP->op_last; /* get past scope */
5969 switch(kid->op_type) {
5977 k = kid; /* remember this node*/
5980 kid = kBINOP->op_first; /* get past cmp */
5983 kid = kUNOP->op_first; /* get past rv2sv */
5993 kid = k; /* back to cmp */
5996 kid = kBINOP->op_last; /* down to 2nd arg */
5999 kid = kUNOP->op_first; /* get past rv2sv */
6013 kid = cLISTOPo->op_first->op_sibling;
6014 cLISTOPo->op_first->op_sibling = kid->op_sibling; /* bypass old block */
6015 op_free(kid); /* then delete it */
6021 register OP *kid;
6026 kid = cLISTOPo->op_first;
6027 if (kid->op_type != OP_NULL)
6029 kid = kid->op_sibling;
6031 cLISTOPo->op_first = kid;
6032 if (!kid) {
6033 cLISTOPo->op_first = kid = newSVOP(OP_CONST, 0, newSVpvn(" ", 1));
6034 cLISTOPo->op_last = kid; /* There was only one element previously */
6037 if (kid->op_type != OP_MATCH || kid->op_flags & OPf_STACKED) {
6038 OP *sibl = kid->op_sibling;
6039 kid->op_sibling = 0;
6040 kid = pmruntime( newPMOP(OP_MATCH, OPf_SPECIAL), kid, Nullop);
6042 cLISTOPo->op_last = kid;
6043 cLISTOPo->op_first = kid;
6044 kid->op_sibling = sibl;
6047 kid->op_type = OP_PUSHRE;
6048 kid->op_ppaddr = PL_ppaddr[OP_PUSHRE];
6049 scalar(kid);
6050 if (ckWARN(WARN_REGEXP) && ((PMOP *)kid)->op_pmflags & PMf_GLOBAL) {
6055 if (!kid->op_sibling)
6058 kid = kid->op_sibling;
6059 scalar(kid);
6061 if (!kid->op_sibling)
6064 kid = kid->op_sibling;
6065 scalar(kid);
6067 if (kid->op_sibling)
6077 OP *kid = cLISTOPo->op_first->op_sibling;
6078 if (kid && kid->op_type == OP_MATCH) {
6269 OP* kid = o2;
6270 OP* sib = kid->op_sibling;
6271 kid->op_sibling = 0;
6272 o2 = newUNOP(OP_REFGEN, 0, kid);
6318 SVOP *kid = (SVOP*)cUNOPo->op_first;
6320 if (kid->op_type == OP_NULL)
6321 kid = (SVOP*)kid->op_sibling;
6322 if (kid && kid->op_type == OP_CONST &&
6323 (kid->op_private & OPpCONST_BARE))
6326 kid->op_private &= ~OPpCONST_STRICT;
6337 OP *kid = cLISTOPo->op_first;
6339 if (kid->op_type == OP_NULL)
6340 kid = kid->op_sibling;
6341 if (kid)
6342 kid->op_flags |= OPf_MOD;