dump_sub(gv);
if (GvFORM(gv))
dump_form(gv);
- if (HeKEY(entry)[HeKLEN(entry)-1] == ':' &&
- (hv = GvHV(gv)) && HvNAME(hv) && hv != PL_defstash)
+ if (HeKEY(entry)[HeKLEN(entry)-1] == ':'
+ && (hv = GvHV(gv)) && hv != PL_defstash)
dump_packsubs(hv); /* nested package */
}
}
ch = '?';
else
ch = '/';
- if (pm->op_pmregexp)
+ if (PM_GETRE(pm))
Perl_dump_indent(aTHX_ level, file, "PMf_PRE %c%s%c%s\n",
- ch, pm->op_pmregexp->precomp, ch,
+ ch, PM_GETRE(pm)->precomp, ch,
(pm->op_private & OPpRUNTIME) ? " (RUNTIME)" : "");
else
Perl_dump_indent(aTHX_ level, file, "PMf_PRE (RUNTIME)\n");
Perl_dump_indent(aTHX_ level, file, "PMf_REPL = ");
op_dump(pm->op_pmreplroot);
}
- if (pm->op_pmflags || (pm->op_pmregexp && pm->op_pmregexp->check_substr)) {
+ if (pm->op_pmflags || (PM_GETRE(pm) && PM_GETRE(pm)->check_substr)) {
SV *tmpsv = newSVpvn("", 0);
if (pm->op_pmdynflags & PMdf_USED)
sv_catpv(tmpsv, ",USED");
sv_catpv(tmpsv, ",TAINTED");
if (pm->op_pmflags & PMf_ONCE)
sv_catpv(tmpsv, ",ONCE");
- if (pm->op_pmregexp && pm->op_pmregexp->check_substr
- && !(pm->op_pmregexp->reganch & ROPT_NOSCAN))
+ if (PM_GETRE(pm) && PM_GETRE(pm)->check_substr
+ && !(PM_GETRE(pm)->reganch & ROPT_NOSCAN))
sv_catpv(tmpsv, ",SCANFIRST");
- if (pm->op_pmregexp && pm->op_pmregexp->check_substr
- && pm->op_pmregexp->reganch & ROPT_CHECK_ALL)
+ if (PM_GETRE(pm) && PM_GETRE(pm)->check_substr
+ && PM_GETRE(pm)->reganch & ROPT_CHECK_ALL)
sv_catpv(tmpsv, ",ALL");
if (pm->op_pmflags & PMf_SKIPWHITE)
sv_catpv(tmpsv, ",SKIPWHITE");
*/
static struct { char type; char *name; } magic_names[] = {
- PERL_MAGIC_sv, "sv(\\0)",
- PERL_MAGIC_arylen, "arylen(#)",
- PERL_MAGIC_glob, "glob(*)",
- PERL_MAGIC_pos, "pos(.)",
- PERL_MAGIC_backref, "backref(<)",
- PERL_MAGIC_overload, "overload(A)",
- PERL_MAGIC_bm, "bm(B)",
- PERL_MAGIC_regdata, "regdata(D)",
- PERL_MAGIC_env, "env(E)",
- PERL_MAGIC_isa, "isa(I)",
- PERL_MAGIC_dbfile, "dbfile(L)",
- PERL_MAGIC_tied, "tied(P)",
- PERL_MAGIC_sig, "sig(S)",
- PERL_MAGIC_uvar, "uvar(U)",
- PERL_MAGIC_overload_elem, "overload_elem(a)",
- PERL_MAGIC_overload_table, "overload_table(c)",
- PERL_MAGIC_regdatum, "regdatum(d)",
- PERL_MAGIC_envelem, "envelem(e)",
- PERL_MAGIC_fm, "fm(f)",
- PERL_MAGIC_regex_global, "regex_global(g)",
- PERL_MAGIC_isaelem, "isaelem(i)",
- PERL_MAGIC_nkeys, "nkeys(k)",
- PERL_MAGIC_dbline, "dbline(l)",
- PERL_MAGIC_mutex, "mutex(m)",
- PERL_MAGIC_collxfrm, "collxfrm(o)",
- PERL_MAGIC_tiedelem, "tiedelem(p)",
- PERL_MAGIC_tiedscalar, "tiedscalar(q)",
- PERL_MAGIC_qr, "qr(r)",
- PERL_MAGIC_sigelem, "sigelem(s)",
- PERL_MAGIC_taint, "taint(t)",
- PERL_MAGIC_vec, "vec(v)",
- PERL_MAGIC_substr, "substr(x)",
- PERL_MAGIC_defelem, "defelem(y)",
- PERL_MAGIC_ext, "ext(~)",
- 0, 0 /* this null string terminates the list */
+ { PERL_MAGIC_sv, "sv(\\0)" },
+ { PERL_MAGIC_arylen, "arylen(#)" },
+ { PERL_MAGIC_glob, "glob(*)" },
+ { PERL_MAGIC_pos, "pos(.)" },
+ { PERL_MAGIC_backref, "backref(<)" },
+ { PERL_MAGIC_overload, "overload(A)" },
+ { PERL_MAGIC_bm, "bm(B)" },
+ { PERL_MAGIC_regdata, "regdata(D)" },
+ { PERL_MAGIC_env, "env(E)" },
+ { PERL_MAGIC_isa, "isa(I)" },
+ { PERL_MAGIC_dbfile, "dbfile(L)" },
+ { PERL_MAGIC_tied, "tied(P)" },
+ { PERL_MAGIC_sig, "sig(S)" },
+ { PERL_MAGIC_uvar, "uvar(U)" },
+ { PERL_MAGIC_overload_elem, "overload_elem(a)" },
+ { PERL_MAGIC_overload_table, "overload_table(c)" },
+ { PERL_MAGIC_regdatum, "regdatum(d)" },
+ { PERL_MAGIC_envelem, "envelem(e)" },
+ { PERL_MAGIC_fm, "fm(f)" },
+ { PERL_MAGIC_regex_global, "regex_global(g)" },
+ { PERL_MAGIC_isaelem, "isaelem(i)" },
+ { PERL_MAGIC_nkeys, "nkeys(k)" },
+ { PERL_MAGIC_dbline, "dbline(l)" },
+ { PERL_MAGIC_mutex, "mutex(m)" },
+ { PERL_MAGIC_collxfrm, "collxfrm(o)" },
+ { PERL_MAGIC_tiedelem, "tiedelem(p)" },
+ { PERL_MAGIC_tiedscalar, "tiedscalar(q)" },
+ { PERL_MAGIC_qr, "qr(r)" },
+ { PERL_MAGIC_sigelem, "sigelem(s)" },
+ { PERL_MAGIC_taint, "taint(t)" },
+ { PERL_MAGIC_vec, "vec(v)" },
+ { PERL_MAGIC_substr, "substr(x)" },
+ { PERL_MAGIC_defelem, "defelem(y)" },
+ { PERL_MAGIC_ext, "ext(~)" },
+ /* this null string terminates the list */
+ { 0, 0 },
};
void
Perl_dump_indent(aTHX_ level, file, "%s = 0x%"UVxf, name, PTR2UV(sv));
if (sv && GvNAME(sv)) {
PerlIO_printf(file, "\t\"");
- if (GvSTASH(sv) && HvNAME(GvSTASH(sv)))
+ if (GvSTASH(sv))
PerlIO_printf(file, "%s\" :: \"", HvNAME(GvSTASH(sv)));
PerlIO_printf(file, "%s\"\n", GvNAME(sv));
}
if (GvSHARED(sv)) sv_catpv(d, "SHARED,");
if (GvASSUMECV(sv)) sv_catpv(d, "ASSUMECV,");
if (GvIN_PAD(sv)) sv_catpv(d, "IN_PAD,");
+ if (flags & SVpad_OUR) sv_catpv(d, "OUR,");
if (GvIMPORTED(sv)) {
sv_catpv(d, "IMPORT");
if (GvIMPORTED(sv) == GVf_IMPORTED)
sv_catpv(d, " ),");
}
}
- /* FALL THROGH */
+ /* FALL THROUGH */
default:
if (SvEVALED(sv)) sv_catpv(d, "EVALED,");
if (SvIsUV(sv)) sv_catpv(d, "IsUV,");
if (SvTAIL(sv)) sv_catpv(d, "TAIL,");
if (SvVALID(sv)) sv_catpv(d, "VALID,");
break;
+ case SVt_PVMG:
+ if (flags & SVpad_TYPED)
+ sv_catpv(d, "TYPED,");
+ break;
}
if (*(SvEND(d) - 1) == ',')