Devel-Monitor
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
t/Devel-Monitor.t view on Meta::CPAN
| / \/ \
| c<---d h<--|
| / \ |
e i--|
Note : Vertical lines goes up
# Starting with _classB
a,b,c,e,a (Loop on a)
a,b,c,e,b (Loop on b)
a,b,a (Loop on a)
a,b,d,e,a (Loop on a)
a,b,d,e,b (Loop on b)
# Starting with A1
a,b,c,e,a (Loop on a)
a,b,c,e,b (Loop on b)
a,b,a (Loop on a)
a,b,d,e,a (Loop on a)
a,b,d,e,b (Loop on b)
# Starting with A2
a,g,d,c,e,a (Loop on a)
a,g,d,c,e,b,c (Loop on c)
a,g,d,c,e,b,a (Loop on a)
a,g,d,c,e,b,d,c (Loop on c)
a,g,h,i,h (Loop on h)
=cut
sub testPCR {
my $a = ClassA->new();
my $b = $a->getClassB();
my ($c, $d, @e, @f, %g, $h, $i);
$a->{A1} = \$b;
$a->{A2} = \%g;
$b->{B1} = \$c;
$b->{B2} = \$d;
$c = \@e;
$e[0] = \$a;
$e[1] = \$b;
$d = \$c;
$g{G1} = \$d;
$g{G2} = \$h;
$h = \$i;
$i = \$h;
print_circular_ref(\$a);
return 1;
}
#--------------------------------------------------------------------
# ClassA (Just a class with the "printSomething" method)
#--------------------------------------------------------------------
package ClassA;
use strict;
use warnings;
use Scalar::Util qw(weaken isweak);
sub new {
my ($class) = @_;
my $self = {};
bless($self => $class);
return $self;
}
sub getClassB {
my $self = shift;
$self->{_classB} = ClassB->new($self);
return $self->{_classB};
}
sub printSomething {
print "Something\n";
}
#--------------------------------------------------------------------
# ClassB (A class that got a "parent" which is a ClassA instance)
#--------------------------------------------------------------------
package ClassB;
use strict;
use warnings;
use Scalar::Util qw(weaken isweak);
sub new {
my ($class, $classA) = @_;
my $self = {};
bless($self => $class);
$self->setClassA($classA);
return $self;
}
sub setClassA {
my ($self, $classA) = @_;
$self->{_classA} = $classA;
}
sub getClassA {
return shift->{_classA};
}
view all matches for this distributionview release on metacpan - search on metacpan
( run in 3.581 seconds using v1.00-cache-2.02-grep-82fe00e-cpan-48ebf85a1963 )