147 |
next if $filter && $self->filter_class && $class !~ m{$filter}; |
next if $filter && $self->filter_class && $class !~ m{$filter}; |
148 |
|
|
149 |
if ( $self->show_includes && defined $data->{includes} ) { |
if ( $self->show_includes && defined $data->{includes} ) { |
150 |
|
|
151 |
|
my $edge; |
152 |
|
|
153 |
foreach my $type ( keys %{ $data->{includes} } ) { |
foreach my $type ( keys %{ $data->{includes} } ) { |
154 |
foreach my $package ( @{ $data->{includes}->{$type} } ) { |
foreach my $package ( @{ $data->{includes}->{$type} } ) { |
155 |
next if $filter && $self->filter_includes && $package !~ m{$filter}; |
next if $filter && $self->filter_includes && $package !~ m{$filter}; |
156 |
warn "# $class\t$type\t$package\n"; |
warn "# $class\t$type\t$package\n"; |
157 |
$g->add_edge( $class => $package, label => $type, color => 'blue' ); |
my $e = "$class $package"; |
158 |
|
if ( $edge->{$e} ) { |
159 |
|
$edge->{$e}->{style} = 'dashed'; |
160 |
|
$edge->{$e}->{label} .= "\n$type"; |
161 |
|
} else { |
162 |
|
$edge->{$e} = { |
163 |
|
color => 'blue', |
164 |
|
label => $type, |
165 |
|
}; |
166 |
|
} |
167 |
$count->{$class}++; |
$count->{$class}++; |
168 |
$count->{$package}++; |
$count->{$package}++; |
169 |
} |
} |
170 |
} |
} |
171 |
|
|
172 |
|
foreach my $e ( keys %$edge ) { |
173 |
|
my ($c,$p) = split(/\s/, $e); |
174 |
|
$g->add_edge( $c => $p, %{ $edge->{$e} } ) |
175 |
|
} |
176 |
|
|
177 |
} |
} |
178 |
|
|
179 |
if ( $self->show_roles && defined $data->{roles} ) { |
if ( $self->show_roles && defined $data->{roles} ) { |