|  line  | 
 l  | 
 !l&&r  | 
 !l&&!r  | 
 condition  | 
 
| 
45
 | 
 244  | 
 48  | 
 0  | 
 $$self{'dist'} ||= do {
	my $dist;
if (my $struct = $$self{'struct'}) {
	require Dist::Metadata::Struct;
$dist = 'Dist::Metadata::Struct'->new(%$struct);
}
elsif (my $dir = $$self{'dir'}) {
	require Dist::Metadata::Dir;
$dist = 'Dist::Metadata::Dir'->new('dir', $dir);
}
elsif (my $file = $$self{'file'}) {
	require Dist::Metadata::Archive;
$dist = 'Dist::Metadata::Archive'->new('file', $file);
}
else {
	croak('No dist format parameters found!');
};
$dist
}  | 
 
| 
73
 | 
 50  | 
 0  | 
 0  | 
 ref $self || $self  | 
 
| 
136
 | 
 35  | 
 5  | 
 0  | 
 $meta ||= $self->meta_from_struct($self->determine_metadata)  | 
 
| 
225
 | 
 108  | 
 39  | 
 0  | 
 $$self{'meta'} ||= $self->load_meta  | 
 
| 
246
 | 
 1  | 
 12  | 
 0  | 
 $$opts{'provides'} || $self->provides  | 
 
| 
258
 | 
 0  | 
 22  | 
 0  | 
 $$digest_cache{$$data{'file'}}{$checksum} ||= $self->dist->file_checksum($$data{'file'}, $checksum)  |