Skip to content

Commit

Permalink
remove dead code from refwalk
Browse files Browse the repository at this point in the history
  • Loading branch information
shadowcat-mst committed Dec 12, 2008
1 parent e775a91 commit 10d8aff
Showing 1 changed file with 2 additions and 70 deletions.
72 changes: 2 additions & 70 deletions t/refwalk.t
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ use strict;
use warnings;
use Test::More qw(no_plan);

use MooseX::Antlers::Recorder;

{
my $built;

Expand Down Expand Up @@ -69,83 +71,13 @@ sub setup_stuff {
&build_3({ three => { sub3 => $sub3 } });

($x, $y, $z) = @_;
}

# we start off with an array of @_s, so each one looks like
# [ { foo => $sub } ]
# so we need to say (if this is the first entry)
# $seen{$sub} = [ 0, '$VAR1->[0]->{foo}' ];
#
#

sub process_log {
my ($log, $final) = @_;
my %seen;
my $log_index = 0;
foreach my $entry (@$log) {
my $dd = Data::Dumper->new([$entry]);
$dd->Dump;
my @seen = $dd->Seen;
while (my ($name, $value, $whut) = splice(@seen, 0, 3)) {
$seen{$value} = [ $log_index, $name ];
}
$log_index++;
}

my @save;
my $value_index = 0;

my $final_dump = do {
my $_dump = Data::Dumper->can('_dump');
local *Data::Dumper::_dump = sub {
my ($s, $val, $name) = @_;
if (ref($val) eq 'CODE') {
if (my $seen = $seen{$val}) {
my $val_str = "\$values[$value_index]";
push(@{$save[$seen->[0]]}, "$val_str = ".$seen->[1]);
$value_index++;
return $val_str;
} else {
my ($pack, $name) = Class::MOP::get_code_info($val);
if ($name !~ /__ANON__/) {
return "\\&${pack}::${name}";
}
}
warn "Coderef ${val} not recognised, only superman can save us!";
}
return $_dump->(@_);
};
local $Data::Dumper::Useperl = 1;
Data::Dumper->new([ $final ])->Dump;
};
warn Dumper(\@save);
#warn $final_dump;
my @values;
my @save_subs = map {
if (defined $_) {
do {
my $code = eval q!sub {
my $VAR1 = \@_;
!.join(";\n", @$_).q!
};!;
die $@ if $@;
$code;
};
} else {
sub {};
}
} @save;
my $dump_sub = eval qq!sub {my ${final_dump}}!;
die $@ if $@;
return (\@save_subs, $dump_sub);
}

setup_stuff(10, 11, 12);

is_deeply(do_stuff(), [ 10, 11, 12 ], "captures ok");

use MooseX::Antlers::Recorder;

my $rec = MooseX::Antlers::Recorder->new;

$rec->instrument_routines(map { "main::build_$_" } qw(1 2 3));
Expand Down

0 comments on commit 10d8aff

Please sign in to comment.