Devel::MAT::Tool::Inrefs(3)

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>