use array instead of hash for key/val

This commit is contained in:
Oliver Gorwits
2014-06-19 17:04:22 +01:00
parent 72c223f72e
commit 18602855da

View File

@@ -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' ],
], ],
} }