use array instead of hash for key/val
This commit is contained in:
34
Info/MRO.pm
34
Info/MRO.pm
@@ -46,10 +46,10 @@ sub _walk_global_data {
|
|||||||
my $extract = (($leaf =~ m/^&/) ? 'symbol' : 'string');
|
my $extract = (($leaf =~ m/^&/) ? 'symbol' : 'string');
|
||||||
|
|
||||||
unshift @{ $results->{$token} },
|
unshift @{ $results->{$token} },
|
||||||
{ $class => $leaf->$extract }
|
[ $class => $leaf->$extract ]
|
||||||
# we can sometimes see the same package twice
|
# we can sometimes see the same package twice
|
||||||
unless scalar grep { $_ eq $class }
|
unless scalar grep { $_ eq $class }
|
||||||
map { keys %{ $_ } }
|
map { $_->[0] }
|
||||||
@{ $results->{$token} };
|
@{ $results->{$token} };
|
||||||
}
|
}
|
||||||
elsif ($tok->isa('PPI::Token::Symbol')) {
|
elsif ($tok->isa('PPI::Token::Symbol')) {
|
||||||
@@ -71,8 +71,8 @@ sub _print_global_data {
|
|||||||
|
|
||||||
my $first = 0;
|
my $first = 0;
|
||||||
while (my $classdef = splice(@defs, 0, 1)) {
|
while (my $classdef = splice(@defs, 0, 1)) {
|
||||||
my ($class) = keys %$classdef;
|
my $class = $classdef->[0];
|
||||||
my ($meth) = values %$classdef;
|
my $meth = $classdef->[1];
|
||||||
|
|
||||||
if ($first) {
|
if ($first) {
|
||||||
printf " %s ( %s )\n", $meth, $class;
|
printf " %s ( %s )\n", $meth, $class;
|
||||||
@@ -133,8 +133,8 @@ or C<%FUNCS> configuration. The data structure looks like:
|
|||||||
method_name => {
|
method_name => {
|
||||||
subs => [],
|
subs => [],
|
||||||
globals => [
|
globals => [
|
||||||
'Package::Name',
|
[ Package::Name => 'mib_leaf.0' ],
|
||||||
'Other::Package::Name',
|
[ Other::Package::Name => '1.3.6.1.4.1.9.2.1.58.0' ],
|
||||||
],
|
],
|
||||||
funcs => [],
|
funcs => [],
|
||||||
},
|
},
|
||||||
@@ -143,7 +143,9 @@ or C<%FUNCS> configuration. The data structure looks like:
|
|||||||
'Package::Name',
|
'Package::Name',
|
||||||
],
|
],
|
||||||
globals => [],
|
globals => [],
|
||||||
funcs => [],
|
funcs => [
|
||||||
|
[ Package::Name => 'mib_leaf_name' ],
|
||||||
|
],
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,14 +172,12 @@ sub all_methods {
|
|||||||
|
|
||||||
my $globals = globals( $class );
|
my $globals = globals( $class );
|
||||||
foreach my $key (keys %$globals) {
|
foreach my $key (keys %$globals) {
|
||||||
$results->{$key}->{globals} = [ map { keys %$_ }
|
$results->{$key}->{globals} = $globals->{$key};
|
||||||
@{ $globals->{$key} } ];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
my $funcs = funcs( $class );
|
my $funcs = funcs( $class );
|
||||||
foreach my $key (keys %$funcs) {
|
foreach my $key (keys %$funcs) {
|
||||||
$results->{$key}->{funcs} = [ map { keys %$_ }
|
$results->{$key}->{funcs} = $funcs->{$key};
|
||||||
@{ $funcs->{$key} } ];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach my $key (keys %$results) {
|
foreach my $key (keys %$results) {
|
||||||
@@ -241,11 +241,11 @@ The data structure looks like:
|
|||||||
|
|
||||||
{
|
{
|
||||||
method_name => [
|
method_name => [
|
||||||
{ Package::Name => 'mib_leaf_name' },
|
[ Package::Name => 'mib_leaf_name' ],
|
||||||
{ Other::Package::Name => '1.3.6.1.4.1.9.2.1.58.0' },
|
[ Other::Package::Name => '1.3.6.1.4.1.9.2.1.58.0' ],
|
||||||
],
|
],
|
||||||
other_method_name => [
|
other_method_name => [
|
||||||
{ Package::Name => 'mib_leaf.0' },
|
[ Package::Name => 'mib_leaf.0' ],
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -278,11 +278,11 @@ The data structure looks like:
|
|||||||
|
|
||||||
{
|
{
|
||||||
method_name => [
|
method_name => [
|
||||||
{ Package::Name => '&subroutine' },
|
[ Package::Name => '&subroutine' ],
|
||||||
{ Other::Package::Name => '&Other::Package::subroutine' },
|
[ Other::Package::Name => '&Other::Package::subroutine' ],
|
||||||
],
|
],
|
||||||
other_method_name => [
|
other_method_name => [
|
||||||
{ Package::Name => '&subroutine' },
|
[ Package::Name => '&subroutine' ],
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user