Scroll to navigation

Devel::MAT::Tool::Inrefs(3pm) User Contributed Perl Documentation Devel::MAT::Tool::Inrefs(3pm)

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:

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

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>

2024-03-20 perl v5.38.2