Devel-Monitor
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Devel/Monitor/Trace.pm view on Meta::CPAN
package Devel::Monitor::Trace;
use strict;
use warnings;
use Devel::Monitor::Common qw(:all);
sub new {
my ($class) = @_;
my $self = {};
bless($self => $class);
$self->{_traceItems} = [];
return $self;
}
sub push {
my $self = shift;
my $varRef = shift;
my $source = shift;
my $trace = Devel::Monitor::TraceItem->new($varRef,$source);
push(@{$self->{_traceItems}},$trace);
}
sub pop {
my $self = shift;
pop @{$self->{_traceItems}};
}
sub getTraceItems {
return shift->{_traceItems};
}
sub getCircularPath {
my $self = shift;
my $tmp = '';
my $isFirst = 1;
foreach my $trace (@{$self->{_traceItems}}) {
if ($isFirst) {
$tmp .= $trace->getVarRef();
$isFirst = 0;
} else {
$tmp .= $trace->getSource() if $trace->getSource();
}
}
return $tmp;
}
sub dump {
my $self = shift;
my $i = 1;
foreach my $trace (@{$self->{_traceItems}}) {
if ($trace->getSource()) {
Devel::Monitor::Common::printMsg($i.' - Source : '.$trace->getSource()."\n".
' Item : '.$trace->getVarRef()."\n");
} else {
Devel::Monitor::Common::printMsg($i.' - Item : '.$trace->getVarRef()."\n");
}
$i++;
}
}
1;
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.734 second using v1.00-cache-2.02-grep-82fe00e-cpan-48ebf85a1963 )