NAME

Devel::MAT::Tool::Inrefs - annotate which SVs are referred to by others

DESCRIPTION

This Devel::MAT tool annotates each SV with back-references from other SVs that refer to it. It follows the outrefs method of every heap SV and annotates the referred SVs with back-references pointing back to the SVs that refer to them.

SV METHODS

This tool adds the following SV methods.

inrefs

@refs = $sv->inrefs

Returns a list of Reference objects for each of the SVs that refer to this one. This is formed by the inverse mapping along the SV graph from outrefs.

inrefs_strong

inrefs_weak

inrefs_direct

inrefs_indirect

inrefs_inferred

@refs = $sv->inrefs_strong

@refs = $sv->inrefs_weak

@refs = $sv->inrefs_direct

@refs = $sv->inrefs_indirect

@refs = $sv->inrefs_inferred

Returns lists of Reference objects filtered by type, analogous to the various outrefs_* methods.

COMANDS

inrefs

pmat> inrefs defstash
s  the hash  GLOB(%*) at 0x556e47243e40

Shows the incoming references that refer to a given SV.

Takes the following named options:

--weak

Include weak direct references in the output (by default only strong direct ones will be included).

--all

Include both weak and indirect references in the output.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>