/usr/share/perl5/Data/Dump/FilterContext.pm is in libdata-dump-perl 1.23-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | package Data::Dump::FilterContext;
sub new {
my($class, $obj, $oclass, $type, $ref, $pclass, $pidx, $idx) = @_;
return bless {
object => $obj,
class => $ref && $oclass,
reftype => $type,
is_ref => $ref,
pclass => $pclass,
pidx => $pidx,
idx => $idx,
}, $class;
}
sub object_ref {
my $self = shift;
return $self->{object};
}
sub class {
my $self = shift;
return $self->{class} || "";
}
*is_blessed = \&class;
sub reftype {
my $self = shift;
return $self->{reftype};
}
sub is_scalar {
my $self = shift;
return $self->{reftype} eq "SCALAR";
}
sub is_array {
my $self = shift;
return $self->{reftype} eq "ARRAY";
}
sub is_hash {
my $self = shift;
return $self->{reftype} eq "HASH";
}
sub is_code {
my $self = shift;
return $self->{reftype} eq "CODE";
}
sub is_ref {
my $self = shift;
return $self->{is_ref};
}
sub container_class {
my $self = shift;
return $self->{pclass} || "";
}
sub container_self {
my $self = shift;
return "" unless $self->{pclass};
my $idx = $self->{idx};
my $pidx = $self->{pidx};
return Data::Dump::fullname("self", [@$idx[$pidx..(@$idx - 1)]]);
}
sub expr {
my $self = shift;
my $top = shift || "var";
$top =~ s/^\$//; # it's always added by fullname()
my $idx = $self->{idx};
return Data::Dump::fullname($top, $idx);
}
sub object_isa {
my($self, $class) = @_;
return $self->{class} && $self->{class}->isa($class);
}
sub container_isa {
my($self, $class) = @_;
return $self->{pclass} && $self->{pclass}->isa($class);
}
sub depth {
my $self = shift;
return scalar @{$self->{idx}};
}
1;
|